using UnityEngine; namespace HQFPSWeapons { /// /// Base Player Class /// public class Player : LivingEntity { public FirstPersonCamera Camera { get => m_Camera; } // Movement public Value MovementSpeedFactor = new Value(1f); public Value MoveCycle = new Value(); public Message MoveCycleEnded = new Message(); // Interaction public Value RaycastData = new Value(null); public Value WantsToInteract = new Value(); /// Is there any object close to the camera? Eg. A wall public Value ObjectInProximity = new Value(); public Activity Pause = new Activity(); public Value ViewLocked = new Value(); /// public Value Stamina = new Value(100f); /// public Value MoveInput = new Value(Vector2.zero); /// public Value LookInput = new Value(Vector2.zero); /// public Value ScrollValue = new Value(0f); /// public Value EquippedItem = new Value(null); /// public Value ActiveEquipmentItem = new Value(); /// /// SavableItem - item to equip /// bool - do it instantly? /// public Attempt EquipItem = new Attempt(); /// /// Destroy the held item. /// float - destroy delay /// public Attempt DestroyEquippedItem = new Attempt(); public Attempt SwapItems = new Attempt(); public Attempt ItemIsSwappable = new Attempt(); /// public Attempt UseOnce = new Attempt(); /// public Attempt UseContinuously = new Attempt(); /// public Attempt ChangeFireMode = new Attempt(); /// public Attempt ChangeArms = new Attempt(); /// public Activity Walk = new Activity(); /// public Activity Run = new Activity(); /// public Activity Crouch = new Activity(); /// public Activity Jump = new Activity(); /// public Activity Aim = new Activity(); /// public Activity Reload = new Activity(); /// public Activity Healing = new Activity(); /// public Activity Swimming = new Activity(); /// public Activity OnLadder = new Activity(); [SerializeField] private FirstPersonCamera m_Camera = null; } }