소스 검색

配置优化,proto加载完配置后,清理Category的List

tanghai 3 년 전
부모
커밋
d08a37f622

+ 6 - 3
DotNet/Tool/Template.txt

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach ((ConfigName) config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (AIConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (UnitConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (AIConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (StartMachineConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (StartProcessConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (StartSceneConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (StartZoneConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -31,13 +31,16 @@ namespace ET
             this.list.AddRange(s.list);
         }
 		
-        public override void EndInit()
+		[ProtoAfterDeserialization]        
+        public void ProtoEndInit()
         {
             foreach (UnitConfig config in list)
             {
-                config.EndInit();
+                config.AfterEndInit();
                 this.dict.Add(config.Id, config);
-            }            
+            }
+            this.list.Clear();
+            
             this.AfterEndInit();
         }
 		

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

@@ -118,11 +118,7 @@ namespace ET
             }
         }
 
-        public override void BeginInit()
-        {
-        }
-
-        public override void EndInit()
+        public override void AfterEndInit()
         {
             this.Type = EnumHelper.FromString<SceneType>(this.SceneType);
             InstanceIdStruct instanceIdStruct = new InstanceIdStruct(this.Process, (uint) this.Id);

+ 4 - 1
Unity/Assets/Scripts/Core/Object/ProtoObject.cs

@@ -1,5 +1,6 @@
 using System;
 using System.ComponentModel;
+using System.Runtime.Serialization;
 
 namespace ET
 {
@@ -15,10 +16,12 @@ namespace ET
         {
         }
         
+        
         public virtual void EndInit()
         {
         }
-
+        
+        
         public virtual void AfterEndInit()
         {
         }

+ 14 - 18
Unity/Assets/Scripts/Core/ProtobufHelper.cs

@@ -8,26 +8,22 @@ namespace ET
     public static class ProtobufHelper
     {
 		public static object FromBytes(Type type, byte[] bytes, int index, int count)
-        {
-	        using (MemoryStream stream = new MemoryStream(bytes, index, count))
-	        {
-		        object o = RuntimeTypeModel.Default.Deserialize(stream, null, type);
-		        if (o is ISupportInitialize supportInitialize)
-		        {
-			        supportInitialize.EndInit();
-		        }
-		        return o;
-	        }
-        }
+		{
+			using MemoryStream stream = new MemoryStream(bytes, index, count);
+			object o = RuntimeTypeModel.Default.Deserialize(stream, null, type);
+			if (o is ISupportInitialize supportInitialize)
+			{
+				supportInitialize.EndInit();
+			}
+			return o;
+		}
 
         public static byte[] ToBytes(object message)
-        {
-	        using (MemoryStream stream = new MemoryStream())
-	        {
-		        ProtoBuf.Serializer.Serialize(stream, message);
-		        return stream.ToArray();
-	        }
-        }
+		{
+			using MemoryStream stream = new MemoryStream();
+			ProtoBuf.Serializer.Serialize(stream, message);
+			return stream.ToArray();
+		}
 
         public static void ToStream(object message, MemoryStream stream)
         {

+ 1 - 5
Unity/Assets/Scripts/Core/Singleton.cs

@@ -8,7 +8,7 @@ namespace ET
         void Destroy();
     }
     
-    public abstract class Singleton<T>: ISingleton, IDisposable where T: Singleton<T>, new()
+    public abstract class Singleton<T>: DisposeObject, ISingleton where T: Singleton<T>, new()
     {
         [StaticField]
         private static T instance;
@@ -36,9 +36,5 @@ namespace ET
             instance = null;
             t.Dispose();
         }
-
-        public virtual void Dispose()
-        {
-        }
     }
 }