Kaynağa Gözat

1.Excel Proto也挪到Unity中,并且子目录下的都可以导出,proto目录添加多个proto也能自动导出,不需要改导出工具。这样方便插件添加proto跟excel。
2.ConfigComponent增加在使用时再加载的机制,服务器进程就不需要一次加载所有配置,节省内存
3.因为每个配置在使用时会调用ConfigComponent来加载,这样非Entity去调用Entity就感觉不太好,ConfigComponent干脆改成了Singleton
4.修复WChannel一个bug

tanghai 3 yıl önce
ebeveyn
işleme
4f6e03549e
100 değiştirilmiş dosya ile 422 ekleme ve 214 silme
  1. 0 4
      .editorconfig
  2. 2 2
      DotNet/Core/DotNet.Core.csproj
  3. 5 0
      DotNet/Hotfix/DotNet.Hotfix.csproj
  4. 2 2
      DotNet/Model/DotNet.Model.csproj
  5. 0 4
      Excel/Json/c/StartConfig/Release/StartProcessConfig.txt
  6. 0 9
      Excel/Json/c/StartConfig/Release/StartSceneConfig.txt
  7. 0 4
      Excel/Json/c/StartConfig/Release/StartZoneConfig.txt
  8. 0 3
      Excel/Json/s/StartConfig/Release/StartMachineConfig.txt
  9. 0 4
      Excel/Json/s/StartConfig/Release/StartProcessConfig.txt
  10. 0 9
      Excel/Json/s/StartConfig/Release/StartSceneConfig.txt
  11. 0 4
      Excel/Json/s/StartConfig/Release/StartZoneConfig.txt
  12. 0 3
      Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt
  13. 10 26
      Share/Tool/ExcelExporter/ExcelExporter.cs
  14. 54 41
      Share/Tool/Proto2CS/Proto2CS.cs
  15. 1 9
      Share/Tool/Template.txt
  16. 8 0
      Unity/Assets/Config.meta
  17. 8 0
      Unity/Assets/Config/Excel.meta
  18. 0 0
      Unity/Assets/Config/Excel/AIConfig.xlsx
  19. 7 0
      Unity/Assets/Config/Excel/AIConfig.xlsx.meta
  20. 8 0
      Unity/Assets/Config/Excel/Json.meta
  21. 8 0
      Unity/Assets/Config/Excel/Json/c.meta
  22. 0 0
      Unity/Assets/Config/Excel/Json/c/AIConfig.txt
  23. 7 0
      Unity/Assets/Config/Excel/Json/c/AIConfig.txt.meta
  24. 0 0
      Unity/Assets/Config/Excel/Json/c/UnitConfig.txt
  25. 7 0
      Unity/Assets/Config/Excel/Json/c/UnitConfig.txt.meta
  26. 8 0
      Unity/Assets/Config/Excel/Json/s.meta
  27. 0 0
      Unity/Assets/Config/Excel/Json/s/AIConfig.txt
  28. 7 0
      Unity/Assets/Config/Excel/Json/s/AIConfig.txt.meta
  29. 8 0
      Unity/Assets/Config/Excel/Json/s/StartConfig.meta
  30. 8 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost.meta
  31. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartMachineConfig.txt
  32. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartMachineConfig.txt.meta
  33. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartProcessConfig.txt
  34. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartProcessConfig.txt.meta
  35. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartSceneConfig.txt
  36. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartSceneConfig.txt.meta
  37. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartZoneConfig.txt
  38. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartZoneConfig.txt.meta
  39. 8 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release.meta
  40. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartMachineConfig.txt
  41. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartMachineConfig.txt.meta
  42. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartProcessConfig.txt
  43. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartProcessConfig.txt.meta
  44. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartSceneConfig.txt
  45. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartSceneConfig.txt.meta
  46. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartZoneConfig.txt
  47. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartZoneConfig.txt.meta
  48. 8 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest.meta
  49. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt
  50. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt.meta
  51. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartProcessConfig.txt
  52. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartProcessConfig.txt.meta
  53. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartSceneConfig.txt
  54. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartSceneConfig.txt.meta
  55. 0 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartZoneConfig.txt
  56. 7 0
      Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartZoneConfig.txt.meta
  57. 0 0
      Unity/Assets/Config/Excel/Json/s/UnitConfig.txt
  58. 7 0
      Unity/Assets/Config/Excel/Json/s/UnitConfig.txt.meta
  59. 8 0
      Unity/Assets/Config/Excel/StartConfig.meta
  60. 8 0
      Unity/Assets/Config/Excel/StartConfig/Localhost.meta
  61. 0 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartMachineConfig@s.xlsx
  62. 7 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartMachineConfig@s.xlsx.meta
  63. 0 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartProcessConfig@s.xlsx
  64. 7 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartProcessConfig@s.xlsx.meta
  65. 0 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartSceneConfig@s.xlsx
  66. 7 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartSceneConfig@s.xlsx.meta
  67. 0 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartZoneConfig@s.xlsx
  68. 7 0
      Unity/Assets/Config/Excel/StartConfig/Localhost/StartZoneConfig@s.xlsx.meta
  69. 8 0
      Unity/Assets/Config/Excel/StartConfig/Release.meta
  70. 0 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx
  71. 7 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx.meta
  72. 0 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx
  73. 7 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx.meta
  74. 0 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx
  75. 7 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx.meta
  76. 0 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartZoneConfig@s.xlsx
  77. 7 0
      Unity/Assets/Config/Excel/StartConfig/Release/StartZoneConfig@s.xlsx.meta
  78. 8 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest.meta
  79. 0 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartMachineConfig@s.xlsx
  80. 7 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartMachineConfig@s.xlsx.meta
  81. 0 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartProcessConfig@s.xlsx
  82. 7 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartProcessConfig@s.xlsx.meta
  83. 0 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartSceneConfig@s.xlsx
  84. 7 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartSceneConfig@s.xlsx.meta
  85. 0 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartZoneConfig@s.xlsx
  86. 7 0
      Unity/Assets/Config/Excel/StartConfig/RouterTest/StartZoneConfig@s.xlsx.meta
  87. 0 0
      Unity/Assets/Config/Excel/UnitConfig.xlsx
  88. 7 0
      Unity/Assets/Config/Excel/UnitConfig.xlsx.meta
  89. 8 0
      Unity/Assets/Config/Proto.meta
  90. 0 0
      Unity/Assets/Config/Proto/InnerMessage_S_20001.proto
  91. 7 0
      Unity/Assets/Config/Proto/InnerMessage_S_20001.proto.meta
  92. 0 0
      Unity/Assets/Config/Proto/MongoMessage_S_30001.proto
  93. 7 0
      Unity/Assets/Config/Proto/MongoMessage_S_30001.proto.meta
  94. 0 0
      Unity/Assets/Config/Proto/OuterMessage_C_10001.proto
  95. 7 0
      Unity/Assets/Config/Proto/OuterMessage_C_10001.proto.meta
  96. 1 1
      Unity/Assets/Plugins/MongoDB/DnsClient.dll.meta
  97. 1 1
      Unity/Assets/Plugins/MongoDB/MongoDB.Bson.dll.meta
  98. 1 1
      Unity/Assets/Plugins/MongoDB/System.Runtime.CompilerServices.Unsafe.dll.meta
  99. 2 2
      Unity/Assets/Scripts/Codes/Hotfix/Share/Demo/EntryEvent1_InitShare.cs
  100. 0 85
      Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Config/ConfigComponentSystem.cs

