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); } }
public void FullyHeal() { m_CurrentHealth.Value = m_CurrentHealth.MaximumValue; GEventManager.TriggerEvent(GEventManager.ON_PLAYER_HEAL_DAMAGE); }
public void Heal(float in_fHeal) { m_CurrentHealth.Value += in_fHeal; GEventManager.TriggerEvent(GEventManager.ON_PLAYER_HEAL_DAMAGE); }