PunchOptions.cs 992 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. namespace LitMotion
  3. {
  4. /// <summary>
  5. /// Options for punch motion.
  6. /// </summary>
  7. public struct PunchOptions : IEquatable<PunchOptions>, IMotionOptions
  8. {
  9. public int Frequency;
  10. public float DampingRatio;
  11. public static PunchOptions Default
  12. {
  13. get
  14. {
  15. return new PunchOptions()
  16. {
  17. Frequency = 10,
  18. DampingRatio = 1f
  19. };
  20. }
  21. }
  22. public readonly bool Equals(PunchOptions other)
  23. {
  24. return other.Frequency == Frequency && other.DampingRatio == DampingRatio;
  25. }
  26. public override readonly bool Equals(object obj)
  27. {
  28. if (obj is PunchOptions options) return Equals(options);
  29. return false;
  30. }
  31. public override readonly int GetHashCode()
  32. {
  33. return HashCode.Combine(Frequency, DampingRatio);
  34. }
  35. }
  36. }