+ 0 - 4
.editorconfig

@@ -1,4 +0,0 @@
-[*.cs]
-
-# CS4014: 由于此调用不会等待,因此在调用完成前将继续执行当前方法
-dotnet_diagnostic.CS4014.severity = error

+ 2 - 2
DotNet/Core/DotNet.Core.csproj

@@ -20,7 +20,7 @@
       <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
     </PropertyGroup>
 
-    <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> 
+    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">  
       <AllowUnsafeBlocks>true</AllowUnsafeBlocks> 
       <DefineConstants>DOTNET</DefineConstants>
       <OutputPath>..\..\Bin\</OutputPath>
@@ -34,7 +34,7 @@
     </ItemGroup>
     
     <ItemGroup>
-      <ProjectReference Include="..\..\Share\Analyzer\Share.Analyzer.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
+      <ProjectReference Include="..\..\Share\Analyzer\Share.Analyzer.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
       <ProjectReference Include="..\ThirdParty\DotNet.ThirdParty.csproj" />
     </ItemGroup>
 

+ 5 - 0
DotNet/Hotfix/DotNet.Hotfix.csproj

@@ -38,5 +38,10 @@
         <ProjectReference Include="..\..\Share\Analyzer\Share.Analyzer.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
         <ProjectReference Include="..\Model\DotNet.Model.csproj" />
     </ItemGroup>
