From b423bc9be7f9607b8be7b30c48c3fc282d53b7a8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 24 八月 2025 22:43:38 +0800
Subject: [PATCH] 0312 导表新增字段类型Dictionary<int, int[][]>

---
 Assets/Editor/ConfigGen/ConfigClassGenerate.cs |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/Assets/Editor/ConfigGen/ConfigClassGenerate.cs b/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
index 2a41061..ff2b2a1 100644
--- a/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
+++ b/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
@@ -93,7 +93,11 @@
     public static string GetLoadField(string type, string field)
     {
         field = field.Replace(" ", "");
-        if (type.Contains("int[][]"))
+        if (type.Contains("Dictionary<int, int[][]>"))
+        {
+            return StringUtility.Contact("public Dictionary<int, int[][]> ", field.Trim(), ";");
+        }
+        else if (type.Contains("int[][]"))
         {
             return StringUtility.Contact("public int[][] ", field.Trim(), ";");
         }
@@ -173,7 +177,11 @@
 
     public static string GetFieldType(string type)
     {
-        if (type.Contains("int[][]"))
+        if (type.Contains("Dictionary<int, int[][]>"))
+        {
+            return "Dictionary<int, int[][]>";
+        }
+        else if (type.Contains("int[][]"))
         {
             return "int[][]";
         }
@@ -255,7 +263,11 @@
     public static string GetField(string type, string field)
     {
         field = field.Replace(" ", "");
-        if (type.Contains("int[][]"))
+        if (type.Contains("Dictionary<int, int[][]>"))
+        {
+            return StringUtility.Contact("public Dictionary<int, int[][]> ", field.Trim(), ";");
+        }
+        else if (type.Contains("int[][]"))
         {
             return StringUtility.Contact("public int[][] ", field.Trim(), ";");
         }
@@ -337,7 +349,11 @@
     {
         
         field = field.Replace(" ", "");
-        if (type.Contains("int[][]"))
+        if (type.Contains("Dictionary<int, int[][]>"))
+        {
+            return StringUtility.Contact(field, " = ConfigParse.ParseIntArray2Dict(tables", "[", index, "]); ");
+        }
+        else if (type.Contains("int[][]"))
         {
             return StringUtility.Contact(field, " = JsonMapper.ToObject<int[][]>(tables", "[", index, "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
         }

--
Gitblit v1.8.0