/// <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); } }
/// <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); } }