Inheritance: MonoBehaviour
Exemple #1
0
        public void SetUp()
        {
            controlador          = new GameObject("ControladorJuego").AddComponent <ControladorJuego>();
            controlador.Enemigos = new List <Enemigo>();
            controlador.ModoTest = true;

            pantalla             = new GameObject("PantallaJuego").AddComponent <PantallaJuego>();
            controlador.Pantalla = pantalla;

            // Instancio el prefab del Personaje
            prefabPersonaje       = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/GameObjects/Prefabs/Entidades/Personaje.prefab");
            prefabHitboxPersonaje = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/GameObjects/Prefabs/Hitboxes/Hitbox_Personaje.prefab");
            GameObject personajeGO = GameObject.Instantiate(prefabPersonaje, new Vector3(69, 420), Quaternion.identity);

            personaje             = personajeGO.GetComponent <Personaje>();
            personaje.Hitbox      = GameObject.Instantiate(prefabHitboxPersonaje, new Vector3(69, 420), Quaternion.identity);
            personaje.Estados     = new List <EstadoPersonaje>();
            controlador.Personaje = personaje;

            // Instancio el prefab del Murciélago
            prefabMurciélago          = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/GameObjects/Prefabs/Entidades/Murciélago.prefab");
            prefabHitboxEnemigoNormal = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/GameObjects/Prefabs/Hitboxes/Hitbox_EnemigoTamañoNormal.prefab");
            GameObject enemigoGO = GameObject.Instantiate(prefabMurciélago, new Vector3(-69, 420), Quaternion.identity);

            enemigo         = enemigoGO.GetComponent <Murciélago>();
            enemigo.Hitbox  = GameObject.Instantiate(prefabHitboxEnemigoNormal, new Vector3(-69, 420), Quaternion.identity);
            enemigo.Estados = new List <EstadoEnemigo>();
            controlador.Enemigos.Add(enemigo);

            prefabEscalera = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/GameObjects/Prefabs/Mapa/Escalera.prefab");
            escaleraGO     = GameObject.Instantiate(prefabEscalera, new Vector3(60, 42), Quaternion.identity);
        }
Exemple #2
0
 bool siguiente = false; //Controla el salto al siguiente estado
 // ## CONSTRUCTORA ##
 public Dia1Stado15(ControladorJuego controlador) : base(controlador)
 {
     imgEscribe  = controlador.ImagenEscribir;
     textEscribe = controlador.TextoEscribir;
     text        = textEscribe.GetComponent <Text>();
     m_time      = 0;
 }
Exemple #3
0
 void FindObjects()
 {
     objetoSingleton = GameObject.Find("ObjetoSingleton");
     objetoSingleton.GetComponent <MusicSingleton>().PlayTimeTrial();
     gameController = GameObject.Find("ControladorJuego").GetComponent <ControladorJuego>();
     darkenScreen   = GameObject.Find("OscurecerPantalla");
 }
Exemple #4
0
 // ## CONSTRUCTORA ##
 public Dia1Stado18(ControladorJuego controlador) : base(controlador)
 {
     quien       = controlador.adso;
     abad        = controlador.abad;
     destinoAbad = controlador.abadMisa;
     destino     = controlador.AdsoMisa;
 }
    private void Awake()
    {
        GameObject ga = GameObject.FindWithTag("GameController");

        controlador = ga.GetComponent <ControladorJuego>();
        vidaInicial = vida;
    }
    IEnumerator Transicion()
    {
        if (SceneManager.GetSceneByName("Tutorial").isLoaded)
        {
            bandera.niv1 = true;
        }
        else if (SceneManager.GetSceneByName("Juego").isLoaded)
        {
            bandera.niv2 = true;
        }
        else if (SceneManager.GetSceneByName("Juego2").isLoaded)
        {
            bandera.niv3 = true;
        }

        juego = FindObjectOfType <ControladorJuego>();
        //ali = FindObjectOfType<ContadorAlimentos>();
        //juego.transicion.SetTrigger("end");
        yield return(new WaitForSeconds(0.2f));

        if (bandera.niv2 == true && bandera.niv1 == true)
        {
            SceneManager.LoadScene("Felicitaciones2");
        }
        else
        {
            juego.Felicitaciones();
        }
    }
