Beispiel #1
0
        public void Damage(Vector3 in_vLocation, float in_fDamage)
        {
            GameObject player          = GPlayerManager.Instance.PlayerObject;
            bool       bIsTripleDamage = false;

            if (Vector3.Dot(player.transform.forward, MathUtils.DirectionVector(player.transform.position, in_vLocation)) < -0.5f)
            {
                in_fDamage     *= 3f;
                bIsTripleDamage = true;
            }

            m_CurrentHealth.Value -= in_fDamage;
            GEventManager.TriggerEvent(GEventManager.ON_PLAYER_TAKE_DAMAGE);
            if (bIsTripleDamage)
            {
                GEventManager.TriggerEvent(GEventManager.ON_PLAYER_TAKE_TRIPLE_DAMAGE);
            }
        }
Beispiel #2
0
 public void FullyHeal()
 {
     m_CurrentHealth.Value = m_CurrentHealth.MaximumValue;
     GEventManager.TriggerEvent(GEventManager.ON_PLAYER_HEAL_DAMAGE);
 }
Beispiel #3
0
 public void Heal(float in_fHeal)
 {
     m_CurrentHealth.Value += in_fHeal;
     GEventManager.TriggerEvent(GEventManager.ON_PLAYER_HEAL_DAMAGE);
 }