From fafb4b85bf76b8663164a1257d833a1ebd963847 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 28 Mar 2023 19:30:37 +0200 Subject: [PATCH] SkinANIM - Add ICloneable and IEquatable interface --- PCK-Studio/Classes/Utils/SkinANIM.cs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/PCK-Studio/Classes/Utils/SkinANIM.cs b/PCK-Studio/Classes/Utils/SkinANIM.cs index f7796c54..58f56a2e 100644 --- a/PCK-Studio/Classes/Utils/SkinANIM.cs +++ b/PCK-Studio/Classes/Utils/SkinANIM.cs @@ -69,8 +69,8 @@ namespace PckStudio.Classes.Utils DINNERBONE = 1 << 31, // 0x80000000 } - public class SkinANIM - { + public class SkinANIM : ICloneable, IEquatable + { 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(); + } + } }