Просмотр исходного кода

去掉SingletonLoad跟ConfigSingleton,只需要Singleton就够了

tanghai 2 лет назад
Родитель
Сommit
fa5088afe6
30 измененных файлов с 71 добавлено и 180 удалено
  1. 3 2
      Share/Tool/Template.txt
  2. 2 2
      Unity/Assets/Scripts/Core/Entity/EntitySystemSingleton.cs
  3. 2 2
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageDispatcherComponent.cs
  4. 0 62
      Unity/Assets/Scripts/Core/World/Module/Config/ConfigSingleton.cs
  5. 0 11
      Unity/Assets/Scripts/Core/World/Module/Config/ConfigSingleton.cs.meta
  6. 5 48
      Unity/Assets/Scripts/Core/World/Singleton.cs
  7. 0 7
      Unity/Assets/Scripts/Editor/BuildEditor/BuildEditor.cs
  8. 3 2
      Unity/Assets/Scripts/Model/Generate/Client/Config/AIConfig.cs
  9. 3 2
      Unity/Assets/Scripts/Model/Generate/Client/Config/UnitConfig.cs
  10. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/AIConfig.cs
  11. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartMachineConfig.cs
  12. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartProcessConfig.cs
  13. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartSceneConfig.cs
  14. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartZoneConfig.cs
  15. 3 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/Config/UnitConfig.cs
  16. 2 2
      Unity/Assets/Scripts/Model/Generate/ClientServer/ConfigPartial/StartSceneConfig.cs
  17. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/AIConfig.cs
  18. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/StartMachineConfig.cs
  19. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/StartProcessConfig.cs
  20. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/StartSceneConfig.cs
  21. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/StartZoneConfig.cs
  22. 3 2
      Unity/Assets/Scripts/Model/Generate/Server/Config/UnitConfig.cs
  23. 1 1
      Unity/Assets/Scripts/Model/Generate/Server/ConfigPartial/StartSceneConfig.cs
  24. 2 2
      Unity/Assets/Scripts/Model/Server/Module/Http/HttpDispatcher.cs
  25. 2 2
      Unity/Assets/Scripts/Model/Share/LockStep/LSEntitySystemSingleton.cs
  26. 2 2
      Unity/Assets/Scripts/Model/Share/Module/AI/AIDispatcherComponent.cs
  27. 2 2
      Unity/Assets/Scripts/Model/Share/Module/Console/ConsoleDispatcher.cs
  28. 2 2
      Unity/Assets/Scripts/Model/Share/Module/Message/MessageDispatcherComponent.cs
  29. 2 2
      Unity/Assets/Scripts/Model/Share/Module/Numeric/NumericWatcherComponent.cs
  30. 2 3
      Unity/Assets/Scripts/ModelView/Client/Module/UI/UIEventComponent.cs

+ 3 - 2
Share/Tool/Template.txt

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class (ConfigName)Category : ConfigSingleton<(ConfigName)Category>, IMerge
+    public partial class (ConfigName)Category : Singleton<(ConfigName)Category>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, (ConfigName)> dict = new Dictionary<int, (ConfigName)>();
+        private Dictionary<int, (ConfigName)> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 2 - 2
Unity/Assets/Scripts/Core/Entity/EntitySystemSingleton.cs

