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