using System; namespace ET.Server { [Invoke(TimerInvokeType.HGHHMainChecker)] public class HGHHMainChecker: ATimer<HGHHMainCheckerComponent> { protected override void Run(HGHHMainCheckerComponent self) { try { self.Check(); } catch (Exception e) { Log.Error($"move timer error: {self.Id}\n{e}"); } } } [ObjectSystem] public class HGHHMainCheckerComponentAwakeSystem: AwakeSystem<HGHHMainCheckerComponent> { protected override void Awake(HGHHMainCheckerComponent self) { Log.Info($"创建黄冈晃晃主逻辑组件..."); self.RepeatedTimer = TimerComponent.Instance.NewRepeatedTimer(1000, TimerInvokeType.HGHHMainChecker, self); } } [ObjectSystem] public class HGHHMainCheckerComponentDestroySystem: DestroySystem<HGHHMainCheckerComponent> { protected override void Destroy(HGHHMainCheckerComponent self) { Log.Info($"销毁黄冈晃晃主逻辑组件..."); TimerComponent.Instance?.Remove(ref self.RepeatedTimer); } } public static class HGHHMainCheckerComponentSystem { // 黄冈晃晃牌库 public static void Check(this HGHHMainCheckerComponent self) { Room room = self.GetParent<Room>(); if (room == null) { Log.Error($"黄冈晃晃主逻辑组件获取不到主实体..."); return; } Log.Debug($"检测: 黄冈晃晃-房间号:{room.RoomId}, 状态:{room.State}..."); } } }