@@ -3,7 +3,7 @@ using System.Collections.Generic;
 
 
 namespace ET
 namespace ET
 {
 {
-    public class EntitySystemSingleton: SingletonReload<EntitySystemSingleton>, ISingletonAwake
+    public class EntitySystemSingleton: Singleton<EntitySystemSingleton>, ISingletonAwake, ISingletonLoad
     {
     {
         public TypeSystems TypeSystems { get; private set; }
         public TypeSystems TypeSystems { get; private set; }
         
         
@@ -28,7 +28,7 @@ namespace ET
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<EntitySystemSingleton>(true);
             World.Instance.AddSingleton<EntitySystemSingleton>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageDispatcherComponent.cs

@@ -19,7 +19,7 @@ namespace ET
     /// <summary>
     /// <summary>
     /// Actor消息分发组件
     /// Actor消息分发组件
     /// </summary>
     /// </summary>
-    public class ActorMessageDispatcherComponent: SingletonReload<ActorMessageDispatcherComponent>, ISingletonAwake
+    public class ActorMessageDispatcherComponent: Singleton<ActorMessageDispatcherComponent>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<Type, List<ActorMessageDispatcherInfo>> ActorMessageHandlers = new();
         private readonly Dictionary<Type, List<ActorMessageDispatcherInfo>> ActorMessageHandlers = new();
 
 
@@ -40,7 +40,7 @@ namespace ET
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<ActorMessageDispatcherComponent>(true);
             World.Instance.AddSingleton<ActorMessageDispatcherComponent>(true);
         }
         }

+ 0 - 62
Unity/Assets/Scripts/Core/World/Module/Config/ConfigSingleton.cs

@@ -1,62 +0,0 @@
-using System;
-using System.ComponentModel;
-
-namespace ET
-{
-    public abstract class ConfigSingleton<T>: ISingleton, ISupportInitialize where T: ConfigSingleton<T>, new()
-    {
-        private bool isDisposed;
-        
-        [StaticField]
-        private static T instance;
-        
-        public static T Instance
-        {
-            get
-            {
-                return instance;
-            }
-            private set
-            {
-                instance = value;
-            }
-        }
-
-        public virtual void Register()
-        {
-            Instance = (T)this;
-        }
-
-        public bool IsDisposed()
-        {
-            return this.isDisposed;
-        }
-
-        protected virtual void Destroy()
-        {
-            
-        }
-
-        void IDisposable.Dispose()
-        {
-            if (this.isDisposed)
-            {
-                return;
-            }
-            
-            this.isDisposed = true;
-
-            Instance = null;
-            
-            this.Destroy();
-        }
-
-        public virtual void BeginInit()
-        {
-        }
-
-        public virtual void EndInit()
-        {
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Config/ConfigSingleton.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: e3f57aff7b8dfc3489d97b45c8423bc8
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 5 - 48
Unity/Assets/Scripts/Core/World/Singleton.cs

@@ -1,5 +1,5 @@
 using System;
 using System;
-using System.Threading;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
@@ -9,9 +9,9 @@ namespace ET
         
         
     }
     }
     
     
-    public abstract class Singleton<T>: ISingleton where T: Singleton<T>, new()
+    public abstract class Singleton<T>: ISingleton, ISupportInitialize where T: Singleton<T>, new()
     {
     {
-        protected bool isDisposed;
+        private bool isDisposed;
         
         
         [StaticField]
         [StaticField]
         private static T instance;
         private static T instance;
@@ -54,56 +54,13 @@ namespace ET
             
             
             this.Destroy();
             this.Destroy();
         }
         }
-    }
-    
-    public abstract class SingletonReload<T>: ISingleton, ISingletonLoad where T: SingletonReload<T>, new()
-    {
-        private bool isDisposed;
-        
-        [StaticField]
-        private static T instance;
-        
-        public static T Instance
-        {
-            get
-            {
-                return instance;
-            }
-            private set
-            {
-                instance = value;
-            }
-        }
 
 
-        public virtual void Register()
+        public virtual void BeginInit()
         {
         {
-            Instance = (T)this;
         }
         }
 
 
-        public bool IsDisposed()
+        public virtual void EndInit()
         {
         {
-            return this.isDisposed;
         }
         }
-
-        protected virtual void Destroy()
-        {
-            
-        }
-
-        void IDisposable.Dispose()
-        {
-            if (this.isDisposed)
-            {
-                return;
-            }
-            
-            this.isDisposed = true;
-
-            Instance = null;
-            
-            this.Destroy();
-        }
-
-        public abstract void Load();
     }
     }
 }
 }

+ 0 - 7
Unity/Assets/Scripts/Editor/BuildEditor/BuildEditor.cs