+    <ItemGroup>
+      <Folder Include="..\..\Unity\Assets\Scripts\Codes\Hotfix\Share\Module\Config">
+        <Link>Share\Module\Config</Link>
+      </Folder>
+    </ItemGroup>
 
 </Project>

+ 2 - 2
DotNet/Model/DotNet.Model.csproj

@@ -25,7 +25,7 @@
     <ItemGroup>
 
         <Compile Include="..\..\Unity\Assets\Mono\Core\**\*.cs">
-            <Link>Core\%(RecursiveDir)%(FileName)%(Extension)</Link>  
+            <Link>Core\%(RecursiveDir)%(FileName)%(Extension)</Link> 
         </Compile> 
 
         <Compile Include="..\..\Unity\Assets\Scripts\Codes\Model\Server\**\*.cs"> 
@@ -40,7 +40,7 @@
             <Link>Share\%(RecursiveDir)%(FileName)%(Extension)</Link>
         </Compile>
 
-        <Compile Include="..\..\Unity\Assets\Scripts\Codes\Model\Generate\Server\**\*.cs">
+        <Compile Include="..\..\Unity\Assets\Scripts\Codes\Model\Generate\Server\**\*.cs"> 
             <Link>Generate\%(RecursiveDir)%(FileName)%(Extension)</Link>
         </Compile>
         

+ 0 - 4
Excel/Json/c/StartConfig/Release/StartProcessConfig.txt

@@ -1,4 +0,0 @@
-{"list":[
-{"_t":"StartProcessConfig","_id":1,"MachineId":1,"InnerPort":20001},
-{"_t":"StartProcessConfig","_id":2,"MachineId":1,"InnerPort":20002},
-]}

+ 0 - 9
Excel/Json/c/StartConfig/Release/StartSceneConfig.txt

