Пример #1
0
    public void NextTurn(bool firstTurn = false)
    {
        if (PlayerLost())
        {
            infoBox.DebugText("Game Over!");
            return;
        }
        else if (EnemyLost())
        {
            StartCoroutine(BattleWon());
            return;
        }

        if (firstTurn == false)
        {
            AdvanceTurnIndex();
        }

        List <CharacterBase> characterList = GetCharacterList();

        foreach (CharacterBase character in characterList)
        {
            laneMover.SetCharacterToLane(character, character.Lane, character.Faction == Faction.Player ? player : enemy);
        }

        while (turnOrder[turnIndex].IsDead)
        {
            AdvanceTurnIndex();
        }

        SetCurrentTurnCharacter();

        if (CurrentTurn.Faction == Faction.Enemy)
        {
            action = EnemyAI.GetAIAction(CurrentTurn, enemyParty, playerParty);
            StartCoroutine(DecideEnemyAction());
            return;
        }
        else
        {
            filler.FillCurrentTurn();
            characterMenu.PlayTween();
        }
    }