@@ -132,14 +132,7 @@ namespace ET
 			
 			
 			if (GUILayout.Button("ExcelExporter"))
 			if (GUILayout.Button("ExcelExporter"))
 			{
 			{
-				//Directory.Delete("Assets/Bundles/Config", true);
 				ToolsEditor.ExcelExporter();
 				ToolsEditor.ExcelExporter();
-				
-				// 设置ab包
-				AssetImporter assetImporter = AssetImporter.GetAtPath($"Assets/Bundles/Config");
-				assetImporter.assetBundleName = "Config.unity3d";
-				AssetDatabase.SaveAssets();
-				AssetDatabase.Refresh();
 			}
 			}
 			
 			
 			if (GUILayout.Button("Proto2CS"))
 			if (GUILayout.Button("Proto2CS"))

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Client/Config/AIConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class AIConfigCategory : ConfigSingleton<AIConfigCategory>, IMerge
+    public partial class AIConfigCategory : Singleton<AIConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, AIConfig> dict = new Dictionary<int, AIConfig>();
+        private Dictionary<int, AIConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Client/Config/UnitConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class UnitConfigCategory : ConfigSingleton<UnitConfigCategory>, IMerge
+    public partial class UnitConfigCategory : Singleton<UnitConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, UnitConfig> dict = new Dictionary<int, UnitConfig>();
+        private Dictionary<int, UnitConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/AIConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class AIConfigCategory : ConfigSingleton<AIConfigCategory>, IMerge
+    public partial class AIConfigCategory : Singleton<AIConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, AIConfig> dict = new Dictionary<int, AIConfig>();
+        private Dictionary<int, AIConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartMachineConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartMachineConfigCategory : ConfigSingleton<StartMachineConfigCategory>, IMerge
+    public partial class StartMachineConfigCategory : Singleton<StartMachineConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartMachineConfig> dict = new Dictionary<int, StartMachineConfig>();
+        private Dictionary<int, StartMachineConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartProcessConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartProcessConfigCategory : ConfigSingleton<StartProcessConfigCategory>, IMerge
+    public partial class StartProcessConfigCategory : Singleton<StartProcessConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartProcessConfig> dict = new Dictionary<int, StartProcessConfig>();
+        private Dictionary<int, StartProcessConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartSceneConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartSceneConfigCategory : ConfigSingleton<StartSceneConfigCategory>, IMerge
+    public partial class StartSceneConfigCategory : Singleton<StartSceneConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartSceneConfig> dict = new Dictionary<int, StartSceneConfig>();
+        private Dictionary<int, StartSceneConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/StartZoneConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartZoneConfigCategory : ConfigSingleton<StartZoneConfigCategory>, IMerge
+    public partial class StartZoneConfigCategory : Singleton<StartZoneConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartZoneConfig> dict = new Dictionary<int, StartZoneConfig>();
+        private Dictionary<int, StartZoneConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/Config/UnitConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class UnitConfigCategory : ConfigSingleton<UnitConfigCategory>, IMerge
+    public partial class UnitConfigCategory : Singleton<UnitConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, UnitConfig> dict = new Dictionary<int, UnitConfig>();
+        private Dictionary<int, UnitConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 2 - 2
Unity/Assets/Scripts/Model/Generate/ClientServer/ConfigPartial/StartSceneConfig.cs

@@ -37,7 +37,7 @@ namespace ET
         {
         {
             return this.ClientScenesByName[zone][name];
             return this.ClientScenesByName[zone][name];
         }
         }
-        
+
         public override void EndInit()
         public override void EndInit()
         {
         {
             foreach (StartSceneConfig startSceneConfig in this.GetAll().Values)
             foreach (StartSceneConfig startSceneConfig in this.GetAll().Values)
@@ -84,7 +84,7 @@ namespace ET
         }
         }
     }
     }
     
     