Exemple #7
0
    IEnumerator Transicion()
    {
        juego = FindObjectOfType <ControladorJuego>();
        // juego.transicion.SetTrigger("end");
        yield return(new WaitForSeconds(0.2f));

        juego.GameOver();
    }
Exemple #8
0
 // ## CONSTRUCTORA ##
 public Dia1Stado8(ControladorJuego controlador) : base(controlador)
 {
     m_time      = 0;
     quien       = controlador.abad;
     destino     = controlador.celdaAbadEstado9Dia1;
     imgEscribe  = controlador.ImagenEscribir;
     textEscribe = controlador.TextoEscribir;
     text        = textEscribe.GetComponent <Text>();
 }
    private void Awake()
    {
        textoVida = GameObject.FindWithTag("text_salud").GetComponent <Text>();
        GameObject ga = GameObject.FindWithTag("GameController");

        controlador = ga.GetComponent <ControladorJuego>();


        rb = GetComponent <Rigidbody2D>();
    }
Exemple #10
0
 // ## CONSTRUCTORA ##
 public DiaM1Nona(ControladorJuego controlador) : base(controlador)      //Constructora
 {
     severino       = controlador.Severino;
     celdaSeverino1 = controlador.SeverNona1;
     celdaSeverino2 = controlador.SeverNona2;
     horas          = controlador.TextoHoras;
     dias           = controlador.TextoDias;
     textoHoras     = horas.GetComponent <Text>();
     textoDias      = dias.GetComponent <Text>();
 }
 public void setDelete()
 {
     delete++;
     tEliminados.text = string.Format(sFormat, delete, total);
     if (delete >= total)
     {
         ControladorJuego.iniciandoJuego = false;
         ControladorJuego.iniciarjuego   = false;
         ControladorJuego.reiniciarJuego();
     }
 }
Exemple #12
0
    public void ejecutarGol(ControladorJuego juego)
    {
        // Realiza la acción correspondiente
        juego.managerGUI.setearGoles(juego.golesJugador1, juego.golesJugador2);

        if (juego.golesJugador1 == 10 || juego.golesJugador2 == 10)
        {
            // Juego terminado
            juego.cambiarEstado(new EstadoFin(juego));
            juego.resetearDisco(0.0f);
        }
    }
Exemple #13
0
 private void Awake()
 {
     if (ctrlJuego == null)
     {
         ctrlJuego = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         if (ctrlJuego != this)
         {
             Destroy(gameObject);
         }
     }
 }
 void Start()
 {
     Time.timeScale = 0;
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Destroy(gameObject);
     }
     timer = 3;
     vida  = 3;
     AtualizarHUD();
     finDeJuego.SetActive(false);
 }
    private void Update()
    {
        if (ControladorJuego.iniciarjuego)
        {
            totalTime -= Time.deltaTime;
            Debug.Log("Time->" + totalTime);

            if (totalTime <= 0.0f)
            {
                ControladorJuego.iniciandoJuego = false;
                ControladorJuego.iniciarjuego   = false;
                ControladorJuego.reiniciarJuego();
            }
            else
            {
                setTime();
            }
        }
    }
