namespace ET.Server { public class UserSessionComponentDestroySystem: DestroySystem { protected override void Destroy(UserSessionComponent self) { self.UserSession.Clear(); } } [FriendOf(typeof(UserSessionComponent))] public static class UserSessionComponentSystem { public static long Get(this UserSessionComponent self, long userId) { if (!self.UserSession.TryGetValue(userId, out long instanceId)) { return 0; } return instanceId; } public static void Add(this UserSessionComponent self, long userId, long instanceId) { if (self.UserSession.ContainsKey(userId)) { self.UserSession[userId] = instanceId; return; } self.UserSession.Add(userId, instanceId); } public static void Remove(this UserSessionComponent self, long userId) { if (self.UserSession.ContainsKey(userId)) { self.UserSession.Remove(userId); } } } }