Răsfoiți Sursa

Proto2cs跟ExcelExporter加上模块名

tanghai 1 an în urmă
părinte
comite
5304e1c994
90 a modificat fișierele cu 189 adăugiri și 124 ștergeri
  1. 0 0
      Config/Excel/cs/Core/StartConfig/Benchmark/StartMachineConfigCategory.bytes
  2. 0 0
      Config/Excel/cs/Core/StartConfig/Benchmark/StartProcessConfigCategory.bytes
  3. 0 0
      Config/Excel/cs/Core/StartConfig/Benchmark/StartSceneConfigCategory.bytes
  4. 0 0
      Config/Excel/cs/Core/StartConfig/Benchmark/StartZoneConfigCategory.bytes
  5. 0 0
      Config/Excel/cs/Core/StartConfig/Localhost/StartMachineConfigCategory.bytes
  6. 0 0
      Config/Excel/cs/Core/StartConfig/Localhost/StartProcessConfigCategory.bytes
  7. 0 0
      Config/Excel/cs/Core/StartConfig/Localhost/StartSceneConfigCategory.bytes
  8. 0 0
      Config/Excel/cs/Core/StartConfig/Localhost/StartZoneConfigCategory.bytes
  9. 0 0
      Config/Excel/cs/Core/StartConfig/Release/StartMachineConfigCategory.bytes
  10. 0 0
      Config/Excel/cs/Core/StartConfig/Release/StartProcessConfigCategory.bytes
  11. 0 0
      Config/Excel/cs/Core/StartConfig/Release/StartSceneConfigCategory.bytes
  12. 0 0
      Config/Excel/cs/Core/StartConfig/Release/StartZoneConfigCategory.bytes
  13. 0 0
      Config/Excel/cs/Core/StartConfig/RouterTest/StartMachineConfigCategory.bytes
  14. 0 0
      Config/Excel/cs/Core/StartConfig/RouterTest/StartProcessConfigCategory.bytes
  15. 0 0
      Config/Excel/cs/Core/StartConfig/RouterTest/StartSceneConfigCategory.bytes
  16. 0 0
      Config/Excel/cs/Core/StartConfig/RouterTest/StartZoneConfigCategory.bytes
  17. 0 0
      Config/Excel/s/Core/StartConfig/Benchmark/StartMachineConfigCategory.bytes
  18. 0 0
      Config/Excel/s/Core/StartConfig/Benchmark/StartProcessConfigCategory.bytes
  19. 0 0
      Config/Excel/s/Core/StartConfig/Benchmark/StartSceneConfigCategory.bytes
  20. 0 0
      Config/Excel/s/Core/StartConfig/Benchmark/StartZoneConfigCategory.bytes
  21. 0 0
      Config/Excel/s/Core/StartConfig/Localhost/StartMachineConfigCategory.bytes
  22. 0 0
      Config/Excel/s/Core/StartConfig/Localhost/StartProcessConfigCategory.bytes
  23. 0 0
      Config/Excel/s/Core/StartConfig/Localhost/StartSceneConfigCategory.bytes
  24. 0 0
      Config/Excel/s/Core/StartConfig/Localhost/StartZoneConfigCategory.bytes
  25. 0 0
      Config/Excel/s/Core/StartConfig/Release/StartMachineConfigCategory.bytes
  26. 0 0
      Config/Excel/s/Core/StartConfig/Release/StartProcessConfigCategory.bytes
  27. 0 0
      Config/Excel/s/Core/StartConfig/Release/StartSceneConfigCategory.bytes
  28. 0 0
      Config/Excel/s/Core/StartConfig/Release/StartZoneConfigCategory.bytes
  29. 0 0
      Config/Excel/s/Core/StartConfig/RouterTest/StartMachineConfigCategory.bytes
  30. 0 0
      Config/Excel/s/Core/StartConfig/RouterTest/StartProcessConfigCategory.bytes
  31. 0 0
      Config/Excel/s/Core/StartConfig/RouterTest/StartSceneConfigCategory.bytes
  32. 0 0
      Config/Excel/s/Core/StartConfig/RouterTest/StartZoneConfigCategory.bytes
  33. 0 0
      Config/Json/cs/Core/StartConfig/Benchmark/StartMachineConfig.txt
  34. 0 0
      Config/Json/cs/Core/StartConfig/Benchmark/StartProcessConfig.txt
  35. 0 0
      Config/Json/cs/Core/StartConfig/Benchmark/StartSceneConfig.txt
  36. 0 0
      Config/Json/cs/Core/StartConfig/Benchmark/StartZoneConfig.txt
  37. 0 0
      Config/Json/cs/Core/StartConfig/Localhost/StartMachineConfig.txt
  38. 0 0
      Config/Json/cs/Core/StartConfig/Localhost/StartProcessConfig.txt
  39. 0 0
      Config/Json/cs/Core/StartConfig/Localhost/StartSceneConfig.txt
  40. 0 0
      Config/Json/cs/Core/StartConfig/Localhost/StartZoneConfig.txt
  41. 0 0
      Config/Json/cs/Core/StartConfig/Release/StartMachineConfig.txt
  42. 0 0
      Config/Json/cs/Core/StartConfig/Release/StartProcessConfig.txt
  43. 0 0
      Config/Json/cs/Core/StartConfig/Release/StartSceneConfig.txt
  44. 0 0
      Config/Json/cs/Core/StartConfig/Release/StartZoneConfig.txt
  45. 0 0
      Config/Json/cs/Core/StartConfig/RouterTest/StartMachineConfig.txt
  46. 0 0
      Config/Json/cs/Core/StartConfig/RouterTest/StartProcessConfig.txt
  47. 0 0
      Config/Json/cs/Core/StartConfig/RouterTest/StartSceneConfig.txt
  48. 0 0
      Config/Json/cs/Core/StartConfig/RouterTest/StartZoneConfig.txt
  49. 0 0
      Config/Json/s/Core/StartConfig/Benchmark/StartMachineConfig.txt
  50. 0 0
      Config/Json/s/Core/StartConfig/Benchmark/StartProcessConfig.txt
  51. 0 0
      Config/Json/s/Core/StartConfig/Benchmark/StartSceneConfig.txt
  52. 0 0
      Config/Json/s/Core/StartConfig/Benchmark/StartZoneConfig.txt
  53. 0 0
      Config/Json/s/Core/StartConfig/Localhost/StartMachineConfig.txt
  54. 0 0
      Config/Json/s/Core/StartConfig/Localhost/StartProcessConfig.txt
  55. 0 0
      Config/Json/s/Core/StartConfig/Localhost/StartSceneConfig.txt
  56. 0 0
      Config/Json/s/Core/StartConfig/Localhost/StartZoneConfig.txt
  57. 0 0
      Config/Json/s/Core/StartConfig/Release/StartMachineConfig.txt
  58. 0 0
      Config/Json/s/Core/StartConfig/Release/StartProcessConfig.txt
  59. 0 0
      Config/Json/s/Core/StartConfig/Release/StartSceneConfig.txt
  60. 0 0
      Config/Json/s/Core/StartConfig/Release/StartZoneConfig.txt
  61. 0 0
      Config/Json/s/Core/StartConfig/RouterTest/StartMachineConfig.txt
  62. 0 0
      Config/Json/s/Core/StartConfig/RouterTest/StartProcessConfig.txt
  63. 0 0
      Config/Json/s/Core/StartConfig/RouterTest/StartSceneConfig.txt
  64. 0 0
      Config/Json/s/Core/StartConfig/RouterTest/StartZoneConfig.txt
  65. 0 0
      Generate/Client/Proto/Core/ClientMessage_C_1000.cs
  66. 0 0
      Generate/Client/Proto/Core/OuterMessage_C_10001.cs
  67. 1 1
      Generate/ClientServer/Excel/Core/StartMachineConfig.cs
  68. 1 1
      Generate/ClientServer/Excel/Core/StartProcessConfig.cs
  69. 1 1
      Generate/ClientServer/Excel/Core/StartSceneConfig.cs
  70. 1 1
      Generate/ClientServer/Excel/Core/StartZoneConfig.cs
  71. 0 0
      Generate/ClientServer/Proto/Core/ClientMessage_C_1000.cs
  72. 0 0
      Generate/ClientServer/Proto/Core/InnerMessage_S_20001.cs
  73. 0 0
      Generate/ClientServer/Proto/Core/OuterMessage_C_10001.cs
  74. 1 1
      Generate/Server/Excel/Core/StartMachineConfig.cs
  75. 1 1
      Generate/Server/Excel/Core/StartProcessConfig.cs
  76. 1 1
      Generate/Server/Excel/Core/StartSceneConfig.cs
  77. 1 1
      Generate/Server/Excel/Core/StartZoneConfig.cs
  78. 0 0
      Generate/Server/Proto/Core/ClientMessage_C_1000.cs
  79. 0 0
      Generate/Server/Proto/Core/InnerMessage_S_20001.cs
  80. 0 0
      Generate/Server/Proto/Core/OuterMessage_C_10001.cs
  81. 64 44
      Share/Tool/ExcelExporter/ExcelExporter.cs
  82. 27 14
      Share/Tool/Proto2CS/Proto2CS.cs
  83. 1 1
      Share/Tool/Template.txt
  84. 1 1
      Unity/Packages/com.et.core/Scripts/CodeMode~/ClientServer/StartProcessConfig.cs
  85. 1 1
      Unity/Packages/com.et.core/Scripts/CodeMode~/Server/StartProcessConfig.cs
  86. 1 1
      Unity/Packages/com.et.core/Scripts/Core/Helper/FileHelper.cs
  87. 10 0
      Unity/Packages/com.et.core/Scripts/Core/Helper/StringHelper.cs
  88. 2 2
      Unity/Packages/com.et.core/Scripts/Model~/Server/Message/ProcessOuterSender.cs
  89. 71 49
      Unity/Packages/com.et.loader/Scripts/Editor/AssetPostProcessor/OnGenerateCSProjectProcessor.cs
  90. 3 3
      Unity/Packages/packages-lock.json

