DBManagerComponentSystem.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. namespace ET.Server
  3. {
  4. [FriendOf(typeof(DBManagerComponent))]
  5. public static class DBManagerComponentSystem
  6. {
  7. [ObjectSystem]
  8. public class DBManagerComponentAwakeSystem: AwakeSystem<DBManagerComponent>
  9. {
  10. protected override void Awake(DBManagerComponent self)
  11. {
  12. DBManagerComponent.Instance = self;
  13. }
  14. }
  15. [ObjectSystem]
  16. public class DBManagerComponentDestroySystem: DestroySystem<DBManagerComponent>
  17. {
  18. protected override void Destroy(DBManagerComponent self)
  19. {
  20. DBManagerComponent.Instance = null;
  21. }
  22. }
  23. public static DBComponent GetZoneDB(this DBManagerComponent self, int zone)
  24. {
  25. DBComponent dbComponent = self.DBComponents[zone];
  26. if (dbComponent != null)
  27. {
  28. return dbComponent;
  29. }
  30. StartZoneConfig startZoneConfig = StartZoneConfigCategory.Instance.Get(zone);
  31. if (startZoneConfig.DBConnection == "")
  32. {
  33. throw new Exception($"zone: {zone} not found mongo connect string");
  34. }
  35. dbComponent = self.AddChild<DBComponent, string, string, int>(startZoneConfig.DBConnection, startZoneConfig.DBName, zone);
  36. self.DBComponents[zone] = dbComponent;
  37. return dbComponent;
  38. }
  39. }
  40. }