using UnityEngine; namespace HQFPSWeapons { /// /// Base Class for any Entity /// public class LivingEntity : MonoBehaviour { public AudioSource AudioSource { get => m_AudioSource; } public Animator Animator { get => m_Animator; } /// public readonly Value Health = new Value(100f); /// public readonly Attempt ChangeHealth = new Attempt(); /// public readonly Value IsGrounded = new Value(true); /// public readonly Value Velocity = new Value(Vector3.zero); public Value LookDirection = new Value(); /// public readonly Message FallImpact = new Message(); /// public readonly Message Death = new Message(); /// public readonly Message Respawn = new Message(); public Hitbox[] Hitboxes; public Inventory Inventory { get { return m_Inventory; } } [BHeader("Main Components")] [SerializeField] private AudioSource m_AudioSource = null; [SerializeField] private Animator m_Animator = null; [SerializeField] private Inventory m_Inventory = null; private void Start() { Hitboxes = GetComponentsInChildren(); foreach (var component in GetComponentsInChildren(true)) component.OnEntityStart(); } } }