+ 0 - 0
Config/Excel/cs/StartConfig/Benchmark/StartMachineConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Benchmark/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Benchmark/StartProcessConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Benchmark/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Benchmark/StartSceneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Benchmark/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Benchmark/StartZoneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Benchmark/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Localhost/StartMachineConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Localhost/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Localhost/StartProcessConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Localhost/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Localhost/StartSceneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Localhost/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Localhost/StartZoneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Localhost/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Release/StartMachineConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Release/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Release/StartProcessConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Release/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Release/StartSceneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Release/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/Release/StartZoneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/Release/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/RouterTest/StartMachineConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/RouterTest/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/RouterTest/StartProcessConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/RouterTest/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/RouterTest/StartSceneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/RouterTest/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/cs/StartConfig/RouterTest/StartZoneConfigCategory.bytes → Config/Excel/cs/Core/StartConfig/RouterTest/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Benchmark/StartMachineConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Benchmark/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Benchmark/StartProcessConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Benchmark/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Benchmark/StartSceneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Benchmark/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Benchmark/StartZoneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Benchmark/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Localhost/StartMachineConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Localhost/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Localhost/StartProcessConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Localhost/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Localhost/StartSceneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Localhost/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Localhost/StartZoneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Localhost/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Release/StartMachineConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Release/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Release/StartProcessConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Release/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Release/StartSceneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Release/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/Release/StartZoneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/Release/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/RouterTest/StartMachineConfigCategory.bytes → Config/Excel/s/Core/StartConfig/RouterTest/StartMachineConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/RouterTest/StartProcessConfigCategory.bytes → Config/Excel/s/Core/StartConfig/RouterTest/StartProcessConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/RouterTest/StartSceneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/RouterTest/StartSceneConfigCategory.bytes


+ 0 - 0
Config/Excel/s/StartConfig/RouterTest/StartZoneConfigCategory.bytes → Config/Excel/s/Core/StartConfig/RouterTest/StartZoneConfigCategory.bytes


