mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-07-02 20:14:45 +00:00
SkinANIM - Add ICloneable and IEquatable interface
This commit is contained in:
@@ -69,8 +69,8 @@ namespace PckStudio.Classes.Utils
|
||||
DINNERBONE = 1 << 31, // 0x80000000
|
||||
}
|
||||
|
||||
public class SkinANIM
|
||||
{
|
||||
public class SkinANIM : ICloneable, IEquatable<SkinANIM>
|
||||
{
|
||||
private ANIM_EFFECTS _ANIM;
|
||||
public static readonly Regex animRegex = new Regex(@"^0x[0-9a-f]{1,8}\b", RegexOptions.IgnoreCase);
|
||||
|
||||
@@ -102,10 +102,16 @@ namespace PckStudio.Classes.Utils
|
||||
public static implicit operator SkinANIM(ANIM_EFFECTS anim) => new SkinANIM(anim);
|
||||
|
||||
public static bool operator ==(SkinANIM a, ANIM_EFFECTS b) => a._ANIM == b;
|
||||
|
||||
public static bool operator !=(SkinANIM a, ANIM_EFFECTS b) => !(a == b);
|
||||
public static bool operator ==(SkinANIM a, SkinANIM b) => a.Equals(b);
|
||||
public static bool operator !=(SkinANIM a, SkinANIM b) => !a.Equals(b);
|
||||
|
||||
public override bool Equals(object obj) => obj is SkinANIM a && a == _ANIM;
|
||||
public bool Equals(SkinANIM other)
|
||||
{
|
||||
return _ANIM == other._ANIM;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj) => obj is SkinANIM a && Equals(a);
|
||||
|
||||
public override int GetHashCode() => (int)_ANIM;
|
||||
|
||||
@@ -129,5 +135,10 @@ namespace PckStudio.Classes.Utils
|
||||
{
|
||||
return (_ANIM & flag) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
return MemberwiseClone();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user