using UnityEngine; namespace HQFPSWeapons { public enum DamageType { Generic, Cut, Hit, Stab, Bullet } /// /// /// public struct HealthEventData { /// public float Delta { get; set; } /// public LivingEntity Source { get; private set; } public DamageType DamageType { get; private set; } /// public Vector3 HitPoint { get; private set; } /// public Vector3 HitDirection { get; private set; } /// public float HitImpulse { get; private set; } /// public Vector3 HitNormal { get; private set; } public HealthEventData(float delta, LivingEntity source = null) { Delta = delta; DamageType = DamageType.Generic; HitPoint = Vector3.zero; HitDirection = Vector3.zero; HitImpulse = 0f; HitNormal = Vector3.zero; Source = source; } public HealthEventData(float delta, DamageType damageType, LivingEntity source = null) { Delta = delta; DamageType = damageType; HitPoint = Vector3.zero; HitDirection = Vector3.zero; HitImpulse = 0f; HitNormal = Vector3.zero; Source = source; } public HealthEventData(float delta, Vector3 hitPoint, Vector3 hitDirection, float hitImpulse, LivingEntity source = null) { Delta = delta; DamageType = DamageType.Generic; HitPoint = hitPoint; HitDirection = hitDirection; HitImpulse = hitImpulse; HitNormal = Vector3.zero; Source = source; } public HealthEventData(float delta, DamageType damageType, Vector3 hitPoint, Vector3 hitDirection, float hitImpulse, LivingEntity source = null) { Delta = delta; DamageType = damageType; HitPoint = hitPoint; HitDirection = hitDirection; HitImpulse = hitImpulse; HitNormal = Vector3.zero; Source = source; } public HealthEventData(float delta, Vector3 hitPoint, Vector3 hitDirection, float hitImpulse, Vector3 hitNormal, LivingEntity source = null) { Delta = delta; DamageType = DamageType.Generic; HitPoint = hitPoint; HitDirection = hitDirection; HitImpulse = hitImpulse; HitNormal = hitNormal; Source = source; } public HealthEventData(float delta, DamageType damageType, Vector3 hitPoint, Vector3 hitDirection, float hitImpulse, Vector3 hitNormal, LivingEntity source = null) { Delta = delta; DamageType = damageType; HitPoint = hitPoint; HitDirection = hitDirection; HitImpulse = hitImpulse; HitNormal = hitNormal; Source = source; } } }