+ 0 - 0
Config/Json/cs/StartConfig/Benchmark/StartMachineConfig.txt → Config/Json/cs/Core/StartConfig/Benchmark/StartMachineConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Benchmark/StartProcessConfig.txt → Config/Json/cs/Core/StartConfig/Benchmark/StartProcessConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Benchmark/StartSceneConfig.txt → Config/Json/cs/Core/StartConfig/Benchmark/StartSceneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Benchmark/StartZoneConfig.txt → Config/Json/cs/Core/StartConfig/Benchmark/StartZoneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Localhost/StartMachineConfig.txt → Config/Json/cs/Core/StartConfig/Localhost/StartMachineConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Localhost/StartProcessConfig.txt → Config/Json/cs/Core/StartConfig/Localhost/StartProcessConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Localhost/StartSceneConfig.txt → Config/Json/cs/Core/StartConfig/Localhost/StartSceneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Localhost/StartZoneConfig.txt → Config/Json/cs/Core/StartConfig/Localhost/StartZoneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Release/StartMachineConfig.txt → Config/Json/cs/Core/StartConfig/Release/StartMachineConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Release/StartProcessConfig.txt → Config/Json/cs/Core/StartConfig/Release/StartProcessConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Release/StartSceneConfig.txt → Config/Json/cs/Core/StartConfig/Release/StartSceneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/Release/StartZoneConfig.txt → Config/Json/cs/Core/StartConfig/Release/StartZoneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/RouterTest/StartMachineConfig.txt → Config/Json/cs/Core/StartConfig/RouterTest/StartMachineConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/RouterTest/StartProcessConfig.txt → Config/Json/cs/Core/StartConfig/RouterTest/StartProcessConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/RouterTest/StartSceneConfig.txt → Config/Json/cs/Core/StartConfig/RouterTest/StartSceneConfig.txt


+ 0 - 0
Config/Json/cs/StartConfig/RouterTest/StartZoneConfig.txt → Config/Json/cs/Core/StartConfig/RouterTest/StartZoneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Benchmark/StartMachineConfig.txt → Config/Json/s/Core/StartConfig/Benchmark/StartMachineConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Benchmark/StartProcessConfig.txt → Config/Json/s/Core/StartConfig/Benchmark/StartProcessConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Benchmark/StartSceneConfig.txt → Config/Json/s/Core/StartConfig/Benchmark/StartSceneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Benchmark/StartZoneConfig.txt → Config/Json/s/Core/StartConfig/Benchmark/StartZoneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Localhost/StartMachineConfig.txt → Config/Json/s/Core/StartConfig/Localhost/StartMachineConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Localhost/StartProcessConfig.txt → Config/Json/s/Core/StartConfig/Localhost/StartProcessConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Localhost/StartSceneConfig.txt → Config/Json/s/Core/StartConfig/Localhost/StartSceneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Localhost/StartZoneConfig.txt → Config/Json/s/Core/StartConfig/Localhost/StartZoneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Release/StartMachineConfig.txt → Config/Json/s/Core/StartConfig/Release/StartMachineConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Release/StartProcessConfig.txt → Config/Json/s/Core/StartConfig/Release/StartProcessConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Release/StartSceneConfig.txt → Config/Json/s/Core/StartConfig/Release/StartSceneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/Release/StartZoneConfig.txt → Config/Json/s/Core/StartConfig/Release/StartZoneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/RouterTest/StartMachineConfig.txt → Config/Json/s/Core/StartConfig/RouterTest/StartMachineConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/RouterTest/StartProcessConfig.txt → Config/Json/s/Core/StartConfig/RouterTest/StartProcessConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/RouterTest/StartSceneConfig.txt → Config/Json/s/Core/StartConfig/RouterTest/StartSceneConfig.txt


+ 0 - 0
Config/Json/s/StartConfig/RouterTest/StartZoneConfig.txt → Config/Json/s/Core/StartConfig/RouterTest/StartZoneConfig.txt


+ 0 - 0
Generate/Client/Proto/ClientMessage_C_1000.cs → Generate/Client/Proto/Core/ClientMessage_C_1000.cs


+ 0 - 0
Generate/Client/Proto/OuterMessage_C_10001.cs → Generate/Client/Proto/Core/OuterMessage_C_10001.cs


+ 1 - 1
Generate/ClientServer/Excel/StartMachineConfig.cs → Generate/ClientServer/Excel/Core/StartMachineConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartMachineConfigCategory : Singleton<StartMachineConfigCategory>, IMerge

+ 1 - 1
Generate/Server/Excel/StartProcessConfig.cs → Generate/ClientServer/Excel/Core/StartProcessConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartProcessConfigCategory : Singleton<StartProcessConfigCategory>, IMerge

+ 1 - 1
Generate/ClientServer/Excel/StartSceneConfig.cs → Generate/ClientServer/Excel/Core/StartSceneConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartSceneConfigCategory : Singleton<StartSceneConfigCategory>, IMerge

+ 1 - 1
Generate/Server/Excel/StartZoneConfig.cs → Generate/ClientServer/Excel/Core/StartZoneConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartZoneConfigCategory : Singleton<StartZoneConfigCategory>, IMerge

+ 0 - 0
Generate/ClientServer/Proto/ClientMessage_C_1000.cs → Generate/ClientServer/Proto/Core/ClientMessage_C_1000.cs


+ 0 - 0
Generate/ClientServer/Proto/InnerMessage_S_20001.cs → Generate/ClientServer/Proto/Core/InnerMessage_S_20001.cs


+ 0 - 0
Generate/ClientServer/Proto/OuterMessage_C_10001.cs → Generate/ClientServer/Proto/Core/OuterMessage_C_10001.cs


+ 1 - 1
Generate/Server/Excel/StartMachineConfig.cs → Generate/Server/Excel/Core/StartMachineConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartMachineConfigCategory : Singleton<StartMachineConfigCategory>, IMerge

+ 1 - 1
Generate/ClientServer/Excel/StartProcessConfig.cs → Generate/Server/Excel/Core/StartProcessConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartProcessConfigCategory : Singleton<StartProcessConfigCategory>, IMerge

+ 1 - 1
Generate/Server/Excel/StartSceneConfig.cs → Generate/Server/Excel/Core/StartSceneConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartSceneConfigCategory : Singleton<StartSceneConfigCategory>, IMerge

