Beispiel #1
0
    /// <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();
        });
    }