DBManagerComponentSystem.cs 1.4 KB

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