Esempio n. 1
0
    /// <summary>
    /// este método se llama cuando uno de los jugadores alcanza la llegada (arrival)
    /// </summary>
    /// <param name="jugadorEnMeta"></param>
    public void FinalizarRonda(Player jugadorEnMeta)
    {
        if (jugadorEnMeta == Player.jugador1)
        {
            victoriasJ1++;
        }
        else
        {
            victoriasJ2++;
        }

        if (transformJ1.gameObject.GetComponent <ControladorJugador>() != null)
        {
            transformJ1.gameObject.GetComponent <ControladorJugador>().SetEstadoControlador(false);
        }
        if (transformJ2.gameObject.GetComponent <ControladorJugador>() != null)
        {
            transformJ2.gameObject.GetComponent <ControladorJugador>().SetEstadoControlador(false);
        }

        if (transformJ1.gameObject.GetComponent <SaltoParedes>() != null)
        {
            transformJ1.gameObject.GetComponent <SaltoParedes>().SetSalto(false, Muros.derecha);
        }

        if (transformJ2.gameObject.GetComponent <SaltoParedes>() != null)
        {
            transformJ2.gameObject.GetComponent <SaltoParedes>().SetSalto(false, Muros.derecha);
        }

        if (transformJ1.gameObject.GetComponentInChildren <CubitoHielo>() != null)
        {
            Destroy(transformJ1.gameObject.GetComponentInChildren <CubitoHielo>().gameObject);
        }
        if (transformJ2.gameObject.GetComponentInChildren <CubitoHielo>() != null)
        {
            Destroy(transformJ2.gameObject.GetComponentInChildren <CubitoHielo>().gameObject);
        }

        if (transformJ1.gameObject.GetComponent <FeedbackVisual>() != null)
        {
            transformJ1.gameObject.GetComponent <FeedbackVisual>().DesactivaTodos();
        }
        if (transformJ2.gameObject.GetComponent <FeedbackVisual>() != null)
        {
            transformJ2.gameObject.GetComponent <FeedbackVisual>().DesactivaTodos();
        }

        transformJ1.gameObject.SetActive(false);
        transformJ2.gameObject.SetActive(false);

        if (indiceMapaActual < 3)
        {
            indiceMapaActual++;

            ui.CargaResultados(victoriasJ1, victoriasJ2, indiceMapaActual, 4f);
            CargaMapaEnMundos();
        }
        else
        {
            if (victoriasJ1 == 3 || victoriasJ2 == 1 && victoriasJ1 == 2)
            {
                ui.AbrePantallaGanador(Player.jugador1);
            }
            else
            {
                ui.AbrePantallaGanador(Player.jugador2);
            }

            Invoke("CambiaEscena", 6f);
        }
    }