@@ -1,9 +0,0 @@
-{"list":[
-{"_t":"StartSceneConfig","_id":1,"Process":1,"Zone":1,"SceneType":"Realm","Name":"Realm","OuterPort":10002},
-{"_t":"StartSceneConfig","_id":2,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate1","OuterPort":10003},
-{"_t":"StartSceneConfig","_id":3,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate2","OuterPort":10004},
-{"_t":"StartSceneConfig","_id":4,"Process":1,"Zone":1,"SceneType":"Location","Name":"Location","OuterPort":0},
-{"_t":"StartSceneConfig","_id":5,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map1","OuterPort":0},
-{"_t":"StartSceneConfig","_id":6,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map2","OuterPort":0},
-{"_t":"StartSceneConfig","_id":200,"Process":1,"Zone":2,"SceneType":"Robot","Name":"Robot01","OuterPort":0},
-]}

+ 0 - 4
Excel/Json/c/StartConfig/Release/StartZoneConfig.txt

@@ -1,4 +0,0 @@
-{"list":[
-{"_t":"StartZoneConfig","_id":1,"DBConnection":"mongodb://127.0.0.1","DBName":"ET1"},
-{"_t":"StartZoneConfig","_id":2,"DBConnection":"mongodb://127.0.0.1","DBName":"ET2"},
-]}

+ 0 - 3
Excel/Json/s/StartConfig/Release/StartMachineConfig.txt

@@ -1,3 +0,0 @@
-{"list":[
-{"_t":"StartMachineConfig","_id":1,"InnerIP":"192.168.1.111","OuterIP":"192.168.1.111","WatcherPort":"10000"},
-]}

+ 0 - 4
Excel/Json/s/StartConfig/Release/StartProcessConfig.txt

@@ -1,4 +0,0 @@
-{"list":[
-{"_t":"StartProcessConfig","_id":1,"MachineId":1,"InnerPort":20001},
-{"_t":"StartProcessConfig","_id":2,"MachineId":1,"InnerPort":20002},
-]}

+ 0 - 9
Excel/Json/s/StartConfig/Release/StartSceneConfig.txt

@@ -1,9 +0,0 @@
-{"list":[
-{"_t":"StartSceneConfig","_id":1,"Process":1,"Zone":1,"SceneType":"Realm","Name":"Realm","OuterPort":10002},
-{"_t":"StartSceneConfig","_id":2,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate1","OuterPort":10003},
-{"_t":"StartSceneConfig","_id":3,"Process":1,"Zone":1,"SceneType":"Gate","Name":"Gate2","OuterPort":10004},
-{"_t":"StartSceneConfig","_id":4,"Process":1,"Zone":1,"SceneType":"Location","Name":"Location","OuterPort":0},
-{"_t":"StartSceneConfig","_id":5,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map1","OuterPort":0},
-{"_t":"StartSceneConfig","_id":6,"Process":1,"Zone":1,"SceneType":"Map","Name":"Map2","OuterPort":0},
-{"_t":"StartSceneConfig","_id":200,"Process":1,"Zone":2,"SceneType":"Robot","Name":"Robot01","OuterPort":0},
-]}

+ 0 - 4
Excel/Json/s/StartConfig/Release/StartZoneConfig.txt

@@ -1,4 +0,0 @@
-{"list":[
-{"_t":"StartZoneConfig","_id":1,"DBConnection":"mongodb://127.0.0.1","DBName":"ET1"},
-{"_t":"StartZoneConfig","_id":2,"DBConnection":"mongodb://127.0.0.1","DBName":"ET2"},
-]}

+ 0 - 3
Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt

@@ -1,3 +0,0 @@
-{"list":[
-{"_t":"StartMachineConfig","_id":1,"InnerIP":"127.0.0.1","OuterIP":"127.0.0.1","WatcherPort":"10000"},
-]}

+ 10 - 26
Share/Tool/ExcelExporter/ExcelExporter.cs

@@ -57,9 +57,9 @@ namespace ET
         // 服务端因为机器人的存在必须包含客户端所有配置,所以单独的c字段没有意义,单独的c就表示cs
         public const string ServerClassDir = "../Unity/Assets/Scripts/Codes/Model/Generate/Server/Config";
 
-        private const string excelDir = "../Excel";
+        private const string excelDir = "../Unity/Assets/Config/Excel/";
 
-        private const string jsonDir = "../Excel/Json/{0}/{1}";
+        private const string jsonDir = "../Unity/Assets/Config/Excel/Json/{0}/{1}";
 
         private const string clientProtoDir = "../Unity/Assets/Bundles/Config/{0}";
         private const string serverProtoDir = "../Config/{0}";
@@ -111,8 +111,7 @@ namespace ET
                     Directory.Delete(ServerClassDir, true);
                 }
 
-                List<string> files = new List<string>();
-                FileHelper.GetAllFiles(files, excelDir);
+                List<string> files = FileHelper.GetAllFiles(excelDir);
                 foreach (string path in files)
                 {
                     string fileName = Path.GetFileName(path);
@@ -182,28 +181,16 @@ namespace ET
                 configAssemblies[(int) ConfigType.c] = DynamicBuild(ConfigType.c);
                 configAssemblies[(int) ConfigType.s] = DynamicBuild(ConfigType.s);
 
-                foreach (string path in Directory.GetFiles(excelDir))
-                {
-                    ExportExcel(path);
-                }
+                List<string> excels = FileHelper.GetAllFiles(excelDir, "*.xlsx");
                 
-                // 多线程导出
-                //List<Task> tasks = new List<Task>();
-                //foreach (string path in Directory.GetFiles(excelDir))
-                //{
-                //    Task task = Task.Run(() => ExportExcel(path));
-                //    tasks.Add(task);
-                //}
-                //Task.WaitAll(tasks.ToArray());
-
-                // 导出StartConfig
-                string startConfigPath = Path.Combine(excelDir, "StartConfig");
-                DirectoryInfo directoryInfo = new DirectoryInfo(startConfigPath);
-                foreach (FileInfo subStartConfig in directoryInfo.GetFiles("*", SearchOption.AllDirectories))
+                List<Task> tasks = new List<Task>();
+                foreach (string path in excels)
                 {
-                    ExportExcel(subStartConfig.FullName);
+                    Task task = Task.Run(() => ExportExcel(path));
+                    tasks.Add(task);
                 }
-
+                Task.WaitAll(tasks.ToArray());
+                
                 Log.Console("Export Excel Sucess!");
             }
             catch (Exception e)
@@ -595,9 +582,6 @@ namespace ET
                     return value;
                 case "string":
                     return $"\"{value}\"";
-                case "AttrConfig":
-                    string[] ss = value.Split(':');
-                    return "{\"_t\":\"AttrConfig\"," + "\"Ks\":" + ss[0] + ",\"Vs\":" + ss[1] + "}";
                 default:
                     throw new Exception($"不支持此类型: {type}");
             }

+ 54 - 41
Share/Tool/Proto2CS/Proto2CS.cs

@@ -23,7 +23,7 @@ namespace ET
 
     public static class InnerProto2CS
     {
-        private const string protoPath = ".";
+        private const string protoDir = "../Unity/Assets/Config/Proto";
         private const string clientMessagePath = "../Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/";
         private const string serverMessagePath = "../Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/";
         private static readonly char[] splitChars = { ' ', '\t' };
@@ -32,30 +32,39 @@ namespace ET
         public static void Proto2CS()
         {
             msgOpcode.Clear();
-            Proto2CS("ET", "../Proto/InnerMessage.proto", serverMessagePath, "InnerOpcode", OpcodeRangeDefine.InnerMinOpcode);
-            GenerateOpcode("ET", "InnerOpcode", serverMessagePath);
-            
-            Proto2CS("ET", "../Proto/MongoMessage.proto", serverMessagePath, "MongoOpcode", OpcodeRangeDefine.MongoMinOpcode);
-            GenerateOpcode("ET", "MongoOpcode", serverMessagePath);
 
-            Proto2CS("ET", "../Proto/OuterMessage.proto", serverMessagePath, "OuterOpcode", OpcodeRangeDefine.OuterMinOpcode);
-            GenerateOpcode("ET", "OuterOpcode", serverMessagePath);
+            if (Directory.Exists(clientMessagePath))
+            {
+                Directory.Delete(clientMessagePath, true);
+            }
 
-            Proto2CS("ET", "../Proto/OuterMessage.proto", clientMessagePath, "OuterOpcode", OpcodeRangeDefine.OuterMinOpcode);
-            GenerateOpcode("ET", "OuterOpcode", clientMessagePath);
-        }
+            if (Directory.Exists(serverMessagePath))
+            {
+                Directory.Delete(serverMessagePath, true);
+            }
 
-        public static void Proto2CS(string ns, string protoName, string outputPath, string opcodeClassName, int startOpcode)
-        {
-            if (!Directory.Exists(outputPath))
+            List<string> list = FileHelper.GetAllFiles(protoDir, "*proto");
+            foreach (string s in list)
             {
-                Directory.CreateDirectory(outputPath);
+                if (!s.EndsWith(".proto"))
+                {
+                    continue;
+                }
+                string fileName = Path.GetFileNameWithoutExtension(s);
+                string[] ss2 = fileName.Split('_');
+                string protoName = ss2[0];
+                string cs = ss2[1];
+                int startOpcode = int.Parse(ss2[2]);
+                ProtoFile2CS(fileName, protoName, cs, startOpcode);
             }
+        }
 
+        public static void ProtoFile2CS(string fileName, string protoName, string cs, int startOpcode)
+        {
+            string ns = "ET";
             msgOpcode.Clear();
-            string proto = Path.Combine(protoPath, protoName);
-            string csPath = Path.Combine(outputPath, Path.GetFileNameWithoutExtension(proto) + ".cs");
-
+            string proto = Path.Combine(protoDir, $"{fileName}.proto");
+            
             string s = File.ReadAllText(proto);
 
             StringBuilder sb = new StringBuilder();
@@ -64,7 +73,7 @@ namespace ET
             sb.Append("using System.Collections.Generic;\n");
             sb.Append($"namespace {ns}\n");
             sb.Append("{\n");
-
+            
             bool isMsgStart = false;
             foreach (string line in s.Split('\n'))
             {
@@ -102,7 +111,7 @@ namespace ET
 
                     msgOpcode.Add(new OpcodeInfo() { Name = msgName, Opcode = ++startOpcode });
 
-                    sb.Append($"\t[Message({opcodeClassName}.{msgName})]\n");
+                    sb.Append($"\t[Message({protoName}.{msgName})]\n");
                     sb.Append($"\t[ProtoContract]\n");
                     sb.Append($"\tpublic partial class {msgName}: Object");
                     if (parentClass == "IActorMessage" || parentClass == "IActorRequest" || parentClass == "IActorResponse")
@@ -156,39 +165,43 @@ namespace ET
                 }
             }
 
-            sb.Append("}\n");
-            using FileStream txt = new FileStream(csPath, FileMode.Create, FileAccess.ReadWrite);
-            using StreamWriter sw = new StreamWriter(txt);
-            sw.Write(sb.ToString());
-        }
 
-        private static void GenerateOpcode(string ns, string outputFileName, string outputPath)
-        {
-            if (!Directory.Exists(outputPath))
-            {
-                Directory.CreateDirectory(outputPath);
-            }
-
-            StringBuilder sb = new StringBuilder();
-            sb.AppendLine($"namespace {ns}");
-            sb.AppendLine("{");
-            sb.AppendLine($"\tpublic static partial class {outputFileName}");
-            sb.AppendLine("\t{");
+            sb.Append("\tpublic static class " + protoName + "\n\t{\n");
             foreach (OpcodeInfo info in msgOpcode)
             {
                 sb.AppendLine($"\t\t public const ushort {info.Name} = {info.Opcode};");
             }
 
             sb.AppendLine("\t}");
-            sb.AppendLine("}");
+            
+
+            sb.Append("}\n");
+
+            if (cs.Contains("C"))
+            {
+                GenerateCS(sb, clientMessagePath, proto);
+                GenerateCS(sb, serverMessagePath, proto);
+            }
+            
+            if (cs.Contains("S"))
+            {
+                GenerateCS(sb, serverMessagePath, proto);
+            }
+        }
 
-            string csPath = Path.Combine(outputPath, outputFileName + ".cs");
+        private static void GenerateCS(StringBuilder sb, string path, string proto)
+        {
+            if (!Directory.Exists(path))
+            {
+                Directory.CreateDirectory(path);
+            }
 
-            using FileStream txt = new FileStream(csPath, FileMode.Create);
+            string csPath = Path.Combine(path, Path.GetFileNameWithoutExtension(proto) + ".cs");
+            using FileStream txt = new FileStream(csPath, FileMode.Create, FileAccess.ReadWrite);
             using StreamWriter sw = new StreamWriter(txt);
             sw.Write(sb.ToString());
         }
-
+        
         private static void Repeated(StringBuilder sb, string ns, string newline)
         {
             try

+ 1 - 9
Share/Tool/Template.txt

@@ -7,11 +7,8 @@ namespace ET
 {
     [ProtoContract]
     [Config]
-    public partial class (ConfigName)Category : ProtoObject, IMerge
+    public partial class (ConfigName)Category : ConfigSingleton<(ConfigName)Category>, IMerge
     {
-        [StaticField]
-        public static (ConfigName)Category Instance;
-		
         [ProtoIgnore]
         [BsonIgnore]
         private Dictionary<int, (ConfigName)> dict = new Dictionary<int, (ConfigName)>();
@@ -20,11 +17,6 @@ namespace ET
         [ProtoMember(1)]
         private List<(ConfigName)> list = new List<(ConfigName)>();
 		
-        public (ConfigName)Category()
-        {
-            Instance = this;
-        }
-        
         public void Merge(object o)
         {
             (ConfigName)Category s = o as (ConfigName)Category;

+ 8 - 0
Unity/Assets/Config.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6d7328f5c684291468b52548a8c44c46
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 49beed796aedfcb47bcc8d0f602b1b52
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/AIConfig.xlsx → Unity/Assets/Config/Excel/AIConfig.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/AIConfig.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e44cd40079d0e664bb2ccc089681cae4
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 501282e594e3245419ee949574906071
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/c.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4fe512649f5d7774e9125fbb78436498
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/AIConfig.txt → Unity/Assets/Config/Excel/Json/c/AIConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/c/AIConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b88687c15ea48dc4cada1e52004304cc
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/UnitConfig.txt → Unity/Assets/Config/Excel/Json/c/UnitConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/c/UnitConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cd3543cc4b29488418b045f71f4133b1
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/s.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1f585e5a8747e554ab7b11503f4038cf
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/AIConfig.txt → Unity/Assets/Config/Excel/Json/s/AIConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/AIConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: be935fa169231904b88c3233940e0849
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b5dcbba2922fb8c40b1ded2b131fbf32
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1207183085afb94ebba188c873de90e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/StartConfig/Localhost/StartMachineConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartMachineConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartMachineConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4b7dedc0294afd54b8f39f64db027d34
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/Localhost/StartProcessConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartProcessConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartProcessConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2b17cc499fd01624f970285b3052a3bb
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/Localhost/StartSceneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartSceneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartSceneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: caab1c7c5c50c4245a1d3fa52588fe12
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/Localhost/StartZoneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartZoneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Localhost/StartZoneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: eba86b98111a1b4478ac5c5b2ba3f115
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Release.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7d7351b6d231d0f489d3a55ec8fe3b0e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/StartConfig/Release/StartMachineConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartMachineConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartMachineConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f58ef8746b73b3b438f1a9c3641ec873
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/StartConfig/Localhost/StartProcessConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartProcessConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartProcessConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 02a0b21f0af6692439a4c1c092fd104a
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/StartConfig/Localhost/StartSceneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartSceneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartSceneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4f94bb1647b1c3d4481f9f467fa28299
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/c/StartConfig/Localhost/StartZoneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartZoneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/Release/StartZoneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2c63825a3c220fa42a00cdac532a9733
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 76e114246db93aa448ee04269d343796
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/Localhost/StartMachineConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartMachineConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1a7746d028457c946adfeae57031dd12
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/RouterTest/StartProcessConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartProcessConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartProcessConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6bc04b5dfa310614a951f6509cda7159
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/RouterTest/StartSceneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartSceneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartSceneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 62f317d041e7fe043835cd3a022bad8b
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/StartConfig/RouterTest/StartZoneConfig.txt → Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartZoneConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/StartConfig/RouterTest/StartZoneConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d2d0bb3dc31677941b24dc21aff86c65
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/Json/s/UnitConfig.txt → Unity/Assets/Config/Excel/Json/s/UnitConfig.txt


+ 7 - 0
Unity/Assets/Config/Excel/Json/s/UnitConfig.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 663160fc27254244a8f750da2f23997a
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/StartConfig.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 84a42be1cb51ddc43a5fc8b9a3aa6c1e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/StartConfig/Localhost.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c216baca1410ef044bfe845483e6f6e4
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Localhost/StartMachineConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Localhost/StartMachineConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Localhost/StartMachineConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0c6a443736c53654c84bb430b78df758
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Localhost/StartProcessConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Localhost/StartProcessConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Localhost/StartProcessConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 631281e989abb6c4e80106b0502d46a8
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Localhost/StartSceneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Localhost/StartSceneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Localhost/StartSceneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 96431e2b1becbd041acbca2842de9465
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Localhost/StartZoneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Localhost/StartZoneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Localhost/StartZoneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f5acaa5394763914297715289ae69489
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/StartConfig/Release.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f35157653367b5340a880c68a61520c8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Release/StartMachineConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Release/StartMachineConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: aa374e1d46aebcd42be062b678154682
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Release/StartProcessConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Release/StartProcessConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f903631f3f41ca645923a79959806dfd
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Release/StartSceneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Release/StartSceneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 24efca463d6dc6544ba48a094f4dbcd2
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/Release/StartZoneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/Release/StartZoneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/Release/StartZoneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a1e51945b5befcd47adde1074bd312a1
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Excel/StartConfig/RouterTest.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d60a51f0d6228c149872f36e6db2015e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/RouterTest/StartMachineConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/RouterTest/StartMachineConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/RouterTest/StartMachineConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 16cd92ca656d43543947a17e27d46057
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/RouterTest/StartProcessConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/RouterTest/StartProcessConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/RouterTest/StartProcessConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 219412ac221b8044cb7783ef1c46ab75
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/RouterTest/StartSceneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/RouterTest/StartSceneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/RouterTest/StartSceneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8fc4f69252da4c94d979a92a0b0c153f
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/StartConfig/RouterTest/StartZoneConfig@s.xlsx → Unity/Assets/Config/Excel/StartConfig/RouterTest/StartZoneConfig@s.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/StartConfig/RouterTest/StartZoneConfig@s.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c31b5b5deab839f48b5ec0f69fac286c
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Excel/UnitConfig.xlsx → Unity/Assets/Config/Excel/UnitConfig.xlsx


+ 7 - 0
Unity/Assets/Config/Excel/UnitConfig.xlsx.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d307532fe7ed9c747a769ac01933093b
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Unity/Assets/Config/Proto.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9a6f0d757530d5d4ba635f07eb155d77
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Proto/InnerMessage.proto → Unity/Assets/Config/Proto/InnerMessage_S_20001.proto


+ 7 - 0
Unity/Assets/Config/Proto/InnerMessage_S_20001.proto.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0223e72464e3a1741a8277bf2f1bde07
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Proto/MongoMessage.proto → Unity/Assets/Config/Proto/MongoMessage_S_30001.proto


+ 7 - 0
Unity/Assets/Config/Proto/MongoMessage_S_30001.proto.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 11a04304135cefb46ad32d0a1ae88064
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Proto/OuterMessage.proto → Unity/Assets/Config/Proto/OuterMessage_C_10001.proto


+ 7 - 0
Unity/Assets/Config/Proto/OuterMessage_C_10001.proto.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 66bdeffad293b944c90bba52bb3e1853
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Unity/Assets/Plugins/MongoDB/DnsClient.dll.meta

@@ -47,7 +47,7 @@ PluginImporter:
     second:
       enabled: 1
       settings:
-        CPU: x86_64
+        CPU: AnyCPU
   - first:
       Standalone: OSXUniversal
     second:

+ 1 - 1
Unity/Assets/Plugins/MongoDB/MongoDB.Bson.dll.meta

@@ -47,7 +47,7 @@ PluginImporter:
     second:
       enabled: 1
       settings:
-        CPU: x86_64
+        CPU: AnyCPU
   - first:
       Standalone: OSXUniversal
     second:

+ 1 - 1
Unity/Assets/Plugins/MongoDB/System.Runtime.CompilerServices.Unsafe.dll.meta

@@ -47,7 +47,7 @@ PluginImporter:
     second:
       enabled: 1
       settings:
-        CPU: x86_64
+        CPU: AnyCPU
   - first:
       Standalone: OSXUniversal
     second:

+ 2 - 2
Unity/Assets/Scripts/Codes/Hotfix/Share/Demo/EntryEvent1_InitShare.cs

@@ -13,8 +13,8 @@ namespace ET
             Game.Scene.AddComponent<NumericWatcherComponent>();
             Game.Scene.AddComponent<AIDispatcherComponent>();
             Game.Scene.AddComponent<ClientSceneManagerComponent>();
-            
-            await Game.Scene.AddComponent<ConfigComponent>().LoadAsync();
+
+            await Game.AddSingleton<ConfigComponent>().LoadAsync();
         }
     }
 }

+ 0 - 85
Unity/Assets/Scripts/Codes/Hotfix/Share/Module/Config/ConfigComponentSystem.cs

@@ -1,85 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-
-namespace ET
-{
-	[FriendOf(typeof(ConfigComponent))]
-	public static class ConfigComponentSystem
-	{
-		[ObjectSystem]
-		public class ConfigAwakeSystem : AwakeSystem<ConfigComponent>
-		{
-			protected override void Awake(ConfigComponent self)
-			{
-				ConfigComponent.Instance = self;
-			}
-		}
-    
-		[ObjectSystem]
-		public class ConfigDestroySystem : DestroySystem<ConfigComponent>
-		{
-			protected override void Destroy(ConfigComponent self)
-			{
-				ConfigComponent.Instance = null;
-			}
-		}
-		
-		public static void LoadOneConfig(this ConfigComponent self, Type configType)
-		{
-			byte[] oneConfigBytes = EventSystem.Instance.Callback<ConfigComponent.GetOneConfigBytes, byte[]>(new ConfigComponent.GetOneConfigBytes() {ConfigName = configType.FullName});
-
-			object category = ProtobufHelper.FromBytes(configType, oneConfigBytes, 0, oneConfigBytes.Length);
-
-			self.AllConfig[configType] = category;
-		}
-		
-		public static void Load(this ConfigComponent self)
-		{
-			self.AllConfig.Clear();
-			HashSet<Type> types = EventSystem.Instance.GetTypes(typeof (ConfigAttribute));
-			
-			Dictionary<string, byte[]> configBytes = 
-			EventSystem.Instance.Callback<ConfigComponent.GetAllConfigBytes, Dictionary<string, byte[]>>(
-				new ConfigComponent.GetAllConfigBytes());
-
-			foreach (Type type in types)
-			{
-				self.LoadOneInThread(type, configBytes);
-			}
-		}
-		
-		public static async ETTask LoadAsync(this ConfigComponent self)
-		{
-			self.AllConfig.Clear();
-			HashSet<Type> types = EventSystem.Instance.GetTypes(typeof (ConfigAttribute));
-			
-			Dictionary<string, byte[]> configBytes = 
-					EventSystem.Instance.Callback<ConfigComponent.GetAllConfigBytes, Dictionary<string, byte[]>>(
-						new ConfigComponent.GetAllConfigBytes());
-
-			using (ListComponent<Task> listTasks = ListComponent<Task>.Create())
-			{
-				foreach (Type type in types)
-				{
-					Task task = Task.Run(() => self.LoadOneInThread(type, configBytes));
-					listTasks.Add(task);
-				}
-
-				await Task.WhenAll(listTasks.ToArray());
-			}
-		}
-
-		private static void LoadOneInThread(this ConfigComponent self, Type configType, Dictionary<string, byte[]> configBytes)
-		{
-			byte[] oneConfigBytes = configBytes[configType.Name];
-
-			object category = ProtobufHelper.FromBytes(configType, oneConfigBytes, 0, oneConfigBytes.Length);
-
-			lock (self)
-			{
-				self.AllConfig[configType] = category;	
-			}
-		}
-	}
-}

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor