private void Update() { switch (nowState) { case BattleSceneState.BATTLE_START: OnBattleStart?.Invoke(this, EventArgs.Empty); nowState = BattleSceneState.PLAYER_TURN_START; OnPlayerTurnStart?.Invoke(this, EventArgs.Empty); break; case BattleSceneState.PLAYER_TURN_START: if (!BattleEventManager.Instance.Execute()) { nowState = BattleSceneState.PLAYER_TURN_UPDATE; } break; case BattleSceneState.PLAYER_TURN_UPDATE: break; case BattleSceneState.PLAYER_TURN_END: if (!BattleEventManager.Instance.Execute()) { nowState = BattleSceneState.ENEMY_TURN_START; OnEnemyTurnStart?.Invoke(this, EventArgs.Empty); } break; case BattleSceneState.ENEMY_TURN_START: if (!BattleEventManager.Instance.Execute()) { nowState = BattleSceneState.ENEMY_TURN_UPDATE; } break; case BattleSceneState.ENEMY_TURN_UPDATE: if (!BattleEventManager.Instance.Execute()) { nowState = BattleSceneState.ENEMY_TURN_END; OnEnemyTurnEnd?.Invoke(this, EventArgs.Empty); } break; case BattleSceneState.ENEMY_TURN_END: if (!BattleEventManager.Instance.Execute()) { nowState = BattleSceneState.PLAYER_TURN_START; OnPlayerTurnStart?.Invoke(this, EventArgs.Empty); } break; case BattleSceneState.BATTLE_END: break; } }
private void EnemyTurn() { OnEnemyTurnStart?.Invoke(); Enemy.StartEnemyTurn(); StartCoroutine(EnemyTurnSequence()); }