+ 1 - 1
Generate/ClientServer/Excel/StartZoneConfig.cs → Generate/Server/Excel/Core/StartZoneConfig.cs

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace ET.Core
 {
     [Config]
     public partial class StartZoneConfigCategory : Singleton<StartZoneConfigCategory>, IMerge

+ 0 - 0
Generate/Server/Proto/ClientMessage_C_1000.cs → Generate/Server/Proto/Core/ClientMessage_C_1000.cs


+ 0 - 0
Generate/Server/Proto/InnerMessage_S_20001.cs → Generate/Server/Proto/Core/InnerMessage_S_20001.cs


+ 0 - 0
Generate/Server/Proto/OuterMessage_C_10001.cs → Generate/Server/Proto/Core/OuterMessage_C_10001.cs


+ 64 - 44
Share/Tool/ExcelExporter/ExcelExporter.cs

@@ -45,6 +45,8 @@ namespace ET
     // 这里加个标签是为了防止编译时裁剪掉protobuf,因为整个tool工程没有用到protobuf,编译会去掉引用,然后动态编译就会出错
     class Table
     {
+        public string Name;
+        public string Module;
         public bool C;
         public bool S;
         public int Index;
@@ -61,22 +63,25 @@ namespace ET
 
         private const string CSClassDir = "../Generate/ClientServer/Excel/";
 
-        private const string jsonDir = "../Config/Json/{0}/{1}";
+        private const string jsonDir = "../Config/Json/{0}/{1}/{2}/";
 
         private const string clientProtoDir = "../Unity/Assets/Bundles/Config";
-        private const string serverProtoDir = "../Config/Excel/{0}/{1}";
+        private const string serverProtoDir = "../Config/Excel/{0}/{1}/{2}";
         private const string replaceStr = "/{0}/{1}";
         private static Assembly[] configAssemblies = new Assembly[3];
 
         private static Dictionary<string, Table> tables = new Dictionary<string, Table>();
         private static Dictionary<string, ExcelPackage> packages = new Dictionary<string, ExcelPackage>();
 
-        private static Table GetTable(string protoName)
+        private static Table GetTable(string module, string protoName)
         {
-            if (!tables.TryGetValue(protoName, out var table))
+            string fullName = module + "." + protoName;
+            if (!tables.TryGetValue(fullName, out var table))
             {
                 table = new Table();
-                tables[protoName] = table;
+                table.Module = module;
+                table.Name = protoName;
+                tables[fullName] = table;
             }
 
             return table;
@@ -128,7 +133,7 @@ namespace ET
                     Directory.Delete(serverProtoDirParent, true);
                 }
                 
-                List<string> list = new List<string>();
+                List<(string, string)> list = new();
                 foreach (string directory in Directory.GetDirectories("../Unity/Packages", "com.et.*"))
                 {
                     string p = Path.Combine(directory, "Excel");
@@ -136,7 +141,11 @@ namespace ET
                     {
                         continue;
                     }
-                    list.Add(p);
+                    
+                    string baseName = Path.GetFileName(directory);
+                    string moduleName = baseName.Substring(7);
+                    moduleName = StringHelper.CapitalizeFirstLetter(moduleName);
+                    list.Add((moduleName, p));
                 }
                 
                 foreach (string directory in Directory.GetDirectories("../Unity/Library/PackageCache", "com.et.*"))
@@ -146,23 +155,28 @@ namespace ET
                     {
                         continue;
                     }
-                    list.Add(p);
+                    
+                    string baseName = Path.GetFileName(directory);
+                    string moduleName = baseName.Substring(7);
+                    moduleName = StringHelper.CapitalizeFirstLetter(moduleName);
+                    list.Add((moduleName, p));
                 }
 
-                List<(string, string)> paths = new List<(string, string)>();
-                foreach (string s in list)
+                List<(string, string, string)> paths = new();
+                foreach ((string moduleName, string s) in list)
                 {
                     var aa = FileHelper.GetAllFiles(s);
+                    
                     foreach (string k in aa)
                     {
                         if (k.EndsWith(".xlsx") || k.EndsWith(".xlsm"))
                         {
-                            paths.Add((s, k));
+                            paths.Add((moduleName, s, k));
                         }
                     }
                 }
                 
-                foreach ((string s, string path) in paths)
+                foreach ((string module, string s, string path) in paths)
                 {
                     string fileName = Path.GetFileName(path);
                     if (!fileName.EndsWith(".xlsx") || fileName.StartsWith("~$") || fileName.Contains("#"))
@@ -193,7 +207,7 @@ namespace ET
                         protoName = fileNameWithoutCS.Substring(0, fileNameWithoutCS.LastIndexOf('_'));
                     }
 
-                    Table table = GetTable(protoName);
+                    Table table = GetTable(module, protoName);
 
                     if (cs.Contains("c"))
                     {
@@ -212,13 +226,13 @@ namespace ET
                 {
                     if (kv.Value.C)
                     {
-                        ExportClass(kv.Key, kv.Value.HeadInfos, ConfigType.c);
+                        ExportClass(kv.Value, ConfigType.c);
                     }
                     if (kv.Value.S)
                     {
-                        ExportClass(kv.Key, kv.Value.HeadInfos, ConfigType.s);
+                        ExportClass(kv.Value, ConfigType.s);
                     }
-                    ExportClass(kv.Key, kv.Value.HeadInfos, ConfigType.cs);
+                    ExportClass(kv.Value, ConfigType.cs);
                 }
 
                 // 动态编译生成的配置代码
@@ -226,9 +240,9 @@ namespace ET
                 configAssemblies[(int) ConfigType.s] = DynamicBuild(ConfigType.s);
                 configAssemblies[(int) ConfigType.cs] = DynamicBuild(ConfigType.cs);
                 
-                foreach ((string s, string path) in paths)
+                foreach ((string module, string s, string path) in paths)
                 {
-                    ExportExcel(s, path);
+                    ExportExcel(module, s, path);
                 }
                 
                 if (Directory.Exists(clientProtoDir))
@@ -253,7 +267,7 @@ namespace ET
             }
         }
 
