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();
}
}
}