// Update is called once per frame void Update() { Debug.Log(currentState); switch (currentState) { case (BattleStates.START): //setup battle function //create enemy battleStateStartScript.PrepareBattle(); break; case (BattleStates.PLAYER_TURN): currentTurnOwner = BattleStates.PLAYER_TURN; break; case (BattleStates.ENEMY_TURN): currentTurnOwner = BattleStates.ENEMY_TURN; battleStateEnemyTurnScript.EnemyTakeTurn(); //enemyCompletedTurn = true; //CheckTurnOwner (); break; case (BattleStates.CALCULATE_DAMAGE): if (currentTurnOwner == BattleStates.PLAYER_TURN) { battleFunctionsScript.enemyCurrentHealth -= battleCalculationsScript.CalculateTotalPlayerDamage(playerUsedAbility); battleFunctionsScript.playerCurrentEnergy -= battleCalculationsScript.GetEnergyCost(playerUsedAbility); if (battleFunctionsScript.enemyCurrentHealth <= 0) { currentState = BattleStates.WIN; Debug.Log("Won the battle!"); break; } } if (currentTurnOwner == BattleStates.ENEMY_TURN) { battleFunctionsScript.playerCurrentHealth -= battleCalculationsScript.CalculateTotalEnemyDamage(enemyUsedAbility); if (battleFunctionsScript.playerCurrentHealth <= 0) { currentState = BattleStates.LOSE; Debug.Log("Lost the battle!"); break; } } CheckTurnOwner(); break; case (BattleStates.ADD_STATUS_EFFECTS): battleStateAddStatusEffectsScript.CheckAbilityForStatusEffect(playerUsedAbility); break; case (BattleStates.END_TURN): totalTurnCount++; playerCompletedTurn = false; enemyCompletedTurn = false; currentState = BattleStates.PLAYER_TURN; break; case (BattleStates.LOSE): GameOver(); break; case (BattleStates.WIN): GameInformation.WonFight = true; ReturnToMap(); break; } }