EquipmentMotionState.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System;
  2. using UnityEngine;
  3. namespace HQFPSWeapons
  4. {
  5. [Serializable]
  6. public class EquipmentMotionState
  7. {
  8. [BHeader("Spring Settings")]
  9. public Spring.Data PositionSpring = Spring.Data.Default;
  10. public Spring.Data RotationSpring = Spring.Data.Default;
  11. [Space(4f)]
  12. [BHeader("General", order = 2)]
  13. public bool HasEntryOffset;
  14. [ShowIf("HasEntryOffset", true)]
  15. public float EntryOffsetDuration = 1f;
  16. [ShowIf("HasEntryOffset", true)]
  17. public float LerpToDefaultOffestSpeed = 2f;
  18. [ShowIf("HasEntryOffset", true)]
  19. public OffsetModule EntryOffset;
  20. [Space]
  21. public OffsetModule Offset;
  22. public BobModule Bob;
  23. public NoiseModule Noise;
  24. [Space(4f)]
  25. [BHeader("Additional Forces", order = 2)]
  26. public SpringForce EnterForce;
  27. public SpringForce ExitForce;
  28. public SpringForce PosEnterForce;
  29. public SpringForce PosExitForce;
  30. #region Internal
  31. [Serializable]
  32. public class OffsetModule : CloneableObject<OffsetModule>
  33. {
  34. public bool Enabled = true;
  35. [ShowIf("Enabled", true)]
  36. public Vector3 PositionOffset;
  37. [ShowIf("Enabled", true)]
  38. public Vector3 RotationOffset;
  39. }
  40. [Serializable]
  41. public class BobModule : CloneableObject<BobModule>
  42. {
  43. public bool Enabled = true;
  44. [ShowIf("Enabled", true)]
  45. public float BobSpeedMultiplier = 1f;
  46. [ShowIf("Enabled", true)]
  47. public Vector3 PositionAmplitude = new Vector3(0.35f, 0.5f, 0f);
  48. [ShowIf("Enabled", true)]
  49. public Vector3 RotationAmplitude = new Vector3(0.35f, 0.5f, 0f);
  50. }
  51. [Serializable]
  52. public class NoiseModule : CloneableObject<NoiseModule>
  53. {
  54. [Range(0f,1f)]
  55. public float MaxJitter = 0f;
  56. [Range(0.01f,10f)]
  57. public float NoiseSpeed = 1f;
  58. public Vector3 PosNoiseAmplitude = Vector3.zero;
  59. public Vector3 RotNoiseAmplitude = Vector3.zero;
  60. }
  61. #endregion
  62. }
  63. }