GrandLarceny.Player.dealDamageTo C# (CSharp) Method

dealDamageTo() public method

public dealDamageTo ( Vector2 a_knockBackForce ) : void
a_knockBackForce Vector2
return void
        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;
                }
            }
        }