Exemple #16
0
 public Dia1(ControladorJuego controlador) : base(controlador)
 {
     m_estados.Add(new Dia1Stado0(this.m_controlador));
     m_estados.Add(new Dia1Stado1(this.m_controlador));
     m_estados.Add(new Dia1Stado2(this.m_controlador));
     m_estados.Add(new Dia1Stado3(this.m_controlador));
     m_estados.Add(new Dia1Stado4(this.m_controlador));
     m_estados.Add(new Dia1Stado5(this.m_controlador));
     m_estados.Add(new Dia1Stado6(this.m_controlador));
     m_estados.Add(new Dia1Stado7(this.m_controlador));
     m_estados.Add(new Dia1Stado8(this.m_controlador));
     m_estados.Add(new Dia1Stado9(this.m_controlador));
     m_estados.Add(new Dia1Stado10(this.m_controlador));
     m_estados.Add(new Dia1Stado11(this.m_controlador));
     m_estados.Add(new Dia1Stado12(this.m_controlador));
     m_estados.Add(new Dia1Stado13(this.m_controlador));
     m_estados.Add(new Dia1Stado14(this.m_controlador));
     m_estados.Add(new Dia1Stado15(this.m_controlador));
     m_estados.Add(new Dia1Stado16(this.m_controlador));
     m_estados.Add(new Dia1Stado17(this.m_controlador));
     m_estados.Add(new Dia1Stado18(this.m_controlador));
 }
        public IEnumerator OverlappedEnemies()
        {
            // Setup
            SceneManager.LoadScene("Bug_OverlappedEnemies");

            // Espero que cargue la escena
            yield return(null);

            ControladorJuego controlador = GameObject.Find("ControladorJuego").GetComponent <ControladorJuego>();

            // Espero que se instancien todos los elementos
            yield return(null);

            // Hago que sea el turno de los enemigos
            controlador.FaseActual = ControladorJuego.FasesTurno.TURNO_ENEMIGOS;

            // Espero a que terminen las animaciones
            yield return(new WaitForSeconds(1));

            // Verifico cuántos enemigos hay en el casillero libre
            Vector3 posicionAControlar = new Vector3(-4, 2);
            Vector3 puntoA             = posicionAControlar + new Vector3(0.25f, 0.25f);
            Vector3 puntoB             = posicionAControlar + new Vector3(-0.25f, -0.25f);

            List <Collider2D> resultados = new List <Collider2D>();
            ContactFilter2D   filtro     = new ContactFilter2D();

            filtro.layerMask = 8;

            int cantidadDeEnemigos = Physics2D.OverlapArea(puntoA, puntoB, filtro, resultados);

            // Espero a que pase un ciclo de Unity (para detectar la colisión)
            yield return(null);

            // Verifico si el bug sigue ocurriendo
            Assert.AreEqual(1, cantidadDeEnemigos);
        }
    Entity quien; //Quien se mueve

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado3(ControladorJuego controlador)
        : base(controlador)
    {
        m_time = 0;
        quien = controlador.abad;
        destino = controlador.celdaAbadEstado3Dia1;
    }
    GameObject textEscribe; //El objeto del controlador del texto

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado2(ControladorJuego controlador)
        : base(controlador)
    {
        imgEscribe = controlador.ImagenEscribir;
        textEscribe = controlador.TextoEscribir;
        text = textEscribe.GetComponent<Text>();
        m_time = 0;
    }
    Entity quien; //Quien se mueve

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado18(ControladorJuego controlador)
        : base(controlador)
    {
        quien = controlador.adso;
        abad = controlador.abad;
        destinoAbad = controlador.abadMisa;
        destino = controlador.AdsoMisa;
    }
    bool siguiente = false; //Controla el salto al siguiente estado

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado16(ControladorJuego controlador)
        : base(controlador)
    {
        laLuz = controlador.Luz;
        m_time = 0;
    }
    Text text; //Para modificar el texto

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado1(ControladorJuego controlador)
        : base(controlador)
    {
        gui = controlador.prota;
        escribeHora = controlador.TextoHoras;
        text = escribeHora.GetComponent<Text>();
    }
Exemple #23
0
 public EstadoInicio(ControladorJuego ctrlJuego)
 {
     // Constructor
     this.juego = ctrlJuego;
 }
Exemple #24
0
 // ## CONSTRUCTORA ##
 public Dia1Stado12(ControladorJuego controlador) : base(controlador)
 {
     m_time  = 0;
     quien   = controlador.abad;
     destino = controlador.celdaAbadEstado15Dia1;
 }
Exemple #25
0
 public EstadoSacaJugador2(ControladorJuego ctrlJuego)
 {
     // Constructor
     this.juego = ctrlJuego;
 }
 public Estados(ControladorJuego controlador)
 {
     m_controlador = controlador;
 }
Exemple #27
0
 // ## CONSTRUCTORA ##
 public Dia1Stado13(ControladorJuego controlador) : base(controlador)
 {
     guille = controlador.guille;
     abad   = controlador.abad;
     m_time = 0;
 }
Exemple #28
0
 public EstadoEsperandoReinicio(ControladorJuego ctrlJuego)
 {
     // Constructor
     this.juego = ctrlJuego;
 }
 public EstadoGolJugador1(ControladorJuego ctrlJuego)
 {
     // Constructor
     this.juego = ctrlJuego;
 }
    bool siguiente = false; //Controla el avance al estado siguiente

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado4(ControladorJuego controlador)
        : base(controlador)
    {
        guille = controlador.guille;
        abad = controlador.abad;
        m_time = 0;
    }