-        private static void ExportExcel(string root, string path)
+        private static void ExportExcel(string module, string root, string path)
         {
             string dir = Path.GetDirectoryName(path);
             string relativePath = Path.GetRelativePath(root, dir);
@@ -284,28 +298,28 @@ namespace ET
                 protoName = fileNameWithoutCS.Substring(0, fileNameWithoutCS.LastIndexOf('_'));
             }
 
-            Table table = GetTable(protoName);
+            Table table = GetTable(module, protoName);
 
             ExcelPackage p = GetPackage(Path.GetFullPath(path));
 
             if (cs.Contains("c"))
             {
                 ExportExcelJson(p, fileNameWithoutCS, table, ConfigType.c, relativePath);
-                ExportExcelProtobuf(ConfigType.c, protoName, relativePath);
+                ExportExcelProtobuf(ConfigType.c, table, relativePath);
             }
 
             if (cs.Contains("s"))
             {
                 ExportExcelJson(p, fileNameWithoutCS, table, ConfigType.s, relativePath);
-                ExportExcelProtobuf(ConfigType.s, protoName, relativePath);
+                ExportExcelProtobuf(ConfigType.s, table, relativePath);
             }
             ExportExcelJson(p, fileNameWithoutCS, table, ConfigType.cs, relativePath);
-            ExportExcelProtobuf(ConfigType.cs, protoName, relativePath);
+            ExportExcelProtobuf(ConfigType.cs, table, relativePath);
         }
 
-        private static string GetProtoDir(ConfigType configType, string relativeDir)
+        private static string GetProtoDir(ConfigType configType, string module, string relativeDir)
         {
-            return string.Format(serverProtoDir, configType.ToString(), relativeDir);
+            return string.Format(serverProtoDir, configType.ToString(), module, relativeDir);
         }
 
         private static Assembly GetAssembly(ConfigType configType)
@@ -329,7 +343,7 @@ namespace ET
             string classPath = GetClassDir(configType);
             List<SyntaxTree> syntaxTrees = new List<SyntaxTree>();
             List<string> protoNames = new List<string>();
-            foreach (string classFile in Directory.GetFiles(classPath, "*.cs"))
+            foreach (string classFile in FileHelper.GetAllFiles(classPath, "*.cs"))
             {
                 protoNames.Add(Path.GetFileNameWithoutExtension(classFile));
                 syntaxTrees.Add(CSharpSyntaxTree.ParseText(File.ReadAllText(classFile)));
@@ -447,7 +461,7 @@ namespace ET
             }
         }
 
-        static void ExportClass(string protoName, Dictionary<string, HeadInfo> classField, ConfigType configType)
+        static void ExportClass(Table table, ConfigType configType)
         {
             string dir = GetClassDir(configType);
             if (!Directory.Exists(dir))
@@ -455,13 +469,18 @@ namespace ET
                 Directory.CreateDirectory(dir);
             }
 
-            string exportPath = Path.Combine(dir, $"{protoName}.cs");
+            string exportPath = Path.Combine(dir, table.Module, $"{table.Name}.cs");
 
+            if (!Directory.Exists(Path.GetDirectoryName(exportPath)))
+            {
+                Directory.CreateDirectory(Path.GetDirectoryName(exportPath));
+            }
+            
             using FileStream txt = new FileStream(exportPath, FileMode.Create);
             using StreamWriter sw = new StreamWriter(txt);
 
             StringBuilder sb = new StringBuilder();
-            foreach ((string _, HeadInfo headInfo) in classField)
+            foreach ((string _, HeadInfo headInfo) in table.HeadInfos)
             {
                 if (headInfo == null)
                 {
@@ -478,7 +497,8 @@ namespace ET
                 sb.Append($"\t\tpublic {fieldType} {headInfo.FieldName} {{ get; set; }}\n");
             }
 
-            string content = template.Replace("(ConfigName)", protoName).Replace(("(Fields)"), sb.ToString());
+            template = template.Replace("(ns)", $"ET.{table.Module}");
+            string content = template.Replace("(ConfigName)", table.Name).Replace(("(Fields)"), sb.ToString());
             sw.Write(content);
         }
 
@@ -498,12 +518,12 @@ namespace ET
                     continue;
                 }
 
-                ExportSheetJson(worksheet, name, table.HeadInfos, configType, sb);
+                ExportSheetJson(worksheet, name, table, configType, sb);
             }
 
             sb.Append("]}\n");
 