-    public partial class StartSceneConfig: ISupportInitialize
+    public partial class StartSceneConfig
     {
     {
         public ActorId ActorId;
         public ActorId ActorId;
         
         

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/AIConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class AIConfigCategory : ConfigSingleton<AIConfigCategory>, IMerge
+    public partial class AIConfigCategory : Singleton<AIConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, AIConfig> dict = new Dictionary<int, AIConfig>();
+        private Dictionary<int, AIConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/StartMachineConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartMachineConfigCategory : ConfigSingleton<StartMachineConfigCategory>, IMerge
+    public partial class StartMachineConfigCategory : Singleton<StartMachineConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartMachineConfig> dict = new Dictionary<int, StartMachineConfig>();
+        private Dictionary<int, StartMachineConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/StartProcessConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartProcessConfigCategory : ConfigSingleton<StartProcessConfigCategory>, IMerge
+    public partial class StartProcessConfigCategory : Singleton<StartProcessConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartProcessConfig> dict = new Dictionary<int, StartProcessConfig>();
+        private Dictionary<int, StartProcessConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/StartSceneConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartSceneConfigCategory : ConfigSingleton<StartSceneConfigCategory>, IMerge
+    public partial class StartSceneConfigCategory : Singleton<StartSceneConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartSceneConfig> dict = new Dictionary<int, StartSceneConfig>();
+        private Dictionary<int, StartSceneConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/StartZoneConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class StartZoneConfigCategory : ConfigSingleton<StartZoneConfigCategory>, IMerge
+    public partial class StartZoneConfigCategory : Singleton<StartZoneConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, StartZoneConfig> dict = new Dictionary<int, StartZoneConfig>();
+        private Dictionary<int, StartZoneConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 3 - 2
Unity/Assets/Scripts/Model/Generate/Server/Config/UnitConfig.cs

@@ -2,15 +2,16 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using MongoDB.Bson.Serialization.Options;
+using System.ComponentModel;
 
 
 namespace ET
 namespace ET
 {
 {
     [Config]
     [Config]
-    public partial class UnitConfigCategory : ConfigSingleton<UnitConfigCategory>, IMerge
+    public partial class UnitConfigCategory : Singleton<UnitConfigCategory>, IMerge
     {
     {
         [BsonElement]
         [BsonElement]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
         [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)]
-        private Dictionary<int, UnitConfig> dict = new Dictionary<int, UnitConfig>();
+        private Dictionary<int, UnitConfig> dict = new();
 		
 		
         public void Merge(object o)
         public void Merge(object o)
         {
         {

+ 1 - 1
Unity/Assets/Scripts/Model/Generate/Server/ConfigPartial/StartSceneConfig.cs

@@ -37,7 +37,7 @@ namespace ET
         {
         {
             return this.ClientScenesByName[zone][name];
             return this.ClientScenesByName[zone][name];
         }
         }
-        
+
         public override void EndInit()
         public override void EndInit()
         {
         {
             foreach (StartSceneConfig startSceneConfig in this.GetAll().Values)
             foreach (StartSceneConfig startSceneConfig in this.GetAll().Values)

+ 2 - 2
Unity/Assets/Scripts/Model/Server/Module/Http/HttpDispatcher.cs

@@ -3,11 +3,11 @@ using System.Collections.Generic;
 
 
 namespace ET.Server
 namespace ET.Server
 {
 {
-    public class HttpDispatcher: SingletonReload<HttpDispatcher>, ISingletonAwake
+    public class HttpDispatcher: Singleton<HttpDispatcher>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<string, Dictionary<int, IHttpHandler>> dispatcher = new();
         private readonly Dictionary<string, Dictionary<int, IHttpHandler>> dispatcher = new();
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<HttpDispatcher>(true);
             World.Instance.AddSingleton<HttpDispatcher>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Model/Share/LockStep/LSEntitySystemSingleton.cs

@@ -11,7 +11,7 @@ namespace ET
         public const int Max = 1;
         public const int Max = 1;
     }
     }
     
     
-    public class LSEntitySystemSingleton: SingletonReload<LSEntitySystemSingleton>, ISingletonAwake
+    public class LSEntitySystemSingleton: Singleton<LSEntitySystemSingleton>, ISingletonAwake, ISingletonLoad
     {
     {
         public TypeSystems TypeSystems { get; private set; }
         public TypeSystems TypeSystems { get; private set; }
         
         
@@ -37,7 +37,7 @@ namespace ET
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<LSEntitySystemSingleton>(true);
             World.Instance.AddSingleton<LSEntitySystemSingleton>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Model/Share/Module/AI/AIDispatcherComponent.cs

@@ -3,7 +3,7 @@ using System.Collections.Generic;
 
 
 namespace ET
 namespace ET
 {
 {
-    public class AIDispatcherComponent: SingletonReload<AIDispatcherComponent>, ISingletonAwake
+    public class AIDispatcherComponent: Singleton<AIDispatcherComponent>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<string, AAIHandler> aiHandlers = new();
         private readonly Dictionary<string, AAIHandler> aiHandlers = new();
         
         
@@ -28,7 +28,7 @@ namespace ET
             return aaiHandler;
             return aaiHandler;
         }
         }
 
 
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<AIDispatcherComponent>(true);
             World.Instance.AddSingleton<AIDispatcherComponent>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Model/Share/Module/Console/ConsoleDispatcher.cs

@@ -3,11 +3,11 @@ using System.Collections.Generic;
 
 
 namespace ET
 namespace ET
 {
 {
-    public class ConsoleDispatcher: SingletonReload<ConsoleDispatcher>, ISingletonAwake
+    public class ConsoleDispatcher: Singleton<ConsoleDispatcher>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<string, IConsoleHandler> handlers = new();
         private readonly Dictionary<string, IConsoleHandler> handlers = new();
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<ConsoleDispatcher>(true);
             World.Instance.AddSingleton<ConsoleDispatcher>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Model/Share/Module/Message/MessageDispatcherComponent.cs

@@ -15,7 +15,7 @@ namespace ET
         }
         }
     }
     }
     
     
-    public class MessageDispatcherComponent: SingletonReload<MessageDispatcherComponent>, ISingletonAwake
+    public class MessageDispatcherComponent: Singleton<MessageDispatcherComponent>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<ushort, List<MessageDispatcherInfo>> handlers = new();
         private readonly Dictionary<ushort, List<MessageDispatcherInfo>> handlers = new();
         
         
@@ -53,7 +53,7 @@ namespace ET
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<MessageDispatcherComponent>(true);
             World.Instance.AddSingleton<MessageDispatcherComponent>(true);
         }
         }

+ 2 - 2
Unity/Assets/Scripts/Model/Share/Module/Numeric/NumericWatcherComponent.cs

@@ -18,7 +18,7 @@ namespace ET
     /// <summary>
     /// <summary>
     /// 监视数值变化组件,分发监听
     /// 监视数值变化组件,分发监听
     /// </summary>
     /// </summary>
-    public class NumericWatcherComponent : SingletonReload<NumericWatcherComponent>, ISingletonAwake
+    public class NumericWatcherComponent : Singleton<NumericWatcherComponent>, ISingletonAwake, ISingletonLoad
     {
     {
         private readonly Dictionary<int, List<NumericWatcherInfo>> allWatchers = new();
         private readonly Dictionary<int, List<NumericWatcherInfo>> allWatchers = new();
         
         
@@ -43,7 +43,7 @@ namespace ET
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
             World.Instance.AddSingleton<NumericWatcherComponent>(true);
             World.Instance.AddSingleton<NumericWatcherComponent>(true);
         }
         }

+ 2 - 3
Unity/Assets/Scripts/ModelView/Client/Module/UI/UIEventComponent.cs

@@ -1,13 +1,12 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using UnityEngine;
 
 
 namespace ET.Client
 namespace ET.Client
 {
 {
 	/// <summary>
 	/// <summary>
 	/// 管理所有UI GameObject
 	/// 管理所有UI GameObject
 	/// </summary>
 	/// </summary>
-	public class UIEventComponent: SingletonReload<UIEventComponent>, ISingletonAwake
+	public class UIEventComponent: Singleton<UIEventComponent>, ISingletonLoad, ISingletonAwake
 	{
 	{
 		public Dictionary<string, AUIEvent> UIEvents { get; } = new();
 		public Dictionary<string, AUIEvent> UIEvents { get; } = new();
 		
 		
@@ -28,7 +27,7 @@ namespace ET.Client
             }
             }
         }
         }
         
         
-        public override void Load()
+        public void Load()
         {
         {
 	        World.Instance.AddSingleton<UIEventComponent>(true);
 	        World.Instance.AddSingleton<UIEventComponent>(true);
         }
         }