Exemple #31
0
 private void Awake()
 {
     Instancia = this;
 }
Exemple #32
0
    //Posicionar personajes en la matriz
    public void posicionarPersonajes()
    {
        //Obtendremos el mapa del controlador
        mapa = controlador.getMapa();

        // ------------------------------------------------------------------------------------------------
        //Creamos a los personajes

        //Jugador
        //Priam
        priam.inicializarPersonaje();
        //Cervantes
        cervantes.inicializarPersonaje();
        //Lissa
        lissa.inicializarPersonaje();
        //Basilio
        basilio.inicializarPersonaje();
        //Cordelia
        cordelia.inicializarPersonaje();
        //Miriel
        miriel.inicializarPersonaje();
        //Virion
        virion.inicializarPersonaje();
        //Walhart
        walhart.inicializarPersonaje();
        //Lucina
        lucina.inicializarPersonaje();

        //Enemigos
        //Rey Gangrel
        gangrel.inicializarPersonaje();
        //Soldado 1
        soldado1.inicializarPersonaje();
        //Barbaro 1
        barbaro1.inicializarPersonaje();
        //Arquero 1
        arquero1.inicializarPersonaje();
        //Infanteria Pesada 1
        infPesada1.inicializarPersonaje();
        //Mago 1
        mago1.inicializarPersonaje();
        //Jinete 1
        jinete1.inicializarPersonaje();
        //Jinete de Pegaso 1
        jinetePegaso1.inicializarPersonaje();
        //Jinete de Dragón 1
        jineteDragon1.inicializarPersonaje();
        //Soldado 2
        soldado2.inicializarPersonaje();
        //Barbaro 2
        barbaro2.inicializarPersonaje();
        //Arquero 2
        arquero2.inicializarPersonaje();
        //Infanteria Pesada 2
        infPesada2.inicializarPersonaje();
        //Mago 2
        mago2.inicializarPersonaje();
        //Jinete 2
        jinete2.inicializarPersonaje();
        //Jinete de Pegaso 2
        jinetePegaso2.inicializarPersonaje();
        //Jinete de Dragón 2
        jineteDragon2.inicializarPersonaje();
        // ------------------------------------------------------------------------------------------------

        // ------------------------------------------------------------------------------------------------
        //Los insertamos en la matriz, en sus posiciones correspondientes

        //Jugador
        //Priam
        mapa[priam.getX(), priam.getY()] = priam;
        ControladorJuego.insertarJugador(priam);
        //Cervantes
        mapa[cervantes.getX(), cervantes.getY()] = cervantes;
        ControladorJuego.insertarJugador(cervantes);
        //Lissa
        mapa[lissa.getX(), lissa.getY()] = lissa;
        ControladorJuego.insertarJugador(lissa);
        //Basilio
        mapa[basilio.getX(), basilio.getY()] = basilio;
        ControladorJuego.insertarJugador(basilio);
        //Cordelia
        mapa[cordelia.getX(), cordelia.getY()] = cordelia;
        ControladorJuego.insertarJugador(cordelia);
        //Miriel
        mapa[miriel.getX(), miriel.getY()] = miriel;
        ControladorJuego.insertarJugador(miriel);
        //Virion
        mapa[virion.getX(), virion.getY()] = virion;
        ControladorJuego.insertarJugador(virion);
        //Walhart
        mapa[walhart.getX(), walhart.getY()] = walhart;
        ControladorJuego.insertarJugador(walhart);
        //Lucina
        mapa[lucina.getX(), lucina.getY()] = lucina;
        ControladorJuego.insertarJugador(lucina);

        //Enemigos
        //Rey Gangrel
        mapa[gangrel.getX(), gangrel.getY()] = gangrel;
        ControladorJuego.insertarEnemigo(gangrel);
        //Soldado 1
        mapa[soldado1.getX(), soldado1.getY()] = soldado1;
        ControladorJuego.insertarEnemigo(soldado1);
        //Barbaro 1
        mapa[barbaro1.getX(), barbaro1.getY()] = barbaro1;
        ControladorJuego.insertarEnemigo(barbaro1);
        //Arquero 1
        mapa[arquero1.getX(), arquero1.getY()] = arquero1;
        ControladorJuego.insertarEnemigo(arquero1);
        //Infanteria Pesada 1
        mapa[infPesada1.getX(), infPesada1.getY()] = infPesada1;
        ControladorJuego.insertarEnemigo(infPesada1);
        //Mago 1
        mapa[mago1.getX(), mago1.getY()] = mago1;
        ControladorJuego.insertarEnemigo(mago1);
        //Jinete 1
        mapa[jinete1.getX(), jinete1.getY()] = jinete1;
        ControladorJuego.insertarEnemigo(jinete1);
        //Jinete de Pegaso 1
        mapa[jinetePegaso1.getX(), jinetePegaso1.getY()] = jinetePegaso1;
        ControladorJuego.insertarEnemigo(jinetePegaso1);
        //Jinete de Dragón 1
        mapa[jineteDragon1.getX(), jineteDragon1.getY()] = jineteDragon1;
        ControladorJuego.insertarEnemigo(jineteDragon1);
        //Soldado 2
        mapa[soldado2.getX(), soldado2.getY()] = soldado2;
        ControladorJuego.insertarEnemigo(soldado2);
        //Barbaro 2
        mapa[barbaro2.getX(), barbaro2.getY()] = barbaro2;
        ControladorJuego.insertarEnemigo(barbaro2);
        //Arquero 2
        mapa[arquero2.getX(), arquero2.getY()] = arquero2;
        ControladorJuego.insertarEnemigo(arquero2);
        //Infanteria Pesada 2
        mapa[infPesada2.getX(), infPesada2.getY()] = infPesada2;
        ControladorJuego.insertarEnemigo(infPesada2);
        //Mago 2
        mapa[mago2.getX(), mago2.getY()] = mago2;
        ControladorJuego.insertarEnemigo(mago2);
        //Jinete 2
        mapa[jinete2.getX(), jinete2.getY()] = jinete2;
        ControladorJuego.insertarEnemigo(jinete2);
        //Jinete de Pegaso 2
        mapa[jinetePegaso2.getX(), jinetePegaso2.getY()] = jinetePegaso2;
        ControladorJuego.insertarEnemigo(jinetePegaso2);
        //Jinete de Dragón 2
        mapa[jineteDragon2.getX(), jineteDragon2.getY()] = jineteDragon2;
        ControladorJuego.insertarEnemigo(jineteDragon2);
        // ------------------------------------------------------------------------------------------------

        // ------------------------------------------------------------------------------------------------
        //Subimos a unos cuantos enemigos de nivel

        /*Nota: de normal, cuando subimos a un personaje de nivel, si le aumentan los puntos de vida, son sólo los máximos, no los actuales. Asi que en este caso como estamos inicilizando
         * a los personajes, también pondremos sus puntos de vida al máximo.*/
        //Soldado 2
        subirNivelPersonaje(soldado2, 1);
        soldado2.setPV(soldado2.getPV_Maximos());
        //Jinete de Pegaso 2
        subirNivelPersonaje(jinetePegaso2, 1);
        jinetePegaso2.setPV(jinetePegaso2.getPV_Maximos());
        //Infanteria pesada 2
        subirNivelPersonaje(infPesada2, 2);
        infPesada2.setPV(infPesada2.getPV_Maximos());
        //Arquero 2
        subirNivelPersonaje(arquero2, 3);
        arquero2.setPV(arquero2.getPV_Maximos());
        //Jinete 1
        subirNivelPersonaje(jinete1, 1);
        jinete1.setPV(jinete1.getPV_Maximos());
        //Jinete 2
        subirNivelPersonaje(jinete2, 2);
        jinete2.setPV(jinete2.getPV_Maximos());
        //Mago 2
        subirNivelPersonaje(mago2, 2);
        mago2.setPV(mago2.getPV_Maximos());
        //Barbaro 2
        subirNivelPersonaje(barbaro2, 1);
        barbaro2.setPV(barbaro2.getPV_Maximos());
        //Jinete de Dragón 1
        subirNivelPersonaje(jineteDragon1, 1);
        jineteDragon1.setPV(jineteDragon1.getPV_Maximos());
        //Jinete de Dragón 2
        subirNivelPersonaje(jineteDragon2, 3);
        jineteDragon2.setPV(jineteDragon2.getPV_Maximos());
        // ------------------------------------------------------------------------------------------------

        //Una vez insertadas todas las unidades, devolveremos la matriz al controlador para que pueda empezar el juego
        controlador.setMapa(mapa);
    }
    AudioSource sonido; //El sonido que suena con el dia1

    #endregion Fields

    #region Constructors

    // ## CONSTRUCTORA ##
    public Dia1Stado0(ControladorJuego controlador)
        : base(controlador)
    {
        //Constructora
        m_time = 0;
        cartel = controlador.CartelDIA1;
        sonido = controlador.audioCartelDia1;
    }
 public MaquinaEstados(ControladorJuego controlador)
 {
     m_controlador = controlador;
     m_estados = new List<Estados> ();
 }
