Novena sesión del taller de creación de videojuegos con Unity

En la novena sesión, reestructuramos parte del proyecto en Unity, retocamos algunos scripts y creamos nuevas escenas para separar los niveles del menú principal y el menú de selección de nivel.

A continuación os dejamos el vídeo que se ha estrenado hoy viernes 10 de julio.

Podéis descargar los dos nuevos scripts aquí:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class LanguageManager : MonoBehaviour

{

    public static int MainLanguage = 0; // Variable para marcar el idioma del juego

    // 0 = catalán, 1 = castellano, 2 = inglés

    [SerializeField] MultilanguageText[] TextsToChange;

    [SerializeField] PlayerPrefsSaver PlayerSaver;

 

    private void Awake()

    {

        PlayerSaver.LoadGame();

        MainLanguage = PlayerSaver.getMainLanguage();

    }

 

    public void ChangeLanguage(int languageIndex)

    {

        MainLanguage = languageIndex;

        PlayerSaver.setMainLanguage(MainLanguage);

        PlayerSaver.SaveGame();

        foreach (MultilanguageText text in TextsToChange)

        {

            text.UpdateText();

        }

       

    }

}

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class PauseManager : MonoBehaviour

{

    [SerializeField] GameObject PanelPausa;

    [SerializeField] AudioManager MiAudioManager; // Referencia al AudioManager

    // Función para pausar el juego

    public void PausarJuego()

    {

        PanelPausa.SetActive(true);

        // Para pausar el juego, hemos de poner Time.timeScale a 0. Esto pausará todos los procesos que usen Time.

        if (Time.timeScale == 0) { return; } // Si la escala de tiempo es 0, no hacemos nada -> return sale de la función.

        Time.timeScale = 0; // Si no hemos salido de la función, ejecutamos ésta línea y cambiamos la timeScale a 0.

        MiAudioManager.PlayTheme(“theme_Pause”); // Le damos al play del tema con el nombre “theme_Pausa”. 

    }

 

    // Función para continuar el juego

    public void ContinuarJuego()

    {

        PanelPausa.SetActive(false);

        if (Time.timeScale == 1) { return; } // Si la escala de tiempo es 1, no hacemos nada -> return sale de la función.

        Time.timeScale = 1; // Si no hemos salido de la función, ejecutamos ésta línea y cambiamos la timeScale a 1.

        MiAudioManager.PlayTheme(“theme_Game”); // Reproducimos el tema del juego

    }

}

¡Esperamos que os sea de ayuda! ¡Nos vemos en la próxima sesión!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Pin It on Pinterest

×