diff --git a/.vs/ExcelTool/v16/.suo b/.vs/ExcelTool/v16/.suo index e4764fa..0179425 100644 Binary files a/.vs/ExcelTool/v16/.suo and b/.vs/ExcelTool/v16/.suo differ diff --git a/ExcelTool/ExcelTool.csproj b/ExcelTool/ExcelTool.csproj index cc0d5da..c0f0255 100644 --- a/ExcelTool/ExcelTool.csproj +++ b/ExcelTool/ExcelTool.csproj @@ -64,7 +64,6 @@ - diff --git a/ExcelTool/Parser/GenModels.cs b/ExcelTool/Parser/GenModels.cs index 49021dd..9f18ace 100644 --- a/ExcelTool/Parser/GenModels.cs +++ b/ExcelTool/Parser/GenModels.cs @@ -477,10 +477,13 @@ namespace ExcelTool sb.Append("{\n"); // sb.Append($"\tpublic List<{excelName}> {excelName}Infos = new List<{excelName}>();\n"); sb.Append($"\tDictionary {excelName}Infos = new Dictionary();\n"); + sb.Append($"\tList<{excelName}> {excelName}InfoList;\n"); sb.Append("\n"); sb.Append($"\tpublic List<{excelName}> {excelName}List()\n"); sb.Append("\t{\n"); - sb.Append($"\t\treturn new List<{excelName}>({excelName}Infos.Values);\n"); + sb.Append($"\t\tif ({excelName}InfoList == null)\n"); + sb.Append($"\t\t\t{excelName}InfoList = new List<{excelName}>({excelName}Infos.Values);\n"); + sb.Append($"\t\treturn {excelName}InfoList;\n"); sb.Append("\t}\n"); sb.Append("\n"); sb.Append($"\tpublic void DeSerialize(BinaryReader reader)\n"); diff --git a/ExcelTool/Program.cs b/ExcelTool/Program.cs index a8749f3..eeb9ed5 100644 --- a/ExcelTool/Program.cs +++ b/ExcelTool/Program.cs @@ -83,6 +83,9 @@ namespace ExcelTool File.Delete(genExcels[i]); } + Dictionary dics = new Dictionary(); + new List(dics.Values); + //读取测试 //IBinarySerializable newavList = new avatarguideTestConfig(); //var readOK = FileManager.ReadBinaryDataFromFile(Path.Combine(path, "avatarguideTest.bytes"), ref newavList); diff --git a/ExcelTool/bin/Debug/ExcelTool.exe b/ExcelTool/bin/Debug/ExcelTool.exe index 0d64567..39028dd 100644 Binary files a/ExcelTool/bin/Debug/ExcelTool.exe and b/ExcelTool/bin/Debug/ExcelTool.exe differ diff --git a/ExcelTool/bin/Debug/ExcelTool.pdb b/ExcelTool/bin/Debug/ExcelTool.pdb index a37c1bc..66f8c60 100644 Binary files a/ExcelTool/bin/Debug/ExcelTool.pdb and b/ExcelTool/bin/Debug/ExcelTool.pdb differ diff --git a/ExcelTool/bin/Debug/avatarguideTest.cs b/ExcelTool/bin/Debug/avatarguideTest.cs index 94f12a7..88b5f0d 100644 --- a/ExcelTool/bin/Debug/avatarguideTest.cs +++ b/ExcelTool/bin/Debug/avatarguideTest.cs @@ -116,10 +116,13 @@ public partial class avatarguideTest : IBinarySerializable public partial class avatarguideTestConfig : IBinarySerializable { Dictionary avatarguideTestInfos = new Dictionary(); + List avatarguideTestInfoList; public List avatarguideTestList() { - return new List(avatarguideTestInfos.Values); + if (avatarguideTestInfoList == null) + avatarguideTestInfoList = new List(avatarguideTestInfos.Values); + return avatarguideTestInfoList; } public void DeSerialize(BinaryReader reader) diff --git a/ExcelTool/bin/Debug/battleScene.cs b/ExcelTool/bin/Debug/battleScene.cs index ddb69ab..b0197a7 100644 --- a/ExcelTool/bin/Debug/battleScene.cs +++ b/ExcelTool/bin/Debug/battleScene.cs @@ -145,10 +145,13 @@ public partial class battleScene : IBinarySerializable public partial class battleSceneConfig : IBinarySerializable { Dictionary battleSceneInfos = new Dictionary(); + List battleSceneInfoList; public List battleSceneList() { - return new List(battleSceneInfos.Values); + if (battleSceneInfoList == null) + battleSceneInfoList = new List(battleSceneInfos.Values); + return battleSceneInfoList; } public void DeSerialize(BinaryReader reader) diff --git a/ExcelTool/bin/Debug/official_room.cs b/ExcelTool/bin/Debug/official_room.cs index be1e626..852036c 100644 --- a/ExcelTool/bin/Debug/official_room.cs +++ b/ExcelTool/bin/Debug/official_room.cs @@ -218,10 +218,13 @@ public partial class official_room : IBinarySerializable public partial class official_roomConfig : IBinarySerializable { Dictionary official_roomInfos = new Dictionary(); + List official_roomInfoList; public List official_roomList() { - return new List(official_roomInfos.Values); + if (official_roomInfoList == null) + official_roomInfoList = new List(official_roomInfos.Values); + return official_roomInfoList; } public void DeSerialize(BinaryReader reader) diff --git a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache index c799f4a..64e5c8e 100644 --- a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache +++ b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -f9568ef42d2d08917776e58ac01f34159ad429ba +437758f1983b3631650720a6b12c64139816a676 diff --git a/ExcelTool/obj/Debug/ExcelTool.exe b/ExcelTool/obj/Debug/ExcelTool.exe index 0d64567..39028dd 100644 Binary files a/ExcelTool/obj/Debug/ExcelTool.exe and b/ExcelTool/obj/Debug/ExcelTool.exe differ diff --git a/ExcelTool/obj/Debug/ExcelTool.pdb b/ExcelTool/obj/Debug/ExcelTool.pdb index a37c1bc..66f8c60 100644 Binary files a/ExcelTool/obj/Debug/ExcelTool.pdb and b/ExcelTool/obj/Debug/ExcelTool.pdb differ