Exemple #35
0
 private void Awake()
 {
     ControladorJuego.instance = this;
 }
 public Dia1(ControladorJuego controlador)
     : base(controlador)
 {
     m_estados.Add (new Dia1Stado0 (this.m_controlador));
     m_estados.Add (new Dia1Stado1 (this.m_controlador));
     m_estados.Add (new Dia1Stado2 (this.m_controlador));
     m_estados.Add (new Dia1Stado3 (this.m_controlador));
     m_estados.Add (new Dia1Stado4 (this.m_controlador));
     m_estados.Add (new Dia1Stado5 (this.m_controlador));
     m_estados.Add (new Dia1Stado6 (this.m_controlador));
     m_estados.Add (new Dia1Stado7 (this.m_controlador));
     m_estados.Add (new Dia1Stado8 (this.m_controlador));
     m_estados.Add (new Dia1Stado9 (this.m_controlador));
     m_estados.Add (new Dia1Stado10 (this.m_controlador));
     m_estados.Add (new Dia1Stado11 (this.m_controlador));
     m_estados.Add (new Dia1Stado12 (this.m_controlador));
     m_estados.Add (new Dia1Stado13 (this.m_controlador));
     m_estados.Add (new Dia1Stado14 (this.m_controlador));
     m_estados.Add (new Dia1Stado15 (this.m_controlador));
     m_estados.Add (new Dia1Stado16 (this.m_controlador));
     m_estados.Add (new Dia1Stado17 (this.m_controlador));
     m_estados.Add (new Dia1Stado18 (this.m_controlador));
 }
