Exemplo n.º 1
0
    /// <summary>
    /// Funcion que para el movimiento de los jugadores, el temporizador de turno y lanza el mensaje de fin de batalla
    /// </summary>
    public void MuerteJugador(JugadorPartida jugador)
    {
        PararControlJugadores();
        Button salirPartida = GameObject.FindGameObjectWithTag("SalirPartida").GetComponent <Button> ();

        salirPartida.interactable = false;
        GameObject.FindGameObjectWithTag("BotonFinTurno").GetComponent <Button> ().interactable = false;
        Controlador.Instance.StopTheTimer();
        new MuerteJugadorCommand(jugador).AñadirAlaCola();
        IDFactory.RecoverCountMenu();
        int exp = AñadirExperienciaJugador(jugador);

        if (jugador.GetType() == typeof(JugadorHumano))
        {
            new GameOverCommand(jugador, exp).AñadirAlaCola();
            BaseDatos.Instance.ActualizarNivelYExperienciaBaseDatos();
        }
        else
        {
            JugadorPartida ganador = OtroJugador(jugador);
            Carta          carta   = ObtenerCartaPremio();
            List <Item>    items   = ObtenerItemsPremio();
            AñadirPremioJugador(ganador, carta, items);
            IDFactory.SaveCountMenu();
            new PremioPartidaCommand(jugador, carta, items, exp).AñadirAlaCola();
            BaseDatos.Instance.ActualizarJugadorBaseDatos(carta != null);
        }
    }
Exemplo n.º 2
0
 /// <summary>
 /// Carga la escena de batalla.
 /// </summary>
 public void Jugar()
 {
     if (ControladorMenu.Instance.JugadorPuedeJugarBatalla())
     {
         IDHolder.ClearIDHoldersList();
         IDFactory.SaveCountMenu();
         SceneManager.LoadScene("Batalla");
     }
     else
     {
         MessageManager.Instance.ShowMessage("Tu mazo de batalla no contiene 8 cartas", 1.5f);
     }
 }