public void dealDamageTo(Vector2 a_knockBackForce)
{
if (m_invulnerableTimer == 0)
{
setSprite("hero_damage");
m_currentState = State.Jumping;
switch (m_health)
{
case 3:
{
m_hitSound1.play();
break;
}
case 2:
{
m_hitSound2.play();
break;
}
case 1:
{
m_hitSound3.play();
break;
}
}
m_health = Math.Max(m_health - 1, 0);
updateHealthGUI();
m_stunned = true;
m_stunnedDeacceleration = true;
m_speed = a_knockBackForce;
if (m_health <= 0)
{
m_stunnedTimer = 5f;
m_invulnerableTimer = 5f;
Game.getInstance().setState(new DeathScene(Game.getInstance().getState().getObjectList(), ((GameState)Game.getInstance().getState()).getBackground()));
}
else
{
m_stunnedTimer = 0.8f;
m_invulnerableTimer = 2f;
}
}
}