Exemple #37
0
 void Start()
 {
     controller = GameObject.Find("ControladorJuego").GetComponent <ControladorJuego> ();
 }
Exemple #38
0
    //Mueve el puntero usando el ratón
    private void moverPunteroConRaton()
    {
        //Si haces click con el ratón en la pantalla, el puntero se moverá a la posición que hayas indicado
        //Sólo hará las siguientes órdenes cuando se pulse el botón izquierdo del ratón o la pantalla táctil en el móvil
        if (Input.GetMouseButtonDown(0))
        {
            //Esta comprobación evitará que, cuando hagas click encima de la UI (interfaz) de acción del personaje se mueva el puntero
            if (!EventSystem.current.IsPointerOverGameObject(-1))
            {
                //Generamos el rayo que ira desde la cámara hasta la posición del ratón
                ray = Camera.main.ScreenPointToRay(Input.mousePosition);

                /*Comprobaremos si ha chocado con algo (en este caso deberá chocar contra el único elemento que hay en la escena que
                 * contenga un collider, el mapa en este caso) y si lo ha hecho, guardaremos las credenciales de la dirección en "posDelClick"
                 * Nota: el 100 define la distancia que recorrerá el rayo hasta desaparecer si no ha colisionado con nada, pero como el mapa
                 * ocupa toda la pantalla, nunca se dará este caso, asi que igual da que pongamos 100 que 200*/
                if (Physics.Raycast(ray, out posDelClick, 100))
                {
                    /*Ahora guardaremos el vector3 (posición) del click en esta variable, que utilizaremos para sacar los valores x e y
                     * (la z no hará falta al ser un juego 2D*/
                    mousePosition = posDelClick.point;

                    /*Luego restaremos la posición obtenida a la posición actual del vector para obtener sólo la diferencia (ya que
                     * vamos a utilizar el translate y a este no hace falta pasarle la posición absoluta)*/
                    int x = (int)Mathf.Round(mousePosition.x);
                    int y = (int)Mathf.Round(mousePosition.y);

                    //Comprobaremos si la posición seleccionada es la misma que la actual
                    if (x == transform.position.x && y == transform.position.y)
                    {
                        //Si es la misma, el puntero no se "moverá" porque estariamos moviéndonos a la misma posición en la que ya estamos
                        //Comprobaremos si no hay ya un personaje moviéndose
                        if (!personajeMov)
                        {
                            /*En el caso de que no haya ya un personaje moviéndose, comprobaremos si en esta casilla en la que ya estabamos hay un personaje, si es así, entonces
                             * procederemos a crear las rutas por las que podremos mover a este personaje (y por lo tanto ahora si que habrá un personaje moviéndose, por lo que
                             * no podremos volver a entrar por aquí hasta que el usuario cancele el movimiento del personaje desde la UI*/
                            Personaje personaje = controlador.getPosMapa((int)transform.position.x, (int)transform.position.y);
                            if (personaje != null && ControladorJuego.esDelJugador(personaje))
                            {
                                if (!personaje.getMovido())
                                {
                                    crearRutas(personaje);
                                }
                            }
                        }
                        else
                        {
                            /*En el caso de que ya haya un personaje moviéndose, quiere decir que el usuario quiere mover al personaje seleccionado a esta casilla, por lo tanto
                             * simularemos el movimiento del personaje a esta casilla, el usuario verá como el personaje toma la ruta más corta a la celda seleccionada, pero este
                             * no se moverá de la matriz hasta que el usuario pulse los comandos de esperar o atacar/curar, de esta forma, el usuario podrá rectificar en el caso
                             * de que ya no quiera mover el personaje a esta posición.*/
                            if (!controlador.getAccionEnCurso())
                            {
                                Personaje personaje = controlador.getPersoMoviendose();

                                /*Para evitar que el usuario pueda hacer esto 2 veces seguidas y el sistema de movimiento enloquezca, sólo haremos esta acción 1 vez al mismo tiempo
                                 * y hasta que esta no acabe no podrá volverlo a mover.*/
                                if (!personajeEnMovimiento)
                                {
                                    //También comprobaremos que la posición a la que queremos mover el personaje no es la misma en la que ya esta.
                                    if (x != personaje.getX() || y != personaje.getY())
                                    {
                                        set_personajeEnMovimiento(true);
                                        Celda celda = new Celda(x, y);
                                        controlador.prepararMovimientoDePersonaje(celda);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        //Por último, nos moveremos

                        /*Luego restaremos la posición obtenida a la posición actual del vector para obtener sólo la diferencia (ya que
                         * vamos a utilizar el translate y a este no hace falta pasarle la posición absoluta)*/
                        moverse(Mathf.Round(x - transform.position.x), Mathf.Round(y - transform.position.y));
                    }
                }
            }
        }
    }
 // ## CONSTRUCTORA ##
 public Dia1Stado8(ControladorJuego controlador)
     : base(controlador)
 {
     m_time = 0;
     quien = controlador.abad;
     destino = controlador.celdaAbadEstado9Dia1;
     imgEscribe = controlador.ImagenEscribir;
     textEscribe = controlador.TextoEscribir;
     text = textEscribe.GetComponent<Text>();
 }
    //----------------------------------------------------

    //Inicializaremos una variable que referenciará al controlador, para no tener que buscarlo cada vez que queramos acceder a él
    void Start()
    {
        controlador = this.GetComponent <ControladorJuego>();
    }
 public DiaM1(ControladorJuego controlador)
     : base(controlador)
 {
     m_estados.Add (new DiaM1Nona (this.m_controlador));
 }
Exemple #42
0
 public EstadoJugando(ControladorJuego ctrlJuego)
 {
     // Constructor
     this.juego = ctrlJuego;
 }
 // ## CONSTRUCTORA ##
 public DiaM1Nona(ControladorJuego controlador)
     : base(controlador)
 {
     //Constructora
     severino = controlador.Severino;
     celdaSeverino1 = controlador.SeverNona1;
     celdaSeverino2 = controlador.SeverNona2;
     horas = controlador.TextoHoras;
     dias = controlador.TextoDias;
     textoHoras = horas.GetComponent<Text>();
     textoDias = dias.GetComponent<Text>();
 }