protected void UpdateBattleState() { float healthPercent = m_playerHealth.GetCurrentHealthPercentage(); float bossHealthPercent = m_aiActor.healthHaver.GetCurrentHealthPercentage(); float absDiff = Mathf.Abs(healthPercent - bossHealthPercent); if (absDiff < 0.075f) { m_battleState = BattleStates.Balanced; this.ActivateBalancedState(); } else if (bossHealthPercent < healthPercent) { m_battleState = BattleStates.Losing; this.ActivateLosingState(); } else { // This is necessary as to not restart the sequence at every step if (m_battleState == BattleStates.Winning) { return; } m_battleState = BattleStates.Winning; m_sequenceIndex = 0; this.ActivateWinningState(); } }