diff --git a/.vs/ExcelTool/v15/.suo b/.vs/ExcelTool/v15/.suo index 0d73996..892c176 100644 Binary files a/.vs/ExcelTool/v15/.suo and b/.vs/ExcelTool/v15/.suo differ diff --git a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm index bd6c05f..7c9f2ae 100644 Binary files a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm and b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-shm differ diff --git a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal index 2e7d34f..5bd4bd6 100644 Binary files a/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal and b/.vs/ExcelTool/v15/Server/sqlite3/storage.ide-wal differ diff --git a/ExcelTool/ExcelTool.csproj b/ExcelTool/ExcelTool.csproj index c0f0255..df17c80 100644 --- a/ExcelTool/ExcelTool.csproj +++ b/ExcelTool/ExcelTool.csproj @@ -70,6 +70,7 @@ + diff --git a/ExcelTool/FileManager.cs b/ExcelTool/FileManager.cs index 1c5e71d..a31e009 100644 --- a/ExcelTool/FileManager.cs +++ b/ExcelTool/FileManager.cs @@ -178,6 +178,91 @@ namespace ExcelTool } } } + else if (data.Item1.Equals("intlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt32(numStrs[i])); + } + } + } + else if (data.Item1.Equals("floatlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToSingle(numStrs[i])); + } + } + } + else if (data.Item1.Equals("boollist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToBoolean(numStrs[i])); + } + } + } + else if (data.Item1.Equals("stringlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(numStrs[i]); + } + } + } + else if (data.Item1.Equals("longlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt64(numStrs[i])); + } + } + } else if (data.Item1.Contains("list<")) //泛型数组类型 { string str = data.Item2.ToString(); diff --git a/ExcelTool/Parser/GenModels.cs b/ExcelTool/Parser/GenModels.cs index dbfc220..5c98175 100644 --- a/ExcelTool/Parser/GenModels.cs +++ b/ExcelTool/Parser/GenModels.cs @@ -1,9 +1,6 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using System.Text; -using System.Threading.Tasks; namespace ExcelTool { @@ -50,6 +47,26 @@ namespace ExcelTool { sb.Append(string.Format("\tpublic List> {0}", headers[i].FieldName)); } + else if (type.Equals("intlist")) + { + sb.Append(string.Format("\tpublic List {0}", headers[i].FieldName)); + } + else if (type.Equals("boollist")) + { + sb.Append(string.Format("\tpublic List {0}", headers[i].FieldName)); + } + else if (type.Equals("floatlist")) + { + sb.Append(string.Format("\tpublic List {0}", headers[i].FieldName)); + } + else if (type.Equals("stringlist")) + { + sb.Append(string.Format("\tpublic List {0}", headers[i].FieldName)); + } + else if (type.Equals("longlist")) + { + sb.Append(string.Format("\tpublic List {0}", headers[i].FieldName)); + } else if (type.Contains("list<")) { var tempS = type.Substring(5); @@ -145,6 +162,86 @@ namespace ExcelTool sb.Append($"\t\t\t{name} = null;\n"); sb.Append("\t\t}\n"); } + else if (type.Equals("intlist")) + { + sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); + sb.Append($"\t\tif ({name}Count > 0)\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = new List();\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt32());\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = null;\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("boollist")) + { + sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); + sb.Append($"\t\tif ({name}Count > 0)\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = new List();\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\t{name}.Add(reader.ReadBoolean());\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = null;\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("floatlist")) + { + sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); + sb.Append($"\t\tif ({name}Count > 0)\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = new List();\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\t{name}.Add(reader.ReadSingle());\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = null;\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("stringlist")) + { + sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); + sb.Append($"\t\tif ({name}Count > 0)\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = new List();\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\t{name}.Add(reader.ReadString());\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = null;\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("longlist")) + { + sb.Append($"\t\tvar {name}Count = reader.ReadInt32();\n"); + sb.Append($"\t\tif ({name}Count > 0)\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = new List();\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\t{name}.Add(reader.ReadInt64());\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\t{name} = null;\n"); + sb.Append("\t\t}\n"); + } else if (type.Contains("list<")) { var tempS = type.Substring(5); @@ -249,6 +346,81 @@ namespace ExcelTool sb.Append("\t\t\t}\n"); sb.Append("\t\t}\n"); } + else if (type.Equals("intlist")) + { + sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); + sb.Append("\t\t{\n"); + sb.Append("\t\t\twriter.Write(0);\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\twriter.Write({name}.Count);\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("boollist")) + { + sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); + sb.Append("\t\t{\n"); + sb.Append("\t\t\twriter.Write(0);\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\twriter.Write({name}.Count);\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("floatlist")) + { + sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); + sb.Append("\t\t{\n"); + sb.Append("\t\t\twriter.Write(0);\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\twriter.Write({name}.Count);\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("longlist")) + { + sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); + sb.Append("\t\t{\n"); + sb.Append("\t\t\twriter.Write(0);\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\twriter.Write({name}.Count);\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + } + else if (type.Equals("stringlist")) + { + sb.Append($"\t\tif ({name} == null || {name}.Count == 0)\n"); + sb.Append("\t\t{\n"); + sb.Append("\t\t\twriter.Write(0);\n"); + sb.Append("\t\t}\n"); + sb.Append("\t\telse\n"); + sb.Append("\t\t{\n"); + sb.Append($"\t\t\twriter.Write({name}.Count);\n"); + sb.Append($"\t\t\tfor (int i = 0; i < {name}.Count; i++)\n"); + sb.Append("\t\t\t{\n"); + sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); + sb.Append("\t\t\t}\n"); + sb.Append("\t\t}\n"); + } else if (type.Contains("list<")) { var tempS = type.Substring(5); @@ -265,30 +437,30 @@ namespace ExcelTool sb.Append($"\t\t\t\twriter.Write({name}[i]);\n"); sb.Append("\t\t\t}\n"); sb.Append("\t\t}\n"); - //if (listTType.Equals("int")) - //{ + if (listTType.Equals("int")) + { - //} - //else if (listTType.Equals("bool")) - //{ + } + else if (listTType.Equals("bool")) + { - //} - //else if (listTType.Equals("float")) - //{ + } + else if (listTType.Equals("float")) + { - //} - //else if (listTType.Equals("long")) - //{ + } + else if (listTType.Equals("long")) + { - //} - //else if (listTType.Equals("string")) - //{ + } + else if (listTType.Equals("string")) + { - //} - //else - //{ - // ConsoleHelper.WriteErrorLine("数组泛型T不是指定类型"); - //} + } + else + { + ConsoleHelper.WriteErrorLine("数组泛型T不是指定类型"); + } } else { diff --git a/ExcelTool/bin/Debug/ExcelTool.exe b/ExcelTool/bin/Debug/ExcelTool.exe index 23bc9f9..43ffb44 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 3a69b51..3236b31 100644 Binary files a/ExcelTool/bin/Debug/ExcelTool.pdb and b/ExcelTool/bin/Debug/ExcelTool.pdb differ diff --git a/ExcelTool/bin/Debug/official_room.bytes b/ExcelTool/bin/Debug/official_room.bytes index c41648e..996e1a6 100644 Binary files a/ExcelTool/bin/Debug/official_room.bytes and b/ExcelTool/bin/Debug/official_room.bytes differ diff --git a/ExcelTool/bin/Debug/official_room.cs b/ExcelTool/bin/Debug/official_room.cs index a366a63..33283a5 100644 --- a/ExcelTool/bin/Debug/official_room.cs +++ b/ExcelTool/bin/Debug/official_room.cs @@ -72,9 +72,13 @@ public partial class official_room : IBinarySerializable /// public List Offset { get; set; } /// - /// + /// Int /// - public List IntList { get; set; } + public List IntListAttr { get; set; } + /// + /// float + /// + public List FloatListAttr { get; set; } public void DeSerialize(BinaryReader reader) { @@ -117,18 +121,31 @@ public partial class official_room : IBinarySerializable { Offset = null; } - var IntListCount = reader.ReadInt32(); - if (IntListCount > 0) + var IntListAttrCount = reader.ReadInt32(); + if (IntListAttrCount > 0) { - IntList = new List(); - for (int i = 0; i < IntListCount; i++) + IntListAttr = new List(); + for (int i = 0; i < IntListAttrCount; i++) { - IntList.Add(reader.ReadInt32()); + IntListAttr.Add(reader.ReadInt32()); } } else { - IntList = null; + IntListAttr = null; + } + var FloatListAttrCount = reader.ReadInt32(); + if (FloatListAttrCount > 0) + { + FloatListAttr = new List(); + for (int i = 0; i < FloatListAttrCount; i++) + { + FloatListAttr.Add(reader.ReadSingle()); + } + } + else + { + FloatListAttr = null; } } @@ -171,16 +188,28 @@ public partial class official_room : IBinarySerializable writer.Write(Offset[i]); } } - if (IntList == null || IntList.Count == 0) + if (IntListAttr == null || IntListAttr.Count == 0) { writer.Write(0); } else { - writer.Write(IntList.Count); - for (int i = 0; i < IntList.Count; i++) + writer.Write(IntListAttr.Count); + for (int i = 0; i < IntListAttr.Count; i++) { - writer.Write(IntList[i]); + writer.Write(IntListAttr[i]); + } + } + if (FloatListAttr == null || FloatListAttr.Count == 0) + { + writer.Write(0); + } + else + { + writer.Write(FloatListAttr.Count); + for (int i = 0; i < FloatListAttr.Count; i++) + { + writer.Write(FloatListAttr[i]); } } } diff --git a/ExcelTool/bin/Debug/official_room.csv b/ExcelTool/bin/Debug/official_room.csv index ef07c6b..90a4926 100644 --- a/ExcelTool/bin/Debug/official_room.csv +++ b/ExcelTool/bin/Debug/official_room.csv @@ -1,17 +1,17 @@ -"int,Id","string,RoomOwner","string,Notes","string,RoomName","string,RoomBriefly","string,RoomDetails","string,BgPathId","string,ScenesId","string,Address","int,Recommend","int,SubLine","int,IsCanPackage","int,IsMute","Vector,BirthPosition","Vector,Offset","List,IntList" -,,ע(ƷԼע),Ĭ(óĬʾ),Ĭϳ(óĬʾļҪϢʾڹٷ),(óϸϢʾҳ),ͼ(ӦʾϵͼƬpathID·ϣ֧дΪһţֲ֧ʾ),ӦID(ӦעеijID),Ӧͼַ(ӦߵϵĵͼַӦľγȣǷҪͬʱPOIϣɳȷ),ʼƼ򣨷ʱƼȼȷʼʾλãԽͣȼԽߣŷƼ㷨仯,ﵽ÷ߣΪ0Ϊߣ,Ƿʹñڸ÷У˲ʹñ,ĬϾ,,, +"int,Id","string,RoomOwner","string,Notes","string,RoomName","string,RoomBriefly","string,RoomDetails","string,BgPathId","string,ScenesId","string,Address","int,Recommend","int,SubLine","int,IsCanPackage","int,IsMute","Vector,BirthPosition","Vector,Offset","IntList,IntListAttr","List,FloatListAttr" +,,ע(ƷԼע),Ĭ(óĬʾ),Ĭϳ(óĬʾļҪϢʾڹٷ),(óϸϢʾҳ),ͼ(ӦʾϵͼƬpathID·ϣ֧дΪһţֲ֧ʾ),ӦID(ӦעеijID),Ӧͼַ(ӦߵϵĵͼַӦľγȣǷҪͬʱPOIϣɳȷ),ʼƼ򣨷ʱƼȼȷʼʾλãԽͣȼԽߣŷƼ㷨仯,ﵽ÷ߣΪ0Ϊߣ,Ƿʹñڸ÷У˲ʹñ,ĬϾ,,,Int,float 1,TcjF8790673,ݷ1Ż᳡,ݷ1Ż᳡,᳡ʵϻ᳡,һһȵĸַٶٿֻͨ᳡ʵʵϵ飬ϲʢᣬַʽǰʵ᳡ֳûл,"{[""path1"":"""",""path2"":""""]}",1001,"{ ""lat"":119.299236, ""lon"":26.081825, ""name"":""ιʾ"" -}",0,100,0,1,"[-497.225,17.536,-107.682]","[0,0,0]","1,2,3,4,5" +}",0,100,0,1,"[-497.225,17.536,-107.682]","[0,0,0]","1,2,3,4,5","1.1,2.2,3.3" 2,TcjF8790673,101,101,D,Dң20,"{[""path1"":"""",""path2"":""""]}",1002,"{ ""lat"":121.623633, ""lon"":31.255969, ""name"":""D"" -}",0,100,0,1,"[-14243.48, 15.88, -3211.575]","[-14241.71,17.02,-3207.24]", +}",0,100,0,1,"[-14243.48, 15.88, -3211.575]","[-14241.71,17.02,-3207.24]",, 3,TcjF8790673,̲㳡 ,̲㳡,ϺҪĵر곡֮һ,̲ϺϺҪĵر֮һȫ1.5Ӱ·ݺϵ׶ţ漴ֽǾϺڡóļеء̲·ӵʮറʷģҲոʽģִʽģʶΪȺϺ̲ͿʼΪϺйĽڼó[1]ҲΪ֡,"{[""path1"":"""",""path2"":""""]}",1003,"{ ""lat"":121.492156, ""lon"":31.233462, ""name"":""̲"" -}",1,100,0,1,"[-1631.85,13.904,-888.18]","[-1490,0,-1370]", +}",1,100,0,1,"[-1631.85,13.904,-888.18]","[-1490,0,-1370]",, diff --git a/ExcelTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ExcelTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index a934164..3f151ce 100644 Binary files a/ExcelTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/ExcelTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache index 8a51486..01c0f1c 100644 --- a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache +++ b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -05ba930c17cc8f5ba2765e4f9b5fad95a2f8ca8f +5be383d8458e8adf3321425f1a6ef7ed98f16846 diff --git a/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache b/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache index 2851bfd..00859c0 100644 Binary files a/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache and b/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache differ diff --git a/ExcelTool/obj/Debug/ExcelTool.exe b/ExcelTool/obj/Debug/ExcelTool.exe index 23bc9f9..43ffb44 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 3a69b51..3236b31 100644 Binary files a/ExcelTool/obj/Debug/ExcelTool.pdb and b/ExcelTool/obj/Debug/ExcelTool.pdb differ