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