ServerInfosComponentSystem.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using static Codice.Client.Common.Servers.RecentlyUsedServers;
  2. namespace ET
  3. {
  4. public class ServerInfosComponentDestroySystem : DestroySystem<ServerInfosComponent>
  5. {
  6. public override void Destroy(ServerInfosComponent self)
  7. {
  8. foreach (var serverInfo in self.ServerInfoList.Values)
  9. {
  10. serverInfo?.Dispose();
  11. }
  12. self.ServerInfoList.Clear();
  13. }
  14. }
  15. public static class ServerInfosComponentSystem
  16. {
  17. public static void Add(this ServerInfosComponent self, ServerInfo serverInfo)
  18. {
  19. self.ServerInfoList.Add(serverInfo.Id, serverInfo);
  20. }
  21. public static void SetRecentlyServerInfo(this ServerInfosComponent self, long recentId)
  22. {
  23. self.recentlyServerInfo = self.ServerInfoList[recentId];
  24. self.CurrentServerId = (int)recentId;
  25. }
  26. public static ServerInfo GetCurrentServerInfo(this ServerInfosComponent self)
  27. {
  28. return self.ServerInfoList[self.CurrentServerId];
  29. }
  30. }
  31. }