From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/Skill/XSkillFlags.cs | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Skill/XSkillFlags.cs (limited to 'Client/Assets/Scripts/XMainClient/Skill/XSkillFlags.cs') diff --git a/Client/Assets/Scripts/XMainClient/Skill/XSkillFlags.cs b/Client/Assets/Scripts/XMainClient/Skill/XSkillFlags.cs new file mode 100644 index 00000000..74fb31a2 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Skill/XSkillFlags.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace XMainClient +{ + internal class XSkillFlags + { + private ulong m_Flag = 1UL; + + public bool IsFlagSet(uint flag) + { + return (this.m_Flag & 1UL << (int)flag) > 0UL; + } + + public void SetFlag(List flags) + { + for (int i = 0; i < flags.Count; i++) + { + this.SetFlag(flags[i]); + } + } + + public void SetFlag(short[] flags) + { + bool flag = flags != null; + if (flag) + { + for (int i = 0; i < flags.Length; i++) + { + this.SetFlag((uint)flags[i]); + } + } + } + + public void SetFlag(uint flag) + { + this.m_Flag |= 1UL << (int)flag; + } + + public void Reset() + { + this.m_Flag = 1UL; + } + } +} -- cgit v1.1-26-g67d0