Player.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using UnityEngine;
  2. namespace HQFPSWeapons
  3. {
  4. /// <summary>
  5. /// Base Player Class
  6. /// </summary>
  7. public class Player : LivingEntity
  8. {
  9. public FirstPersonCamera Camera { get => m_Camera; }
  10. // Movement
  11. public Value<float> MovementSpeedFactor = new Value<float>(1f);
  12. public Value<float> MoveCycle = new Value<float>();
  13. public Message MoveCycleEnded = new Message();
  14. // Interaction
  15. public Value<RaycastData> RaycastData = new Value<RaycastData>(null);
  16. public Value<bool> WantsToInteract = new Value<bool>();
  17. /// <summary>Is there any object close to the camera? Eg. A wall</summary>
  18. public Value<bool> ObjectInProximity = new Value<bool>();
  19. public Activity Pause = new Activity();
  20. public Value<bool> ViewLocked = new Value<bool>();
  21. /// <summary></summary>
  22. public Value<float> Stamina = new Value<float>(100f);
  23. /// <summary></summary>
  24. public Value<Vector2> MoveInput = new Value<Vector2>(Vector2.zero);
  25. /// <summary></summary>
  26. public Value<Vector2> LookInput = new Value<Vector2>(Vector2.zero);
  27. /// <summary></summary>
  28. public Value<float> ScrollValue = new Value<float>(0f);
  29. /// <summary></summary>
  30. public Value<SaveableItem> EquippedItem = new Value<SaveableItem>(null);
  31. /// <summary></summary>
  32. public Value<EquipmentItem> ActiveEquipmentItem = new Value<EquipmentItem>();
  33. /// <summary>
  34. /// <para>SavableItem - item to equip</para>
  35. /// <para>bool - do it instantly?</para>
  36. /// </summary>
  37. public Attempt<SaveableItem, bool> EquipItem = new Attempt<SaveableItem, bool>();
  38. /// <summary>
  39. /// <para>Destroy the held item.</para>
  40. /// float - destroy delay
  41. /// </summary>
  42. public Attempt<float> DestroyEquippedItem = new Attempt<float>();
  43. public Attempt<SaveableItem> SwapItems = new Attempt<SaveableItem>();
  44. public Attempt<SaveableItem> ItemIsSwappable = new Attempt<SaveableItem>();
  45. /// <summary></summary>
  46. public Attempt UseOnce = new Attempt();
  47. /// <summary></summary>
  48. public Attempt UseContinuously = new Attempt();
  49. /// <summary></summary>
  50. public Attempt ChangeFireMode = new Attempt();
  51. /// <summary></summary>
  52. public Attempt ChangeArms = new Attempt();
  53. /// <summary></summary>
  54. public Activity Walk = new Activity();
  55. /// <summary></summary>
  56. public Activity Run = new Activity();
  57. /// <summary></summary>
  58. public Activity Crouch = new Activity();
  59. /// <summary></summary>
  60. public Activity Jump = new Activity();
  61. /// <summary></summary>
  62. public Activity Aim = new Activity();
  63. /// <summary></summary>
  64. public Activity Reload = new Activity();
  65. /// <summary></summary>
  66. public Activity Healing = new Activity();
  67. /// <summary></summary>
  68. public Activity Swimming = new Activity();
  69. /// <summary></summary>
  70. public Activity OnLadder = new Activity();
  71. [SerializeField]
  72. private FirstPersonCamera m_Camera = null;
  73. }
  74. }