Example #1
0
    public void setUpCharacterOrder()
    {
        GameObject[] playerUnits = GameObject.FindGameObjectsWithTag("Player");

        foreach (GameObject playerUnit in playerUnits)
        {
            BattleStatRelayer currentUnitStats = playerUnit.GetComponent <BattleStatRelayer>();
            currentUnitStats.CalculateNextActTurn(0);
            moveOrder.Add(currentUnitStats);
        }

        ///GameObject[] memberUnits = GameObject.FindGameObjectsWithTag("PartyMember");
        ///
        ///foreach (GameObject partyUnits in memberUnits)
        ///{
        ///    BattleStatRelayer currentUnitStats = partyUnits.GetComponent<BattleStatRelayer>();
        ///    currentUnitStats.CalculateNextActTurn(0);
        ///    moveOrder.Add(currentUnitStats);
        ///}

        GameObject[] enemyUnits = GameObject.FindGameObjectsWithTag("Enemy");
        foreach (GameObject enemyunit in enemyUnits)
        {
            BattleStatRelayer currentUnitStats = enemyunit.GetComponent <BattleStatRelayer>();
            currentUnitStats.CalculateNextActTurn(0);
            moveOrder.Add(currentUnitStats);
        }

        moveOrder.Sort();
        turnorderDisplay.GetComponent <InitiativeBar>().StartBattle();
        NextTurn();
    }
Example #2
0
    public void NextTurn()
    {
        GameObject[] remainingEnemyUnits = GameObject.FindGameObjectsWithTag("Enemy");
        if (remainingEnemyUnits.Length == 0)
        {
            //enemyEncounter.GetComponent<CollectRewards>().CollectReward();

            GameManager.instance.LoadSceneAfterBattle();
            GameManager.instance.gameState = GameManager.GameStates.World_State;
            GameManager.instance.enemiesToBattle.Clear();
        }

        GameObject[] remainingPlayerUnits = GameObject.FindGameObjectsWithTag("Player");
        //GameObject[] remainingPartyMembers = GameObject.FindGameObjectsWithTag("PartyMember");

        if (remainingPlayerUnits.Length == 0 /*&& remainingPartyMembers.Length == 0*/)
        {
            //make and Ienumirator White out effect and then load title screen
            SceneManager.LoadScene("");
        }
        BattleStatRelayer currentUnitsStats = moveOrder[0];

        moveOrder.Remove(currentUnitsStats);
        turnorderDisplay.GetComponent <InitiativeBar>().UpdateBar();
        if (!currentUnitsStats.isDead)
        {
            GameObject currentUnit = currentUnitsStats.gameObject;

            currentUnitsStats.CalculateNextActTurn(currentUnitsStats.nextActTurn);
            moveOrder.Add(currentUnitsStats);
            moveOrder.Sort();

            if (currentUnit.tag == "Player")
            {
                currentUnit.GetComponent <CharacterStats>().TurnStart();
                Debug.Log("PlayerTurn");
            }
            else if (currentUnit.tag == "PartyMember")
            {
                //currentUnit.GetComponent<PartyStats>().TurnStart();
            }
            else
            {
                currentUnit.GetComponent <EnemieBaseStats>().StartTurn();
                Debug.Log("Enemy turn");
            }
        }
        else
        {
            NextTurn();
        }
    }