namespace ET { [ObjectSystem] public class UnitComponentAwakeSystem : AwakeSystem { public override void Awake(UnitComponent self) { } } [ObjectSystem] public class UnitComponentDestroySystem : DestroySystem { public override void Destroy(UnitComponent self) { } } public static class UnitComponentSystem { public static void Add(this UnitComponent self, Unit unit) { self.SetUnit(unit); } public static Unit Get(this UnitComponent self, long id) { Unit unit = self.GetChild(id); return unit; } public static void Remove(this UnitComponent self, long id) { Unit unit = self.GetChild(id); unit?.Dispose(); } public static void SetUnit(this UnitComponent self, Unit unit) { UnitComponent.unit = unit; } public static Unit GetUnit(this UnitComponent self) { return UnitComponent.unit; } } }