using System; using System.Collections.Generic; using System.Text; namespace ET { public class UserSettingUpdateSystem : UpdateSystem { public override void Update(UserSetting self) { if (self.canUse) return; long now = TimeHelper.ClientNow(); if(now >= self.lastCD) { self.lastCD = now; self.canUse = true; } } } public class UserSettingDestroySystem : DestroySystem { public override void Destroy(UserSetting self) { for (int i = self.MainUISlotArr.Length - 1; i >= 0; i--) { self.MainUISlotArr[i]?.Dispose(); self.MainUISlotArr[i] = null; } self.CD = 5000; self.AutoSkillList.Clear(); self.IsAutoSkill = false; self.IsDisplayOthers = false; } } public static class UserSettingSystem { public static void UpdateAutoSkills(this UserSetting self, IEnumerable list) { try { self.AutoSkillList.Clear(); foreach (int skillId in list) { self.AutoSkillList.AddLast(skillId); } } catch (Exception e) { Log.Error(e); } } public static LinkedList GetAutoSkills(this UserSetting self) { return self.AutoSkillList; } /// /// 获取主UI格子信息 /// /// /// public static MainUISlot[] GetMainUISlots(this UserSetting self) { return self.MainUISlotArr; } /// /// 更新主UI格子信息 /// /// /// /// public static void UpdateMainUISlot(this UserSetting self,int index, MainUISlot mainUISlot) { self.MainUISlotArr[index] = mainUISlot; } public static MainUISlot GetMainUISlot(this UserSetting self, int index) { return self.MainUISlotArr[index]; } public static void SetCD(this UserSetting self,int CD) { self.CD = CD; } public static void StartCD(this UserSetting self,MainUIType mainUIType,int id,int skillCD) { self.canUse = false; self.lastCD = TimeHelper.ClientNow() + self.CD; MessageHelper.SendActor(self.GetParent(), new M2C_StartCD { Time = self.CD,Type =mainUIType ,Id = id,SkillCD =skillCD}); } } }