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