// Update is called once per frame void Update() { switch (currentPlayerState) { case PlayerState.Idle: break; case PlayerState.Attack: playerAttackHandler.OnPlayerAttack(playerDatas[0].Atk); turnHandler.OnTurnEnd((int)CombatSystemController.Turn.Player); currentPlayerState = PlayerState.Idle; break; case PlayerState.Defense: if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Player) { reset(); } break; case PlayerState.Hurt: if (Time.time - beginHurtTime > HURT_TIME) { playerGuis[0].IsDamageShown = false; currentPlayerState = isDefending ? PlayerState.Defense : PlayerState.Idle; } break; case PlayerState.Die: combatSystemController.OnCombatEnd((int)CombatSystemController.Force.Player); break; } }
// Update is called once per frame void Update() { switch (currentEnemyState) { case EnemyState.Idle: idleMovement(); if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Enemy) { nextCommand(); } break; case EnemyState.Attack: enemyAttackHandler.OnEnemyAttack(enemyData.Atk); turnHandler.OnTurnEnd((int)CombatSystemController.Turn.Enemy); currentEnemyState = EnemyState.Idle; break; case EnemyState.Defense: defencePose(); if (turnHandler.GetCurrentTurn() == (int)CombatSystemController.Turn.Enemy) { reset(); } break; case EnemyState.Hurt: if (Time.time - beginHurtTime > HURT_TIME) { currentEnemyState = isDefending ? EnemyState.Defense : EnemyState.Idle; } break; case EnemyState.Die: combatSystemController.OnCombatEnd((int)CombatSystemController.Force.Enemy); Destroy(gameObject); break; } }