예제 #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);
        }
    }
예제 #2
0
 /// <summary>
 /// Resetea los valores y vuelve a la escena inventario mediante una escena de carga.
 /// </summary>
 public void ReloadScene()
 {
     // Command has some static members, so let`s make sure that there are no commands in the Queue
     Debug.Log("Scene reloaded");
     // reset all card and creature IDs
     //TODO mirar si esto no afecta a las cartas e items del inventario
     IDFactory.ResetIDsBattle();
     IDFactory.RecoverCountMenu();
     IDHolder.ClearIDHoldersList();
     Comandas.Instance.Clear();
     Comandas.Instance.CompletarEjecucionComanda();
     Controlador.Instance.Clear();
     SceneManager.LoadSceneAsync("Loading");
 }