| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | using System;namespace LitMotion{    /// <summary>    /// Options for shake motion.    /// </summary>    public struct ShakeOptions : IEquatable<ShakeOptions>, IMotionOptions    {        public int Frequency;        public float DampingRatio;        public Unity.Mathematics.Random RandomState;        public static ShakeOptions Default        {            get            {                return new ShakeOptions()                {                    Frequency = 10,                    DampingRatio = 1f                };            }        }        public readonly bool Equals(ShakeOptions other)        {            return other.Frequency == Frequency &&                other.DampingRatio == DampingRatio &&                other.RandomState.state == RandomState.state;        }        public override readonly bool Equals(object obj)        {            if (obj is ShakeOptions options) return Equals(options);            return false;        }        public override readonly int GetHashCode()        {            return HashCode.Combine(Frequency, DampingRatio, RandomState);        }    }}
 |