-            string dir = string.Format(jsonDir, configType.ToString(), relativeDir);
+            string dir = string.Format(jsonDir, configType.ToString(), table.Module, relativeDir);
             if (!Directory.Exists(dir))
             {
                 Directory.CreateDirectory(dir);
@@ -516,7 +536,7 @@ namespace ET
         }
 
         static void ExportSheetJson(ExcelWorksheet worksheet, string name, 
-                Dictionary<string, HeadInfo> classField, ConfigType configType, StringBuilder sb)
+                Table table, ConfigType configType, StringBuilder sb)
         {
             string configTypeStr = configType.ToString();
             for (int row = 6; row <= worksheet.Dimension.End.Row; ++row)
@@ -546,12 +566,12 @@ namespace ET
                 for (int col = 3; col <= worksheet.Dimension.End.Column; ++col)
                 {
                     string fieldName = worksheet.Cells[4, col].Text.Trim();
-                    if (!classField.ContainsKey(fieldName))
+                    if (!table.HeadInfos.ContainsKey(fieldName))
                     {
                         continue;
                     }
 
-                    HeadInfo headInfo = classField[fieldName];
+                    HeadInfo headInfo = table.HeadInfos[fieldName];
 
                     if (headInfo == null)
                     {
@@ -614,22 +634,22 @@ namespace ET
 
 
         // 根据生成的类,把json转成protobuf
-        private static void ExportExcelProtobuf(ConfigType configType, string protoName, string relativeDir)
+        private static void ExportExcelProtobuf(ConfigType configType, Table table, string relativeDir)
         {
-            string dir = GetProtoDir(configType, relativeDir);
-            if (!Directory.Exists(dir))
+            string dir = GetProtoDir(configType, table.Module, relativeDir);
+            string moduleDir = Path.Combine(dir);
+            if (!Directory.Exists(moduleDir))
             {
-                Directory.CreateDirectory(dir);
+                Directory.CreateDirectory(moduleDir);
             }
 
             Assembly ass = GetAssembly(configType);
-            Type type = ass.GetType($"ET.{protoName}Category");
-            Type subType = ass.GetType($"ET.{protoName}");
+            Type type = ass.GetType($"ET.{table.Module}.{table.Name}Category");
 
             IMerge final = Activator.CreateInstance(type) as IMerge;
 
-            string p = Path.Combine(string.Format(jsonDir, configType, relativeDir));
-            string[] ss = Directory.GetFiles(p, $"{protoName}*.txt");
+            string p = Path.Combine(string.Format(jsonDir, configType, table.Module, relativeDir));
+            string[] ss = Directory.GetFiles(p, $"{table.Name}*.txt");
             List<string> jsonPaths = ss.ToList();
 
             jsonPaths.Sort();
@@ -648,7 +668,7 @@ namespace ET
                 }
             }
 
-            string path = Path.Combine(dir, $"{protoName}Category.bytes");
+            string path = Path.Combine(moduleDir, $"{table.Name}Category.bytes");
 
             using FileStream file = File.Create(path);
             file.Write(final.ToBson());

+ 27 - 14
Share/Tool/Proto2CS/Proto2CS.cs

@@ -51,7 +51,7 @@ namespace ET
             RemoveAllFilesExceptMeta(serverMessagePath);
             RemoveAllFilesExceptMeta(clientServerMessagePath);
 
-            List<string> list = new List<string>();
+            System.Collections.Generic.List<(string, string)> list = new ();
             foreach (string directory in Directory.GetDirectories("../Unity/Packages", "com.et.*"))
             {
                 string p = Path.Combine(directory, "Proto");
@@ -59,7 +59,12 @@ namespace ET
                 {
                     continue;
                 }
-                list.Add(p);
+                
+                string baseName = Path.GetFileName(directory);
+                string moduleName = baseName.Substring(7);
+                moduleName = StringHelper.CapitalizeFirstLetter(moduleName);
+                
+                list.Add((p, moduleName));
             }
             foreach (string directory in Directory.GetDirectories("../Unity/Library/PackageCache", "com.et.*"))
             {
@@ -68,16 +73,24 @@ namespace ET
                 {
                     continue;
                 }
-                list.Add(p);
+                
+                string baseName = Path.GetFileName(directory);
+                string moduleName = baseName.Substring(7);
+                moduleName = StringHelper.CapitalizeFirstLetter(moduleName);
+                
+                list.Add((p, moduleName));
             }
 
-            List<string> protoList = new List<string>();
-            foreach (string s in list)
+            System.Collections.Generic.List<(string, string)> protoList = new ();
+            foreach ((string s, string module) in list)
             {
-                protoList.AddRange(FileHelper.GetAllFiles(s, "*.proto"));
+                foreach (var f in FileHelper.GetAllFiles(s, "*.proto"))
+                {
+                    protoList.Add((f, module));
+                }
             }
             
-            foreach (string s in protoList)
+            foreach ((string s, string module) in protoList)
             {
                 if (!s.EndsWith(".proto"))
                 {
@@ -89,7 +102,7 @@ namespace ET
                 string protoName = ss2[0];
                 string cs = ss2[1];
                 int startOpcode = int.Parse(ss2[2]);
-                ProtoFile2CS(s, fileName, protoName, cs, startOpcode);
+                ProtoFile2CS(s, module, protoName, cs, startOpcode);
             }
 
             RemoveUnusedMetaFiles(clientMessagePath);
@@ -97,7 +110,7 @@ namespace ET
             RemoveUnusedMetaFiles(clientServerMessagePath);
         }
 
-        private static void ProtoFile2CS(string path, string fileName, string protoName, string cs, int startOpcode)
+        private static void ProtoFile2CS(string path, string module, string protoName, string cs, int startOpcode)
         {
             msgOpcode.Clear();
 
@@ -262,15 +275,15 @@ namespace ET
 
             if (cs.Contains('C'))
             {
-                GenerateCS(result, clientMessagePath, proto);
-                GenerateCS(result, serverMessagePath, proto);
-                GenerateCS(result, clientServerMessagePath, proto);
+                GenerateCS(result, clientMessagePath + module, proto);
+                GenerateCS(result, serverMessagePath + module, proto);
+                GenerateCS(result, clientServerMessagePath + module, proto);
             }
 
             if (cs.Contains('S'))
             {
-                GenerateCS(result, serverMessagePath, proto);
-                GenerateCS(result, clientServerMessagePath, proto);
+                GenerateCS(result, serverMessagePath + module, proto);
+                GenerateCS(result, clientServerMessagePath + module, proto);
             }
         }
 

+ 1 - 1
Share/Tool/Template.txt

@@ -4,7 +4,7 @@ using MongoDB.Bson.Serialization.Attributes;
 using MongoDB.Bson.Serialization.Options;
 using System.ComponentModel;
 
-namespace ET
+namespace (ns)
 {
     [Config]
     public partial class (ConfigName)Category : Singleton<(ConfigName)Category>, IMerge

+ 1 - 1
Unity/Packages/com.et.core/Scripts/CodeMode~/ClientServer/StartProcessConfig.cs

@@ -1,6 +1,6 @@
 using System.Net;
 
-namespace ET
+namespace ET.Core
 {
     public partial class StartProcessConfig
     {

+ 1 - 1
Unity/Packages/com.et.core/Scripts/CodeMode~/Server/StartProcessConfig.cs

@@ -1,6 +1,6 @@
 using System.Net;
 
-namespace ET
+namespace ET.Core
 {
     public partial class StartProcessConfig
     {

+ 1 - 1
Unity/Packages/com.et.core/Scripts/Core/Helper/FileHelper.cs

@@ -15,7 +15,7 @@ namespace ET
 		
 		public static void GetAllFiles(List<string> files, string dir, string searchPattern = "*")
 		{
-			string[] fls = Directory.GetFiles(dir);
+			string[] fls = Directory.GetFiles(dir, searchPattern);
 			foreach (string fl in fls)
 			{
 				files.Add(fl);

+ 10 - 0
Unity/Packages/com.et.core/Scripts/Core/Helper/StringHelper.cs

@@ -7,6 +7,16 @@ namespace ET
 {
 	public static class StringHelper
 	{
+		public static string CapitalizeFirstLetter(string input)
+		{
+			if (string.IsNullOrEmpty(input))
+				return input;
+
+			string s1 = input[..1];
+			string s2 = input[1..];
+			return s1.ToUpper() + s2;
+		}
+		
 		public static IEnumerable<byte> ToBytes(this string str)
 		{
 			byte[] byteArray = Encoding.Default.GetBytes(str);

+ 2 - 2
Unity/Packages/com.et.core/Scripts/Model~/Server/Message/ProcessOuterSender.cs

@@ -134,7 +134,7 @@ namespace ET.Server
                 return session;
             }
 
-            IPEndPoint ipEndPoint = StartProcessConfigCategory.Instance.Get((int) channelId).IPEndPoint;
+            IPEndPoint ipEndPoint = ET.Core.StartProcessConfigCategory.Instance.Get((int) channelId).IPEndPoint;
             session = self.CreateInner(channelId, ipEndPoint);
             return session;
         }
@@ -184,7 +184,7 @@ namespace ET.Server
                 throw new Exception($"actor is the same process: {fiber.Process} {actorId.Process}");
             }
             
-            StartProcessConfig startProcessConfig = StartProcessConfigCategory.Instance.Get(actorId.Process);
+            ET.Core.StartProcessConfig startProcessConfig = ET.Core.StartProcessConfigCategory.Instance.Get(actorId.Process);
             Session session = self.Get(startProcessConfig.Id);
             actorId.Process = fiber.Process;
             session.Send(actorId, message);

+ 71 - 49
Unity/Packages/com.et.loader/Scripts/Editor/AssetPostProcessor/OnGenerateCSProjectProcessor.cs

@@ -26,30 +26,26 @@ namespace ET
 
             if (path.EndsWith("Unity.Core.csproj"))
             {
-                return GenerateCustomProject(content);
+                return GenerateCustomProject(content, globalConfig.CodeMode);
             }
 
             if (path.EndsWith("Unity.Model.csproj"))
             {
-                content = content.Replace("<Compile Include=\"Assets\\Scripts\\Model\\Empty.cs\" />", "<Compile Include=\"Assets\\Scripts\\Model\\Empty.cs\" />\n" +
-                    "<Compile Include=\"..\\Generate\\" + globalConfig.CodeMode + "\\**\\*.cs\"><Link>Generate\\%(RecursiveDir)%(FileName)%(Extension)</Link></Compile>");
-                content = content.Replace("<Compile Include=\"Assets\\Scripts\\Model\\Empty.cs\" />", "<Compile Include=\"Assets\\Scripts\\Model\\Empty.cs\" />\n" +
-                    "<Compile Include=\"Packages\\com.et.*\\Scripts\\CodeMode~\\" + globalConfig.CodeMode + "\\**\\*.cs\"><Link>CodeMode/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link></Compile>");
-                return AddCopyAfterBuild(GenerateCustomProject(content), "Model");
+                return GenerateCustomProject(content, globalConfig.CodeMode, "Model");
             }
             
             if (path.EndsWith("Unity.Hotfix.csproj"))
             {
-                return AddCopyAfterBuild(GenerateCustomProject(content), "Hotfix");
+                return GenerateCustomProject(content, globalConfig.CodeMode, "Hotfix");
             }
 
             if (path.EndsWith("Unity.ModelView.csproj"))
             {
-                return AddCopyAfterBuild(GenerateCustomProject(content), "ModelView");
+                return GenerateCustomProject(content, globalConfig.CodeMode, "ModelView");
             }
             if (path.EndsWith("Unity.HotfixView.csproj"))
             {
-                return AddCopyAfterBuild(GenerateCustomProject(content), "HotfixView");
+                return GenerateCustomProject(content, globalConfig.CodeMode, "HotfixView");
             }
 
             return content;
@@ -85,13 +81,58 @@ namespace ET
         /// https://learn.microsoft.com/zh-cn/visualstudio/ide/reference/build-events-page-project-designer-csharp?view=vs-2022
         /// https://learn.microsoft.com/zh-cn/visualstudio/ide/how-to-specify-build-events-csharp?view=vs-2022
         /// </summary>
-        static string GenerateCustomProject(string content)
+        static string GenerateCustomProject(string content, CodeMode codeMode, string dllName = "")
         {
             XmlDocument doc = new();
             doc.LoadXml(content);
             var newDoc = doc.Clone() as XmlDocument;
             var rootNode = newDoc.GetElementsByTagName("Project")[0];
 
+            {
+                string links = "<Compile Include=\"Library/PackageCache/com.et.*/Scripts/" + dllName + "~/Share/**/*.cs\">\n            " +
+                    "<Link>Share/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>\n\n        " +
+                    "<Compile Include=\"Library/PackageCache/com.et.*/Scripts/" + dllName + "~/Client/**/*.cs\">\n            " +
+                    "<Link>Client/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>\n\n        " +
+                    "<Compile Include=\"Library/PackageCache/com.et.*/Scripts/" + dllName + "~/Server/**/*.cs\">\n            " +
+                    "<Link>Server/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>\n\n        " +
+                    "<Compile Include=\"Packages/com.et.*/Scripts/" + dllName + "~/Share/**/*.cs\">\n            " +
+                    "<Link>Share/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>\n\n        " +
+                    "<Compile Include=\"Packages/com.et.*/Scripts/" + dllName + "~/Client/**/*.cs\">\n            " +
+                    "<Link>Client/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>\n\n        " +
+                    "<Compile Include=\"Packages/com.et.*/Scripts/" + dllName + "~/Server/**/*.cs\">\n            " +
+                    "<Link>Server/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
+                    "</Compile>";
+                
+                switch (dllName)
+                {
+                    case "Model":
+                        links += "<Compile Include=\"../Generate/" + codeMode + "/**/*.cs\"><Link>Generate/%(RecursiveDir)%(FileName)%(Extension)</Link></Compile>";
+                        links += "<Compile Include=\"Packages/com.et.*/Scripts/CodeMode~/" + codeMode + "/**/*.cs\"><Link>CodeMode/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link></Compile>";
+                        break;
+                    case "Hotfix":
+                        break;
+                    case "HotfixView":
+                        break;
+                    case "ModelView":
+                        break;
+                    default:
+                        links = null;
+                        break;
+                }
+                
+                if (links != null)
+                {
+                    XmlElement itemGroup = newDoc.CreateElement("ItemGroup", newDoc.DocumentElement.NamespaceURI);
+                    itemGroup.InnerXml = links;
+                    rootNode.AppendChild(itemGroup);
+                }
+            }
+
             // 添加分析器引用
             {
                 XmlElement itemGroup = newDoc.CreateElement("ItemGroup", newDoc.DocumentElement.NamespaceURI);
@@ -114,9 +155,26 @@ namespace ET
 
             // AfterBuild(字符串替换后作用是编译后复制到CodeDir)
             {
-                var target = newDoc.CreateElement("Target", newDoc.DocumentElement.NamespaceURI);
-                target.SetAttribute("Name", "AfterBuild");
-                rootNode.AppendChild(target);
+
+                string afterBuild =
+                        $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).dll\" DestinationFiles=\"$(ProjectDir)/{Define.CodeDir}/$(TargetName).dll.bytes\" ContinueOnError=\"false\" />\n" +
+                        $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).pdb\" DestinationFiles=\"$(ProjectDir)/{Define.CodeDir}/$(TargetName).pdb.bytes\" ContinueOnError=\"false\" />\n" +
+                        $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).dll\" DestinationFiles=\"$(ProjectDir)/{Define.BuildOutputDir}/$(TargetName).dll\" ContinueOnError=\"false\" />\n" +
+                        $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).pdb\" DestinationFiles=\"$(ProjectDir)/{Define.BuildOutputDir}/$(TargetName).pdb\" ContinueOnError=\"false\" />\n";
+                switch (dllName)
+                {
+                    case "Model":
+                    case "Hotfix":
+                    case "HotfixView":
+                    case "ModelView":
+                    {
+                        var target = newDoc.CreateElement("Target", newDoc.DocumentElement.NamespaceURI);
+                        target.SetAttribute("Name", "AfterBuild");
+                        target.InnerXml = afterBuild;
+                        rootNode.AppendChild(target);
+                        break;
+                    }
+                }
             }
 
             using StringWriter sw = new();
@@ -127,42 +185,6 @@ namespace ET
             return sw.GetStringBuilder().ToString();
         }
 
-        /// <summary>
-        /// 编译dll文件后额外复制的目录配置
-        /// </summary>
-        static string AddCopyAfterBuild(string content, string dllName)
-        {
-            content = content.Replace("<None Include=\"Assets\\Scripts\\" + dllName + "\\Unity." + dllName + ".asmdef\" />", "");
-            content = content.Replace("<Target Name=\"AfterBuild\" />",
-                "<Target Name=\"PostBuild\" AfterTargets=\"PostBuildEvent\">\n" +
-                $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).dll\" DestinationFiles=\"$(ProjectDir)/{Define.CodeDir}/$(TargetName).dll.bytes\" ContinueOnError=\"false\" />\n" +
-                $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).pdb\" DestinationFiles=\"$(ProjectDir)/{Define.CodeDir}/$(TargetName).pdb.bytes\" ContinueOnError=\"false\" />\n" +
-                $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).dll\" DestinationFiles=\"$(ProjectDir)/{Define.BuildOutputDir}/$(TargetName).dll\" ContinueOnError=\"false\" />\n" +
-                $"    <Copy SourceFiles=\"$(TargetDir)/$(TargetName).pdb\" DestinationFiles=\"$(ProjectDir)/{Define.BuildOutputDir}/$(TargetName).pdb\" ContinueOnError=\"false\" />\n" +
-                "  </Target>\n");
-            content = content.Replace("<Compile Include=\"Assets\\Scripts\\" + dllName + "\\Empty.cs\" />", 
-                "<Compile Include=\"Library\\PackageCache\\com.et.*\\Scripts\\" + dllName + "~\\Share\\**\\*.cs\">\n            " +
-                "<Link>Share/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>\n\n        " +
-                "<Compile Include=\"Library\\PackageCache\\com.et.*\\Scripts\\" + dllName + "~\\Client\\**\\*.cs\">\n            " +
-                "<Link>Client/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>\n\n        " +
-                "<Compile Include=\"Library\\PackageCache\\com.et.*\\Scripts\\" + dllName + "~\\Server\\**\\*.cs\">\n            " +
-                "<Link>Server/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>\n\n        " +
-                "<Compile Include=\"Packages\\com.et.*\\Scripts\\" + dllName + "~\\Share\\**\\*.cs\">\n            " +
-                "<Link>Share/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>\n\n        " +
-                "<Compile Include=\"Packages\\com.et.*\\Scripts\\" + dllName + "~\\Client\\**\\*.cs\">\n            " +
-                "<Link>Client/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>\n\n        " +
-                "<Compile Include=\"Packages\\com.et.*\\Scripts\\" + dllName + "~\\Server\\**\\*.cs\">\n            " +
-                "<Link>Server/$([System.String]::new(%(RecursiveDir)).Substring(7, $([System.String]::new(%(RecursiveDir)).Indexof(\"Scripts\"))).Replace(\"Scripts\", \"\"))/%(FileName)%(Extension)</Link>\n        " +
-                "</Compile>"
-                );
-            return content;
-        }
-
         /// <summary>
         /// 隐藏指定项目
         /// </summary>

+ 3 - 3
Unity/Packages/packages-lock.json

@@ -15,19 +15,19 @@
       "hash": "2554e81f0315ddf835026940ccc4ba8175edfda3"
     },
     "com.et.core": {
-      "version": "file:com.et.core",
+      "version": "file:com.et.Core",
       "depth": 0,
       "source": "embedded",
       "dependencies": {}
     },
     "com.et.loader": {
-      "version": "file:com.et.loader",
+      "version": "file:com.et.Loader",
       "depth": 0,
       "source": "embedded",
       "dependencies": {}
     },
     "com.et.thirdparty": {
-      "version": "file:com.et.thirdparty",
+      "version": "file:com.et.Thirdparty",
       "depth": 0,
       "source": "embedded",
       "dependencies": {}