/// <summary> /// Se inicia la partida, inicializando los valores de cada jugador, repartiendo cartas y empezando el primer turno. /// </summary> public void InicializacionJuego() { //Debug.Log("In TurnManager.OnGameStart()"); jugadores = new List <JugadorPartida>(); JugadorPartida jugadorPartida; foreach (Jugador p in BaseDatos.Instance.GetPlayers()) { if (p.TipoJugador.Equals(Jugador.TIPO_JUGADOR.MANUAL)) { jugadorPartida = JugadorHumano.Instance; jugadorPartida.Jugador = p; //jugadorPartida = new JugadorHumano (p); controladorJugador.InicializarValoresJugador(jugadorPartida); controladorJugador.ActualizarManaJugador(jugadorPartida); } else { jugadorPartida = JugadorBot.Instance; jugadorPartida.Jugador = p; //jugadorPartida = new JugadorBot (p); controladorJugador.InicializarValoresJugador(jugadorPartida); controladorJugador.DeshabilitarMana(jugadorPartida); } jugadores.Add(jugadorPartida); } Sequence s = DOTween.Sequence(); //mueve los jugadores del centro a su posición PlayerArea areaJugador = controladorJugador.AreaJugador(jugadores[0]); PlayerArea areaJugador2 = controladorJugador.AreaJugador(jugadores[1]); s.Append(areaJugador.Personaje.transform.DOMove(areaJugador.PosicionPersonaje.position, 1f).SetEase(Ease.InQuad)); s.Insert(0f, areaJugador2.Personaje.transform.DOMove(areaJugador2.PosicionPersonaje.position, 1f).SetEase(Ease.InQuad)); //espera 3 segundos antes de ejecutar el onComplete s.PrependInterval(3f); s.OnComplete(() => { int rnd = Random.Range(0, 2); JugadorPartida whoGoesFirst = jugadores[rnd]; JugadorPartida whoGoesSecond = OtroJugador(whoGoesFirst); DibujarCartasMazo(whoGoesFirst, 4, true); DibujarCartasMazo(whoGoesSecond, 4, true); new StartATurnCommand(whoGoesFirst).AñadirAlaCola(); }); }