using System;
namespace LitMotion
{
///
/// Options for shake motion.
///
public struct ShakeOptions : IEquatable, 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);
}
}
}