Commit 35e336ba948f3a9d50ceca30f197c86528084db2

Authored by loujiachen
0 parents

Init

Showing 113 changed files with 2887 additions and 0 deletions   Show diff stats
Datas/__beans__.xlsx 0 → 100644
No preview for this file type
Datas/__enums__.xlsx 0 → 100644
No preview for this file type
Datas/__tables__.xlsx 0 → 100644
No preview for this file type
Datas/ai/behaviortrees/random_move.lua 0 → 100644
  1 +++ a/Datas/ai/behaviortrees/random_move.lua
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 + return {
  2 + id=10002,
  3 + name="random move",
  4 + desc="demo behaviour tree haha",
  5 + executor="SERVER",
  6 + blackboard_id="demo",
  7 + root=
  8 + {
  9 + __type__ = "Sequence",
  10 + id=1,
  11 + node_name="test",
  12 + desc="root",
  13 + services=
  14 + {
  15 +
  16 + },
  17 + decorators=
  18 + {
  19 + { __type__="UeLoop", id=3,node_name="",flow_abort_mode="SELF", num_loops=0,infinite_loop=true,infinite_loop_timeout_time=-1,},
  20 + },
  21 + children =
  22 + {
  23 + {__type__="UeWait", id=30,node_name="", ignore_restart_self=false,wait_time=1,random_deviation=0.5, services={},decorators={},},
  24 + {__type__="MoveToRandomLocation", id=75,node_name="", ignore_restart_self=false,origin_position_key="x5",radius=30, services={},decorators={}},
  25 + --{__type__="DebugPrint", id=76,node_name="", ignore_restart_self=false,text="======= bt debug print ===", services={},decorators={}},
  26 + },
  27 + },
  28 + }
0 \ No newline at end of file 29 \ No newline at end of file
Datas/ai/blackboards/attack_or_patrol.lua 0 → 100644
  1 +++ a/Datas/ai/blackboards/attack_or_patrol.lua
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +return {
  2 + name = "attack_or_patrol",
  3 + desc ="demo hahaha",
  4 + parent_name = "",
  5 + keys =
  6 + {
  7 + {name="OriginPosition",desc="", is_static=false, type="VECTOR", type_class_name=""},
  8 + {name="TargetActor",desc="x2 haha", is_static=false, type="OBJECT", type_class_name=""},
  9 + {name="AcceptableRadius",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
  10 + {name="CurChooseSkillId",desc="x4 haha", is_static=false, type="INT", type_class_name=""},
  11 + },
  12 +}
0 \ No newline at end of file 13 \ No newline at end of file
Datas/ai/blackboards/demo_child.lua 0 → 100644
  1 +++ a/Datas/ai/blackboards/demo_child.lua
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +return {
  2 + name = "demo",
  3 + desc ="demo hahaha",
  4 + parent_name = "demo_parent",
  5 + keys =
  6 + {
  7 + {name="x1",desc="x1 haha", is_static=false, type="BOOL", type_class_name=""},
  8 + {name="x2",desc="x2 haha", is_static=false, type="INT", type_class_name=""},
  9 + {name="x3",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
  10 + {name="x4",desc="x4 haha", is_static=false, type="STRING", type_class_name=""},
  11 + {name="x5",desc="x5 haha", is_static=false, type="VECTOR", type_class_name=""},
  12 + {name="x6",desc="x6 haha", is_static=false, type="ROTATOR", type_class_name=""},
  13 + {name="x7",desc="x7 haha", is_static=false, type="NAME", type_class_name=""},
  14 + {name="x8",desc="x8 haha", is_static=false, type="CLASS", type_class_name=""},
  15 + {name="x9",desc="x9 haha", is_static=false, type="ENUM", type_class_name="ABC"},
  16 + {name="x10",desc="x10 haha", is_static=false, type="OBJECT", type_class_name="OBJECT"},
  17 + },
  18 +}
0 \ No newline at end of file 19 \ No newline at end of file
Datas/ai/blackboards/demo_parent.lua 0 → 100644
  1 +++ a/Datas/ai/blackboards/demo_parent.lua
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +return {
  2 + name = "demo_parent",
  3 + desc ="demo parent",
  4 + parent_name = "",
  5 + keys =
  6 + {
  7 + {name="v1",desc="v1 haha", is_static=false, type="BOOL", type_class_name=""},
  8 + },
  9 +}
0 \ No newline at end of file 10 \ No newline at end of file
Datas/blueprint/classes/int.json 0 → 100644
  1 +++ a/Datas/blueprint/classes/int.json
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +{
  2 + "__type__":"NormalClazz",
  3 + "name":"int",
  4 + "desc":"primity type:int",
  5 + "parents":[],
  6 + "methods":[],
  7 + "is_abstract":false,
  8 + "fields":[]
  9 +
  10 +}
0 \ No newline at end of file 11 \ No newline at end of file
Datas/bonus/掉落表.xlsx 0 → 100644
No preview for this file type
Datas/clothes/套装表.xlsx 0 → 100644
No preview for this file type
Datas/clothes/服装系统.xlsx 0 → 100644
No preview for this file type
Datas/common/dummy.xlsx 0 → 100644
No preview for this file type
Datas/common/全局常量配置表.xlsx 0 → 100644
No preview for this file type
Datas/error/错误码.xlsx 0 → 100644
No preview for this file type
Datas/item/道具分类子表.xlsx 0 → 100644
No preview for this file type
Datas/item/道具系统表.xlsx 0 → 100644
No preview for this file type
Datas/l10n/Demo.xlsx 0 → 100644
No preview for this file type
Datas/l10n/Patch.xlsx 0 → 100644
No preview for this file type
Datas/mail/邮箱系统数据表.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/MonsterWave.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/RogueChapter.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/RogueMonster.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/RogueMonsterCard.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/Skill.xlsx 0 → 100644
No preview for this file type
Datas/pro2d/hero.xlsx 0 → 100644
No preview for this file type
Datas/role/等级信息表.xlsx 0 → 100644
No preview for this file type
Datas/tag_datas/j_not_tag.json 0 → 100644
  1 +++ a/Datas/tag_datas/j_not_tag.json
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +{
  2 + "id":2001,
  3 + "value": "导出"
  4 +}
0 \ No newline at end of file 5 \ No newline at end of file
Datas/tag_datas/j_tag_any.json 0 → 100644
  1 +++ a/Datas/tag_datas/j_tag_any.json
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +{
  2 + "__tag__":"any",
  3 + "id":2004,
  4 + "value": "any"
  5 +}
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/j_tag_test.json 0 → 100644
  1 +++ a/Datas/tag_datas/j_tag_test.json
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +{
  2 + "__tag__":"test",
  3 + "id":2003,
  4 + "value": "test"
  5 +}
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/not_tag.lua 0 → 100644
  1 +++ a/Datas/tag_datas/not_tag.lua
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +
  2 +return {
  3 + id = 100,
  4 + value = "导出",
  5 +}
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/tag.xlsx 0 → 100644
No preview for this file type
Datas/tag_datas/tag_any.lua 0 → 100644
  1 +++ a/Datas/tag_datas/tag_any.lua
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +return {
  2 + __tag__ = "any",
  3 + id = 104,
  4 + value="any",
  5 +}
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/tag_test.lua 0 → 100644
  1 +++ a/Datas/tag_datas/tag_test.lua
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +return {
  2 + __tag__ = "test",
  3 + id = 102,
  4 + value="test",
  5 +}
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/x_not_tag.xml 0 → 100644
  1 +++ a/Datas/tag_datas/x_not_tag.xml
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +<data>
  2 + <id>3001</id>
  3 + <value>export</value>
  4 +</data>
0 \ No newline at end of file 5 \ No newline at end of file
Datas/tag_datas/x_tag_any.xml 0 → 100644
  1 +++ a/Datas/tag_datas/x_tag_any.xml
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +<data>
  2 + <__tag__>any</__tag__>
  3 + <id>3004</id>
  4 + <value>any</value>
  5 +</data>
0 \ No newline at end of file 6 \ No newline at end of file
Datas/tag_datas/x_tag_test.xml 0 → 100644
  1 +++ a/Datas/tag_datas/x_tag_test.xml
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +<data>
  2 + <__tag__>test</__tag__>
  3 + <id>3003</id>
  4 + <value>test</value>
  5 +</data>
0 \ No newline at end of file 6 \ No newline at end of file
Datas/test/composite_tables.json 0 → 100644
  1 +++ a/Datas/test/composite_tables.json
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +
  2 +{
  3 + "table1":[
  4 + {"id":1, "x":"aaa1"},
  5 + {"id":2,"x":"xx2"}
  6 + ],
  7 + "table2":[
  8 + {"id":1, "y":100},
  9 + {"id":3, "y":300}
  10 + ],
  11 + "table3": {
  12 + "a":111,
  13 + "b":222
  14 + }
  15 +}
0 \ No newline at end of file 16 \ No newline at end of file
Datas/test/composite_tables2.json 0 → 100644
  1 +++ a/Datas/test/composite_tables2.json
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +[
  2 + {"id":11, "x":"aaa11"},
  3 + {"id":12,"x":"xx12"}
  4 + ]
0 \ No newline at end of file 5 \ No newline at end of file
Datas/test/define_from_excel.xlsx 0 → 100644
No preview for this file type
Datas/test/define_from_excel_one.xlsx 0 → 100644
No preview for this file type
Datas/test/demo_group.xlsx 0 → 100644
No preview for this file type
Datas/test/demo_primitive.xlsx 0 → 100644
No preview for this file type
Datas/test/demos.xlsx 0 → 100644
No preview for this file type
Datas/test/detect_csv_encoding_ansi.csv 0 → 100644
  1 +++ a/Datas/test/detect_csv_encoding_ansi.csv
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +##,id,name
  2 +,,
  3 +,11,测试编码
  4 +,12,还果园国要
  5 +,13,工枯加盟仍
Datas/test/detect_csv_encoding_big5.csv 0 → 100644
1 Binary files /dev/null and a/Datas/test/detect_csv_encoding_big5.csv differ 1 Binary files /dev/null and a/Datas/test/detect_csv_encoding_big5.csv differ
Datas/test/detect_csv_encoding_gb2312.csv 0 → 100644
  1 +++ a/Datas/test/detect_csv_encoding_gb2312.csv
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +##,id,name
  2 +,
  3 +,1,测试编码
  4 +,2,还果园国要
  5 +,3,工枯加盟仍
Datas/test/detect_csv_encoding_utf8.csv 0 → 100644
  1 +++ a/Datas/test/detect_csv_encoding_utf8.csv
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +##,id,name
  2 +,
  3 +,21,测试编码
  4 +,22,还果园国要
  5 +,23,工枯加盟仍
Datas/test/excel_jsons/1.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/1.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 1,
  3 + "x1": true,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 2
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.4000001
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.3999996
  25 + },
  26 + "t1": "1990-1-1 00:00:00",
  27 + "x12": {
  28 + "x1": 10
  29 + },
  30 + "x13": "A",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 2
  35 + },
  36 + "k1": [
  37 + 12
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 10
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 2,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 3
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_jsons/2.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/2.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 2,
  3 + "x1": true,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 2
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.4000001
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.3999996
  25 + },
  26 + "t1": "1990-1-1 00:00:00",
  27 + "x12": {
  28 + "x1": 10
  29 + },
  30 + "x13": "B",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 2
  35 + },
  36 + "k1": [
  37 + 12
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 10
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 2,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 3
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_jsons/3.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/3.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 3,
  3 + "x1": true,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 2
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.4000001
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.3999996
  25 + },
  26 + "t1": "1990-1-1 00:00:00",
  27 + "x12": {
  28 + "x1": 10
  29 + },
  30 + "x13": "C",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 2
  35 + },
  36 + "k1": [
  37 + 12
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 10
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 2,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 3
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_jsons/6.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/6.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 6,
  3 + "x1": false,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 2
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.4000001
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.3999996
  25 + },
  26 + "t1": "1990-1-1 00:00:00",
  27 + "x12": {
  28 + "x1": 10
  29 + },
  30 + "x13": "C",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 2
  35 + },
  36 + "k1": [
  37 + 12
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 10
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 2,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 3
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_jsons/7.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/7.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 7,
  3 + "x1": false,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 3
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.5
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.5
  25 + },
  26 + "t1": "1990-1-2 00:00:00",
  27 + "x12": {
  28 + "x1": 11
  29 + },
  30 + "x13": "C",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 3
  35 + },
  36 + "k1": [
  37 + 13
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 11
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 3,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 4
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_jsons/8.json 0 → 100644
  1 +++ a/Datas/test/excel_jsons/8.json
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +{
  2 + "x4": 8,
  3 + "x1": false,
  4 + "x5": 100,
  5 + "x6": 1.20000005,
  6 + "s1": "hq",
  7 + "s2": {
  8 + "key": "/asfa",
  9 + "text": "aabbcc"
  10 + },
  11 + "v2": {
  12 + "x": 1,
  13 + "y": 4
  14 + },
  15 + "v3": {
  16 + "x": 1.10000002,
  17 + "y": 2.20000005,
  18 + "z": 3.5999999
  19 + },
  20 + "v4": {
  21 + "x": 10.1000004,
  22 + "y": 11.1999998,
  23 + "z": 12.3000002,
  24 + "w": 13.6000004
  25 + },
  26 + "t1": "1990-1-3 00:00:00",
  27 + "x12": {
  28 + "x1": 12
  29 + },
  30 + "x13": "C",
  31 + "x14": {
  32 + "__type__": "DemoD2",
  33 + "x1": 1,
  34 + "x2": 4
  35 + },
  36 + "k1": [
  37 + 14
  38 + ],
  39 + "k8": [
  40 + [
  41 + 2,
  42 + 2
  43 + ],
  44 + [
  45 + 4,
  46 + 12
  47 + ]
  48 + ],
  49 + "k9": [
  50 + {
  51 + "y1": 1,
  52 + "y2": true
  53 + },
  54 + {
  55 + "y1": 4,
  56 + "y2": false
  57 + }
  58 + ],
  59 + "k15": [
  60 + {
  61 + "__type__": "DemoD2",
  62 + "x1": 1,
  63 + "x2": 2
  64 + },
  65 + {
  66 + "__type__": "DemoD2",
  67 + "x1": 2,
  68 + "x2": 5
  69 + }
  70 + ]
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
Datas/test/excel_multi_row_jsons/1.json 0 → 100644
  1 +++ a/Datas/test/excel_multi_row_jsons/1.json
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +{
  2 + "id": 1,
  3 + "x": 5,
  4 + "items": [
  5 + {
  6 + "x": 1,
  7 + "y": true,
  8 + "z": "abcd",
  9 + "a": {
  10 + "x": 10,
  11 + "y": 100
  12 + },
  13 + "b": [
  14 + 1,
  15 + 3,
  16 + 5
  17 + ]
  18 + },
  19 + {
  20 + "x": 2,
  21 + "y": false,
  22 + "z": "abcd",
  23 + "a": {
  24 + "x": 22,
  25 + "y": 33
  26 + },
  27 + "b": [
  28 + 4,
  29 + 5
  30 + ]
  31 + }
  32 + ]
  33 +}
0 \ No newline at end of file 34 \ No newline at end of file
Datas/test/excel_multi_row_jsons/2.json 0 → 100644
  1 +++ a/Datas/test/excel_multi_row_jsons/2.json
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
  1 +{
  2 + "id": 2,
  3 + "x": 9,
  4 + "items": [
  5 + {
  6 + "x": 2,
  7 + "y": true,
  8 + "z": "abcd",
  9 + "a": {
  10 + "x": 10,
  11 + "y": 11
  12 + },
  13 + "b": [
  14 + 1,
  15 + 3,
  16 + 5
  17 + ]
  18 + },
  19 + {
  20 + "x": 4,
  21 + "y": false,
  22 + "z": "abcd",
  23 + "a": {
  24 + "x": 22,
  25 + "y": 33
  26 + },
  27 + "b": [
  28 + 4,
  29 + 5
  30 + ]
  31 + },
  32 + {
  33 + "x": 5,
  34 + "y": false,
  35 + "z": "abcd",
  36 + "a": {
  37 + "x": 22,
  38 + "y": 33
  39 + },
  40 + "b": [
  41 + 4,
  42 + 5
  43 + ]
  44 + }
  45 + ]
  46 +}
0 \ No newline at end of file 47 \ No newline at end of file
Datas/test/external_type.xlsx 0 → 100644
No preview for this file type
Datas/test/full_type.xlsx 0 → 100644
No preview for this file type
Datas/test/global.xlsx 0 → 100644
No preview for this file type
Datas/test/item.xlsx 0 → 100644
No preview for this file type
Datas/test/list.xlsx 0 → 100644
No preview for this file type
Datas/test/luban_assistant_test_json.xlsx 0 → 100644
No preview for this file type
Datas/test/luban_assistant_test_multi_rows.xlsx 0 → 100644
No preview for this file type
Datas/test/misc_datas/1.json 0 → 100644
  1 +++ a/Datas/test/misc_datas/1.json
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 + {
  2 + "x1":true,
  3 + "x2":3,
  4 + "x3":128,
  5 + "x4":1,
  6 + "x5":11223344,
  7 + "x6":1.2,
  8 + "x7":1.23432,
  9 + "x8_0":12312,
  10 + "x8":112233,
  11 + "x9":223344,
  12 + "x10":"hq",
  13 + "x12": { "x1":10},
  14 + "x13":"B",
  15 + "x14":{"$type": "DemoD2", "x1":1, "x2":2},
  16 + "s1": {"key":"/asfa", "text":"aabbcc"},
  17 + "v2":{"x":1, "y":2},
  18 + "v3":{"x":1.1, "y":2.2, "z":3.4},
  19 + "v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
  20 + "t1":"1970-01-01 00:00:00",
  21 + "k1":[1,2],
  22 + "k2":[2,3],
  23 + "k3":[1,3],
  24 + "k4":[1,5],
  25 + "k5":[1,6],
  26 + "k6":[1,7],
  27 + "k7":[2,3],
  28 + "k8":[[2,2],[4,10]],
  29 + "k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
  30 + "k15":[{"$type": "DemoD2", "x1":1, "x2":2}]
  31 + }
0 \ No newline at end of file 32 \ No newline at end of file
Datas/test/misc_datas/1.xml 0 → 100644
  1 +++ a/Datas/test/misc_datas/1.xml
@@ -0,0 +1,78 @@ @@ -0,0 +1,78 @@
  1 +<data>
  2 + <x1>true</x1>
  3 + <x2>4</x2>
  4 + <x3>128</x3>
  5 + <x4>11</x4>
  6 + <x5>112233445566</x5>
  7 + <x6>1.3</x6>
  8 + <x7>1112232.43123</x7>
  9 + <x8>112233</x8>
  10 + <x8_0>123</x8_0>
  11 + <x9>112334</x9>
  12 + <x10>yf</x10>
  13 + <x12>
  14 + <x1>1</x1>
  15 + </x12>
  16 + <x13>C</x13>
  17 + <x14 __type__="DemoD2">
  18 + <x1>1</x1>
  19 + <x2>2</x2>
  20 + </x14>
  21 + <s1><key>xml_key1</key><text>xml text</text></s1>
  22 + <v2>1,2</v2>
  23 + <v3>1.2,2.3,3.4</v3>
  24 + <v4>1.2,2.2,3.2,4.3</v4>
  25 +
  26 + <t1>1970-01-01 00:00:00</t1>
  27 +
  28 + <k1>
  29 + <item>1</item>
  30 + <item>2</item>
  31 + </k1>
  32 + <k2>
  33 + <item>1</item>
  34 + <item>2</item>
  35 + </k2>
  36 + <k3>
  37 + <item>1</item>
  38 + <item>2</item>
  39 + </k3>
  40 + <k4>
  41 + <item>1</item>
  42 + <item>2</item>
  43 + </k4>
  44 + <k5>
  45 + <item>1</item>
  46 + <item>2</item>
  47 + </k5>
  48 + <k6>
  49 + <item>1</item>
  50 + <item>2</item>
  51 + </k6>
  52 + <k7>
  53 + <item>1</item>
  54 + <item>3</item>
  55 + </k7>
  56 +
  57 + <k8>
  58 + <item> <key>2</key><value>10</value></item>
  59 + <item> <key>3</key><value>30</value></item>
  60 + </k8>
  61 +
  62 + <k9>
  63 + <item>
  64 + <y1>1</y1>
  65 + <y2>true</y2>
  66 + </item>
  67 + <item>
  68 + <y1>2</y1>
  69 + <y2>false</y2>
  70 + </item>
  71 + </k9>
  72 + <k15>
  73 + <item __type__="DemoD2">
  74 + <x1>1</x1>
  75 + <x2>2</x2>
  76 + </item>
  77 + </k15>
  78 +</data>
0 \ No newline at end of file 79 \ No newline at end of file
Datas/test/misc_datas/2.json 0 → 100644
  1 +++ a/Datas/test/misc_datas/2.json
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 + {
  2 + "x1":true,
  3 + "x2":3,
  4 + "x3":128,
  5 + "x4":2,
  6 + "x5":11223344,
  7 + "x6":1.2,
  8 + "x7":1.23432,
  9 + "x8_0":12312,
  10 + "x8":112233,
  11 + "x9":223344,
  12 + "x10":"hq",
  13 + "x12": { "x1":10},
  14 + "x13":"B",
  15 + "x14":{"__type__": "DemoD2", "x1":1, "x2":2},
  16 + "s1": {"key":"/asfa32", "text":"aabbcc22"},
  17 + "v2":{"x":1, "y":2},
  18 + "v3":{"x":1.1, "y":2.2, "z":3.4},
  19 + "v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
  20 + "t1":"1970-01-01 00:00:00",
  21 + "k1":[1,2],
  22 + "k2":[2,3],
  23 + "k3":[1,3],
  24 + "k4":[1,5],
  25 + "k5":[1,6],
  26 + "k6":[1,7],
  27 + "k7":[2,3],
  28 + "k8":[[2,2],[4,10]],
  29 + "k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
  30 + "k15":[{"__type__": "DemoD2", "x1":1, "x2":2}]
  31 + }
0 \ No newline at end of file 32 \ No newline at end of file
Datas/test/misc_datas/2.xml 0 → 100644
  1 +++ a/Datas/test/misc_datas/2.xml
@@ -0,0 +1,78 @@ @@ -0,0 +1,78 @@
  1 +<data>
  2 + <x1>true</x1>
  3 + <x2>4</x2>
  4 + <x3>128</x3>
  5 + <x4>12</x4>
  6 + <x5>112233445566</x5>
  7 + <x6>1.3</x6>
  8 + <x7>1112232.43123</x7>
  9 + <x8>112233</x8>
  10 + <x8_0>123</x8_0>
  11 + <x9>112334</x9>
  12 + <x10>yf</x10>
  13 + <x12>
  14 + <x1>1</x1>
  15 + </x12>
  16 + <x13>C</x13>
  17 + <x14 __type__="DemoD2">
  18 + <x1>1</x1>
  19 + <x2>2</x2>
  20 + </x14>
  21 + <s1><key>xml_key2</key><text>xml text222</text></s1>
  22 + <v2>1,2</v2>
  23 + <v3>1.2,2.3,3.4</v3>
  24 + <v4>1.2,2.2,3.2,4.3</v4>
  25 +
  26 + <t1>1970-01-01 00:00:00</t1>
  27 +
  28 + <k1>
  29 + <item>1</item>
  30 + <item>2</item>
  31 + </k1>
  32 + <k2>
  33 + <item>1</item>
  34 + <item>2</item>
  35 + </k2>
  36 + <k3>
  37 + <item>1</item>
  38 + <item>2</item>
  39 + </k3>
  40 + <k4>
  41 + <item>1</item>
  42 + <item>2</item>
  43 + </k4>
  44 + <k5>
  45 + <item>1</item>
  46 + <item>2</item>
  47 + </k5>
  48 + <k6>
  49 + <item>1</item>
  50 + <item>2</item>
  51 + </k6>
  52 + <k7>
  53 + <item>1</item>
  54 + <item>3</item>
  55 + </k7>
  56 +
  57 + <k8>
  58 + <item> <key>2</key><value>10</value></item>
  59 + <item> <key>3</key><value>30</value></item>
  60 + </k8>
  61 +
  62 + <k9>
  63 + <item>
  64 + <y1>1</y1>
  65 + <y2>true</y2>
  66 + </item>
  67 + <item>
  68 + <y1>2</y1>
  69 + <y2>false</y2>
  70 + </item>
  71 + </k9>
  72 + <k15>
  73 + <item __type__="DemoD2">
  74 + <x1>1</x1>
  75 + <x2>2</x2>
  76 + </item>
  77 + </k15>
  78 +</data>
0 \ No newline at end of file 79 \ No newline at end of file
Datas/test/misc_datas/3.yml 0 → 100644
  1 +++ a/Datas/test/misc_datas/3.yml
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
  1 +---
  2 +x1: true
  3 +x2: 3
  4 +x3: 128
  5 +x4: 40
  6 +x5: 11223344
  7 +x6: 1.2
  8 +x7: 1.23432
  9 +x8_0: 12312
  10 +x8: 112233
  11 +x9: 223344
  12 +x10: hq
  13 +x12:
  14 + x1: 10
  15 +x13: B
  16 +x14:
  17 + $type: DemoD2
  18 + x1: 1
  19 + x2: 2
  20 +s1:
  21 + key: "/asfa32"
  22 + text: aabbcc22
  23 +v2:
  24 + x: 1
  25 + y: 2
  26 +v3:
  27 + x: 1.1
  28 + y: 2.2
  29 + z: 3.4
  30 +v4:
  31 + x: 10.1
  32 + y: 11.2
  33 + z: 12.3
  34 + w: 13.4
  35 +t1: '1970-01-01 00:00:00'
  36 +k1:
  37 +- 1
  38 +- 2
  39 +k2:
  40 +- 2
  41 +- 3
  42 +k3:
  43 +- 1
  44 +- 3
  45 +k4:
  46 +- 1
  47 +- 5
  48 +k5:
  49 +- 1
  50 +- 6
  51 +k6:
  52 +- 1
  53 +- 7
  54 +k7:
  55 +- 2
  56 +- 3
  57 +k8:
  58 +- - 2
  59 + - 2
  60 +- - 4
  61 + - 10
  62 +k9:
  63 +- y1: 1
  64 + y2: true
  65 +- y1: 2
  66 + y2: false
  67 +k15:
  68 +- $type: DemoD2
  69 + x1: 1
  70 + x2: 2
Datas/test/misc_datas/demo.lua 0 → 100644
  1 +++ a/Datas/test/misc_datas/demo.lua
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +return
  2 +{
  3 + x1 = false,
  4 + x2 = 2,
  5 + x3 = 128,
  6 + x4 = 22,
  7 + x5 = 112233445566,
  8 + x6 = 1.3,
  9 + x7 = 1122,
  10 + x8 = 12,
  11 + x8_0 = 13,
  12 + x9 = 123,
  13 + x10 = "yf",
  14 + x12 = {x1=1},
  15 + x13 = "D",
  16 + x14 = { __type__="DemoD2", x1 = 1, x2=3},
  17 + s1 = { key="lua/key1", text="lua text "},
  18 + v2 = {x= 1,y = 2},
  19 + v3 = {x=0.1, y= 0.2,z=0.3},
  20 + v4 = {x=1,y=2,z=3.5,w=4},
  21 + t1 = "1970-01-01 00:00:00",
  22 + k1 = {1,2},
  23 + k2 = {2,3},
  24 + k3 = {3,4},
  25 + k4 = {1,2},
  26 + k5 = {1,3},
  27 + k6 = {1,2},
  28 + k7 = {1,8},
  29 + k8 = {[2]=10,[3]=12},
  30 + k9 = {{y1=1,y2=true}, {y1=10,y2=false}},
  31 + k15 = {{ __type__="DemoD2", x1 = 1, x2=3}},
  32 +}
0 \ No newline at end of file 33 \ No newline at end of file
Datas/test/multi_column.xlsx 0 → 100644
No preview for this file type
Datas/test/multi_level_title.xlsx 0 → 100644
No preview for this file type
Datas/test/multi_rows_record.xlsx 0 → 100644
No preview for this file type
Datas/test/table_one.xlsx 0 → 100644
No preview for this file type
Datas/test/tag_switch.xlsx 0 → 100644
No preview for this file type
Datas/test/test_desc.xlsx 0 → 100644
No preview for this file type
Datas/test/test_excel_bean.xlsx 0 → 100644
No preview for this file type
Datas/test/test_index.xlsx 0 → 100644
No preview for this file type
Datas/test/test_json2.xlsx 0 → 100644
No preview for this file type
Datas/test/test_map.xlsx 0 → 100644
No preview for this file type
Datas/test/test_null_datas/10.json 0 → 100644
  1 +++ a/Datas/test/test_null_datas/10.json
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +{
  2 + "id":10,
  3 + "x1":null,
  4 + "x2":null,
  5 + "x3":null,
  6 + "x4":null,
  7 + "s1":null,
  8 + "s2":null
  9 +}
0 \ No newline at end of file 10 \ No newline at end of file
Datas/test/test_null_datas/11.json 0 → 100644
  1 +++ a/Datas/test/test_null_datas/11.json
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +{
  2 + "id":11
  3 +}
0 \ No newline at end of file 4 \ No newline at end of file
Datas/test/test_null_datas/12.json 0 → 100644
  1 +++ a/Datas/test/test_null_datas/12.json
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +{
  2 + "id":12,
  3 + "x1":1,
  4 + "x2":"A",
  5 + "x3":{"x1":1},
  6 + "x4":{"__type__":"DemoD2", "x1":2, "x2":3},
  7 + "s1":"asf",
  8 + "s2":{"key":"key1", "text":"abcdef"}
  9 +}
0 \ No newline at end of file 10 \ No newline at end of file
Datas/test/test_null_datas/20.lua 0 → 100644
  1 +++ a/Datas/test/test_null_datas/20.lua
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +return
  2 +{
  3 + id=20,
  4 + x1 = nil,
  5 + x2 = nil,
  6 + x3 = nil,
  7 + x4 = nil,
  8 + s1 = nil,
  9 + s2 = nil,
  10 +}
0 \ No newline at end of file 11 \ No newline at end of file
Datas/test/test_null_datas/21.lua 0 → 100644
  1 +++ a/Datas/test/test_null_datas/21.lua
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +return
  2 +{
  3 + id=21,
  4 +}
0 \ No newline at end of file 5 \ No newline at end of file
Datas/test/test_null_datas/22.lua 0 → 100644
  1 +++ a/Datas/test/test_null_datas/22.lua
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +return
  2 +{
  3 + id=22,
  4 + x1 = 1,
  5 + x2 = "B",
  6 + x3 = {x1=3},
  7 + x4 = {__type__="DemoD2", x1=1, x2=2},
  8 + s1 = "asfs",
  9 + s2 = {key="/asf/asfa", text="abcdef"},
  10 +}
0 \ No newline at end of file 11 \ No newline at end of file
Datas/test/test_null_datas/30.xml 0 → 100644
  1 +++ a/Datas/test/test_null_datas/30.xml
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +<data>
  2 +<id>30</id>
  3 +<x1>1</x1>
  4 +<x2>A</x2>
  5 +<x3><x1>1</x1></x3>
  6 +<x4 __type__="DemoD2"><x1>1</x1><x2>22</x2></x4>
  7 +<s1>abcd</s1>
  8 +<s2><key>asdfasew</key><text>hahaha</text></s2>
  9 +</data>
0 \ No newline at end of file 10 \ No newline at end of file
Datas/test/test_null_datas/31.xml 0 → 100644
  1 +++ a/Datas/test/test_null_datas/31.xml
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +<data>
  2 +<id>31</id>
  3 +</data>
0 \ No newline at end of file 4 \ No newline at end of file
Datas/test/test_null_datas/test_null.xlsx 0 → 100644
No preview for this file type
Datas/test/test_ref.xlsx 0 → 100644
No preview for this file type
Datas/test/test_sep.xlsx 0 → 100644
No preview for this file type
Datas/test/test_set.xlsx 0 → 100644
No preview for this file type
Datas/test/test_size.xlsx 0 → 100644
No preview for this file type
Datas/test/test_string.xlsx 0 → 100644
No preview for this file type
Datas/test/unity_scriptable_objects/1.asset 0 → 100644
  1 +++ a/Datas/test/unity_scriptable_objects/1.asset
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
  1 +%YAML 1.1
  2 +%TAG !u! tag:unity3d.com,2011:
  3 +--- !u!114 &11400000
  4 +MonoBehaviour:
  5 + m_ObjectHideFlags: 0
  6 + m_CorrespondingSourceObject: {fileID: 0}
  7 + m_PrefabInstance: {fileID: 0}
  8 + m_PrefabAsset: {fileID: 0}
  9 + m_GameObject: {fileID: 0}
  10 + m_Enabled: 1
  11 + m_EditorHideFlags: 0
  12 + m_Script: {fileID: 11500000, guid: 1cbff1bfa4708914aaa381b1dd914663, type: 3}
  13 + m_Name: 1
  14 + m_EditorClassIdentifier:
  15 + id: 1
  16 + desc: aaaa
  17 + rate: 0.45
  18 + num: 12131
  19 + v2: {x: 1, y: 1}
  20 + v3: {x: 2, y: 2, z: 2}
  21 + v4: {x: 3, y: 3, z: 4, w: 4}
Datas/test/unity_scriptable_objects/2.asset 0 → 100644
  1 +++ a/Datas/test/unity_scriptable_objects/2.asset
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
  1 +%YAML 1.1
  2 +%TAG !u! tag:unity3d.com,2011:
  3 +--- !u!114 &11400000
  4 +MonoBehaviour:
  5 + m_ObjectHideFlags: 0
  6 + m_CorrespondingSourceObject: {fileID: 0}
  7 + m_PrefabInstance: {fileID: 0}
  8 + m_PrefabAsset: {fileID: 0}
  9 + m_GameObject: {fileID: 0}
  10 + m_Enabled: 1
  11 + m_EditorHideFlags: 0
  12 + m_Script: {fileID: 11500000, guid: 1cbff1bfa4708914aaa381b1dd914663, type: 3}
  13 + m_Name: 2
  14 + m_EditorClassIdentifier:
  15 + id: 2
  16 + desc: bbbbb
  17 + rate: 0.8
  18 + num: 1111
  19 + v2: {x: 1, y: 2}
  20 + v3: {x: 1, y: 2, z: 3}
  21 + v4: {x: 1, y: 2, z: 3, w: 4}
Defines/__root__.xml 0 → 100644
  1 +++ a/Defines/__root__.xml
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +<root>
  2 +
  3 + <topmodule name="cfg"/>
  4 +
  5 + <option name="editor.topmodule" value="editor.cfg"/>
  6 +
  7 + <patch name="cn"/>
  8 + <patch name="tw"/>
  9 + <patch name="en"/>
  10 + <patch name="jp"/>
  11 +
  12 + <group name="c" default="1"/> client
  13 + <group name="s" default="1"/> server
  14 + <group name="e" default="1"/> editor
  15 +
  16 + <import name="."/>
  17 +
  18 + <importexcel name="__tables__.xlsx" type="table"/> 相对data目录
  19 + <importexcel name="__enums__.xlsx" type="enum"/>相对data目录
  20 + <importexcel name="__beans__.xlsx" type="bean"/>相对data目录
  21 +
  22 + <externalselector name="unity_cs"/>
  23 + <externalselector name="ue_cpp"/>
  24 + <externalselector name="dotnet_cs"/>
  25 +
  26 + <service name="server" manager="Tables" group="s"/>
  27 + <service name="client" manager="Tables" group="c"/>
  28 + <service name="all" manager="Tables" group="c,s,e"/>
  29 +</root>
0 \ No newline at end of file 30 \ No newline at end of file
Defines/ai.xml 0 → 100644
  1 +++ a/Defines/ai.xml
@@ -0,0 +1,231 @@ @@ -0,0 +1,231 @@
  1 +<module name="ai">
  2 +
  3 +
  4 +<enum name="EExecutor">
  5 + <var name="CLIENT"/>
  6 + <var name="SERVER"/>
  7 +</enum>
  8 +
  9 +<enum name="EKeyType">
  10 + <var name="BOOL" value="1"/>
  11 + <var name="INT" value="2"/>
  12 + <var name="FLOAT" value="3"/>
  13 + <var name="STRING" value="4"/>
  14 +
  15 + <var name="VECTOR" value="5"/> vector3
  16 + <var name="ROTATOR" value="6"/> vector3
  17 +
  18 + <var name="NAME" value="7"/>
  19 + <var name="CLASS" value="8"/> type name
  20 +
  21 + <var name="ENUM" value="9"/>
  22 + <var name="OBJECT" value="10"/>
  23 +</enum>
  24 +
  25 +<bean name="BlackboardKey">
  26 + <var name="name" type="string"/>
  27 + <var name="desc" type="string"/>
  28 + <var name="is_static" type="bool"/> 是否为全局共享字段。 对应 ue 里 InstanceSynced 字段
  29 + <var name="type" type="EKeyType"/>
  30 + <var name="type_class_name" type="string"/> 具体类型名. 只对 ENUM,OBJECT 类型有意义
  31 +</bean>
  32 +
  33 +<bean name="Blackboard">
  34 + <var name="name" type="string"/>
  35 + <var name="desc" type="string"/>
  36 + <var name="parent_name" type="string" ref="ai.TbBlackboard?"/>
  37 + <var name="keys" type="list,BlackboardKey"/>
  38 +</bean>
  39 +
  40 +<table name="TbBlackboard" value="Blackboard" input="ai/blackboards"/>
  41 +
  42 +
  43 +<enum name="EFlowAbortMode">
  44 + <var name="NONE"/>
  45 + <var name="LOWER_PRIORITY"/>
  46 + <var name="SELF"/>
  47 + <var name="BOTH"/>
  48 +</enum>
  49 +
  50 +<enum name="EFinishMode">
  51 + <var name="IMMEDIATE"/>
  52 + <var name="DELAYED"/>
  53 +</enum>
  54 +
  55 +<enum name="ENotifyObserverMode">
  56 + <var name="ON_VALUE_CHANGE"/> 当值改变时就通知
  57 + <var name="ON_RESULT_CHANGE"/> 当PerformaConditionCheck计算结果发生变化时通知
  58 +</enum>
  59 +
  60 +<enum name="EOperator">
  61 + <var name="IS_EQUAL_TO"/>
  62 + <var name="IS_NOT_EQUAL_TO"/>
  63 + <var name="IS_LESS_THAN"/>
  64 + <var name="IS_LESS_THAN_OR_EQUAL_TO"/>
  65 + <var name="IS_GREAT_THAN"/>
  66 + <var name="IS_GREAT_THAN_OR_EQUAL_TO"/>
  67 + <var name="CONTAINS"/>
  68 + <var name="NOT_CONTAINS"/>
  69 +</enum>
  70 +
  71 +<bean name="KeyData">
  72 + <bean name="FloatKeyData">
  73 + <var name="value" type="float"/>
  74 + </bean>
  75 + <bean name="IntKeyData">
  76 + <var name="value" type="int"/>
  77 + </bean>
  78 + <bean name="StringKeyData">
  79 + <var name="value" type="string"/>
  80 + </bean>
  81 + <bean name="BlackboardKeyData">
  82 + <var name="value" type="string"/>
  83 + </bean>
  84 +</bean>
  85 +
  86 +<bean name="KeyQueryOperator">
  87 + <bean name="IsSet"/>
  88 + <bean name="IsNotSet"/> 这两个类型只对 bool,class,enum,name,object,rotator,vector 有效
  89 +
  90 + <bean name="BinaryOperator">
  91 + <var name="oper" type="EOperator"/>
  92 + <var name="data" type="KeyData"/>
  93 + </bean>
  94 +</bean>
  95 +
  96 +对于与ue4内置节点完全一致的实现,我们都加上Ue前缀。
  97 +
  98 +
  99 +<bean name="Node">
  100 + <var name="id" type="int"/>
  101 + <var name="node_name" type="string"/>
  102 +
  103 + <bean name="Service">
  104 + <bean name="UeSetDefaultFocus"> NOT
  105 + <var name="keyboard_key" type="string"/>
  106 + </bean>
  107 + <bean name="ExecuteTimeStatistic"> 统计子节点执行时间.执行完毕后打印日志
  108 + </bean>
  109 + <bean name="ChooseTarget">
  110 + <var name="result_target_key" type="string"/> actor
  111 + </bean>
  112 + <bean name="KeepFaceTarget">
  113 + <var name="target_actor_key" type="string"/> actor
  114 + </bean>
  115 + <bean name="GetOwnerPlayer">
  116 + <var name="player_actor_key" type="string"/> player
  117 + </bean>
  118 + <bean name="UpdateDailyBehaviorProps">
  119 + <var name="satiety_key" type="string"/>
  120 + <var name="energy_key" type="string"/>
  121 + <var name="mood_key" type="string"/>
  122 + <var name="satiety_lower_threshold_key" type="string"/>
  123 + <var name="satiety_upper_threshold_key" type="string"/>
  124 + <var name="energy_lower_threshold_key" type="string"/>
  125 + <var name="energy_upper_threshold_key" type="string"/>
  126 + <var name="mood_lower_threshold_key" type="string"/>
  127 + <var name="mood_upper_threshold_key" type="string"/>
  128 + </bean>
  129 + </bean>
  130 +
  131 + <bean name="Decorator">
  132 + <var name="flow_abort_mode" type="EFlowAbortMode"/>
  133 + <bean name="UeLoop">
  134 + <var name="num_loops" type="int"/>
  135 + <var name="infinite_loop" type="bool"/>
  136 + <var name="infinite_loop_timeout_time" type="float"/>
  137 + </bean>
  138 + <bean name="UeCooldown">
  139 + <var name="cooldown_time" type="float"/>
  140 + </bean>
  141 + <bean name="UeTimeLimit">
  142 + <var name="limit_time" type="float"/>
  143 + </bean>
  144 + <bean name="UeBlackboard">
  145 + <var name="notify_observer" type="ENotifyObserverMode"/>
  146 + <var name="blackboard_key" type="string"/>
  147 + <var name="key_query" type="KeyQueryOperator"/>
  148 + </bean>
  149 + <bean name="UeForceSuccess"/>
  150 + <bean name="IsAtLocation"> NOT
  151 + <var name="acceptable_radius" type="float"/>
  152 + <var name="keyboard_key" type="string"/>
  153 + <var name="inverse_condition" type="bool"/>
  154 + </bean>
  155 +
  156 + <bean name="DistanceLessThan">
  157 + <var name="actor1_key" type="string"/> actor 对象1
  158 + <var name="actor2_key" type="string"/> actor 对象2
  159 + <var name="distance" type="float"/> float 距离
  160 + <var name="reverse_result" type="bool"/> 是否取反结果
  161 + </bean>
  162 + </bean>
  163 + <bean name="FlowNode">
  164 + <var name="decorators" type="list,Decorator"/>
  165 + <var name="services" type="list,Service"/>
  166 + <bean name="ComposeNode">
  167 + <bean name="Sequence">
  168 + <var name="children" type="list,FlowNode"/>
  169 + </bean>
  170 + <bean name="Selector">
  171 + <var name="children" type="list,FlowNode"/>
  172 + </bean>
  173 + <bean name="SimpleParallel">
  174 + <var name="finish_mode" type="EFinishMode"/>
  175 + <var name="main_task" type="Task"/>
  176 + <var name="background_node" type="FlowNode"/>
  177 + </bean>
  178 + </bean>
  179 +
  180 + <bean name="Task">
  181 + <var name="ignore_restart_self" type="bool"/>
  182 + <!--bean name="TickableTask">
  183 + <var name="tick_interval" type="float"/>
  184 + <bean name="RandomMove">一个演示用的,随机移动的 Task
  185 + <var name="total_time" type="float"/>
  186 + <var name="speed" type="float"/>
  187 + </bean>
  188 + </bean-->
  189 + <bean name="UeWait">
  190 + <var name="wait_time" type="float"/>
  191 + <var name="random_deviation" type="float"/>
  192 + </bean>
  193 + <bean name="UeWaitBlackboardTime">
  194 + <var name="blackboard_key" type="string"/> float
  195 + </bean>
  196 + <bean name="MoveToTarget">
  197 + <var name="target_actor_key" type="string"/> actor
  198 + <var name="acceptable_radius" type="float"/> float
  199 + </bean>
  200 + <bean name="ChooseSkill">
  201 + <var name="target_actor_key" type="string"/> actor
  202 + <var name="result_skill_id_key" type="string"/> int
  203 + </bean>
  204 + <bean name="MoveToRandomLocation">
  205 + <var name="origin_position_key" type="string"/> vector3
  206 + <var name="radius" type="float"/>
  207 + </bean>
  208 + <bean name="MoveToLocation">
  209 + <var name="location" type="vector3"/> vector3
  210 + <var name="acceptable_radius" type="float"/>
  211 + </bean>
  212 + <bean name="DebugPrint">
  213 + <var name="text" type="string"/>
  214 + </bean>
  215 + </bean>
  216 + </bean>
  217 +
  218 +</bean>
  219 +
  220 +<bean name="BehaviorTree">
  221 + <var name="id" type="int"/>
  222 + <var name="name" type="string"/>
  223 + <var name="desc" type="string"/>
  224 + <var name="blackboard_id" type="string" ref="ai.TbBlackboard"/>
  225 +
  226 + <var name="root" type="ComposeNode"/>
  227 +</bean>
  228 +
  229 +<table name="TbBehaviorTree" value="BehaviorTree" input="ai/behaviortrees"/>
  230 +
  231 +</module>
Defines/blueprint.xml 0 → 100644
  1 +++ a/Defines/blueprint.xml
@@ -0,0 +1,95 @@ @@ -0,0 +1,95 @@
  1 + <module name="blueprint">
  2 +
  3 + <bean name="DValue">
  4 + <bean name="DBool">
  5 + <var name="value" type="bool"/>
  6 + </bean>
  7 +
  8 + <bean name="DInt">
  9 + <var name="value" type="int"/>
  10 + </bean>
  11 +
  12 + <bean name="DLong">
  13 + <var name="value" type="long"/>
  14 + </bean>
  15 +
  16 + <bean name="DDouble">
  17 + <var name="value" type="double"/>
  18 + </bean>
  19 +
  20 + <bean name="DString">
  21 + <var name="value" type="string"/>
  22 + </bean>
  23 +
  24 + <bean name="DObject">
  25 + <var name="type" type="string"/>
  26 + <var name="fields" type="list,FieldValue"/>
  27 + </bean>
  28 +
  29 + <bean name="DArray">
  30 + <var name="element_type" type="string"/>
  31 + <var name="elements" type="list,DValue"/>
  32 + </bean>
  33 + </bean>
  34 +
  35 + <bean name="FieldValue">
  36 + <var name="name" type="string"/>
  37 + <var name="value" type="DValue"/>
  38 + </bean>
  39 +
  40 +
  41 +
  42 + <bean name="Field">
  43 + <var name="name" type="string"/>
  44 + <var name="type" type="string"/>
  45 + <var name="desc" type="string"/>
  46 + </bean>
  47 +
  48 +
  49 +
  50 + <bean name="ParamInfo">
  51 + <var name="name" type="string"/>
  52 + <var name="type" type="string"/>
  53 + <var name="is_ref" type="bool"/>
  54 + </bean>
  55 +
  56 + <bean name="Method">
  57 + <var name="name" type="string"/>
  58 + <var name="desc" type="string"/>
  59 + <var name="is_static" type="bool"/>
  60 + <var name="return_type" type="string"/>
  61 + <var name="parameters" type="list,ParamInfo"/>
  62 + <bean name="AbstraceMethod">
  63 + </bean>
  64 + <bean name="ExternalMethod"/>
  65 + <bean name="BlueprintMethod">
  66 + </bean>
  67 + </bean>
  68 +
  69 +
  70 +
  71 +<bean name="EnumField">
  72 + <var name="name" type="string"/>
  73 + <var name="value" type="int"/>
  74 +</bean>
  75 +
  76 +
  77 +
  78 + <bean name="Clazz">
  79 + <var name="name" type="string"/>
  80 + <var name="desc" type="string"/>
  81 + <var name="parents" type="list,Clazz"/>
  82 + <var name="methods" type="list,Method"/>
  83 + <bean name="Interface"/>
  84 + <bean name="NormalClazz">
  85 + <var name="is_abstract" type="bool"/>
  86 + <var name="fields" type="list,Field"/>
  87 + </bean>
  88 + <bean name="EnumClazz">
  89 + <var name="enums" type="list,EnumField"/>
  90 + </bean>
  91 + </bean>
  92 +
  93 + <table name="TbClazz" value="Clazz" input="blueprint/classes"/>
  94 +
  95 + </module>
0 \ No newline at end of file 96 \ No newline at end of file
Defines/bonus.xml 0 → 100644
  1 +++ a/Defines/bonus.xml
@@ -0,0 +1,100 @@ @@ -0,0 +1,100 @@
  1 +<module name="bonus">
  2 +
  3 + <bean name="ProbabilityBonusInfo">
  4 + <var name="bonus" type="Bonus"/>
  5 + <var name="probability" type="float"/>
  6 + </bean>
  7 +
  8 + <bean name="WeightBonusInfo">
  9 + <var name="bonus" type="Bonus"/>
  10 + <var name="weight" type="int"/>
  11 + </bean>
  12 +
  13 + <bean name="WeightItemInfo">
  14 + <var name="item_id" type="int" ref="item.TbItem"/>
  15 + <var name="num" type="int"/>
  16 + <var name="weight" type="int"/>
  17 + </bean>
  18 +
  19 + <bean name="ProbabilityItemInfo">
  20 + <var name="item_id" type="int" ref="item.TbItem"/>
  21 + <var name="num" type="int"/>
  22 + <var name="probability" type="float"/>
  23 + </bean>
  24 +
  25 + <bean name="Bonus">
  26 + <bean name="OneItem">
  27 + <var name="item_id" type="int" ref="item.TbItem"/>
  28 + </bean>
  29 +
  30 + <bean name="OneItems">
  31 + <var name="items" type="array,int" ref="item.TbItem"/>
  32 + </bean>
  33 +
  34 + <bean name="Item">
  35 + <var name="item_id" type="int" ref="item.TbItem"/>
  36 + <var name="amount" type="int"/>
  37 + </bean>
  38 +
  39 + <bean name="Items">
  40 + <var name="item_list" type="array,Item"/>
  41 + </bean>
  42 +
  43 + <bean name="CoefficientItem">
  44 + <var name="bonus_id" type="int"/>
  45 + <var name="bonus_list" type="Items"/>
  46 + </bean>
  47 +
  48 + <bean name="WeightItems">
  49 + <var name="item_list" type="array,WeightItemInfo"/>
  50 + </bean>
  51 +
  52 + <bean name="ProbabilityItems">
  53 + <var name="item_list" type="array,ProbabilityItemInfo"/>
  54 + </bean>
  55 +
  56 + <bean name="MultiBonus">
  57 + <var name="bonuses" type="array,Bonus"/>
  58 + </bean>
  59 +
  60 + <bean name="ProbabilityBonus">
  61 + <var name="bonuses" type="array,ProbabilityBonusInfo"/>
  62 + </bean>
  63 +
  64 + <bean name="WeightBonus">
  65 + <var name="bonuses" type="array,WeightBonusInfo"/>
  66 + </bean>
  67 +
  68 +
  69 + <!--bean name="RepeatBonus">执行num次生成bonus
  70 + <var name="bonus" type="Bonus"/>
  71 + <var name="num" type="int"/>
  72 + </bean>
  73 +
  74 + <bean name="CopyBonus">生成一次bonus,发num次
  75 + <var name="bonus" type="Bonus"/>
  76 + <var name="num" type="int"/>
  77 + </bean-->
  78 +
  79 + <!--涉及到drop表的定义-->
  80 +
  81 + <bean name="DropBonus">
  82 + <var name="id" type="int" ref="bonus.TbDrop"/>
  83 + </bean>
  84 +
  85 + </bean>
  86 +
  87 + <bean name="ShowItemInfo" sep="-">
  88 + <var name="item_id" type="int" ref="item.TbItem" />
  89 + <var name="item_num" type="long" />
  90 + </bean>
  91 +
  92 + <bean name="DropInfo">
  93 + <var name="id" type="int"/>
  94 + <var name="desc" type="string"/>
  95 + <var name="client_show_items" type="list,ShowItemInfo"/>
  96 + <var name="bonus" type="Bonus"/>
  97 + </bean>
  98 + <table name="TbDrop" value="DropInfo" input="bonus/掉落表.xlsx"/>
  99 +
  100 +</module>
0 \ No newline at end of file 101 \ No newline at end of file
Defines/common.xml 0 → 100644
  1 +++ a/Defines/common.xml
@@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
  1 +<module name="common">
  2 + <bean name="DateTimeRange" sep=";">
  3 + <var name="start_time" type="datetime?"/>
  4 + <var name="end_time" type="datetime?"/>
  5 + </bean>
  6 +
  7 + <bean name="TimeOfDay" sep=":">
  8 + <var name="hour" type="int"/>
  9 + <var name="minute" type="int"/>
  10 + <var name="second" type="int"/>
  11 + </bean>
  12 +
  13 + <bean name="OneDayTimeRange" sep=";">
  14 + <var name="start_time" type="TimeOfDay"/>
  15 + <var name="end_time" type="TimeOfDay"/>
  16 + </bean>
  17 +
  18 + <enum name="EBoolOperator">
  19 + <var name="AND"/>
  20 + <var name="OR"/>
  21 + </enum>
  22 +
  23 + <bean name="IntRange">
  24 + <var name="min" type="int"/>
  25 + <var name="max" type="int"/>
  26 + </bean>
  27 +
  28 + <bean name="FloatRange">
  29 + <var name="min" type="float"/>
  30 + <var name="max" type="float"/>
  31 + </bean>
  32 +
  33 + <bean name="GlobalConfig">
  34 +
  35 + <!-- 背包相关 -->
  36 + <var name="bag_capacity" type="int" comment="背包容量"/>
  37 + <var name="bag_capacity_special" type="int"/>
  38 + <var name="bag_temp_expendable_capacity" type="int"/>
  39 + <var name="bag_temp_tool_capacity" type="int"/>
  40 + <var name="bag_init_capacity" type="int"/>
  41 + <var name="quick_bag_capacity" type="int"/>
  42 + <var name="cloth_bag_capacity" type="int"/>
  43 + <var name="cloth_bag_init_capacity" type="int"/>
  44 + <var name="cloth_bag_capacity_special" type="int"/>
  45 + <var name="bag_init_items_drop_id" type="int?" ref="bonus.TbDrop"/>
  46 +
  47 +
  48 + <!-- 邮箱 -->
  49 + <var name="mail_box_capacity" type="int"/>
  50 +
  51 + <!-- 技能与战斗 -->
  52 + <var name="damage_param_c" type="float"/>
  53 + <var name="damage_param_e" type="float"/>
  54 + <var name="damage_param_f" type="float"/>
  55 + <var name="damage_param_d" type="float"/>
  56 +
  57 + <!-- 场景对象 -->
  58 + <var name="role_speed" type="float"/>
  59 + <var name="monster_speed" type="float"/>
  60 + <var name="init_energy" type="int"/>
  61 + <var name="init_viality" type="int"/>
  62 + <var name="max_viality" type="int"/>
  63 + <var name="per_viality_recovery_time" type="int"/> 多久恢复一点
  64 + </bean>
  65 +
  66 + <table name="TbGlobalConfig" value="GlobalConfig" mode="one" input="common/全局常量配置表.xlsx"/>
  67 +
  68 +</module>
0 \ No newline at end of file 69 \ No newline at end of file
Defines/condition.xml 0 → 100644
  1 +++ a/Defines/condition.xml
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +<module name="condition">
  2 + <bean name="Condition">
  3 + <bean name="TimeRange">
  4 + <var name="date_time_range" type="common.DateTimeRange"/>
  5 + </bean>
  6 +
  7 + <bean name="RoleCondition">
  8 + <bean name="MultiRoleCondition">
  9 + <var name="conditions" type="array,RoleCondition"/>
  10 + </bean>
  11 + <bean name="BoolRoleCondition">
  12 + <bean name="GenderLimit">
  13 + <var name="gender" type="role.EGenderType"/>
  14 + </bean>
  15 + <bean name="MinLevel" alias="等级达到">
  16 + <var name="level" type="int"/>
  17 + </bean>
  18 + <bean name="MaxLevel" alias="等级不高于">
  19 + <var name="level" type="int"/>
  20 + </bean>
  21 + <bean name="MinMaxLevel" alias="等级范围">
  22 + <var name="min" type="int"/>
  23 + <var name="max" type="int"/>
  24 + </bean>
  25 +
  26 + <bean name="ClothesPropertyScoreGreaterThan" alias="属性超过">
  27 + <var name="prop" type="item.EClothesPropertyType"/>
  28 + <var name="value" type="int"/>
  29 + </bean>
  30 + </bean>
  31 +
  32 + <bean name="ContainsItem" alias="背包有物品">身上无物品,tmp
  33 + <var name="item_id" type="int" ref="item.TbItem"/>
  34 + <var name="num" type="int"/>
  35 + <var name="reverse" type="bool"/> 取反条件
  36 + </bean>
  37 + </bean>
  38 + </bean>
  39 +</module>
Defines/cost.xml 0 → 100644
  1 +++ a/Defines/cost.xml
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +<module name="cost">
  2 +
  3 + <bean name="Cost">
  4 + <bean name="CostCurrency">
  5 + <var name="type" type="item.ECurrencyType"/>
  6 + <var name="num" type="int"/>
  7 + </bean>
  8 +
  9 + <bean name="CostCurrencies">
  10 + <var name="currencies" type="list,CostCurrency"/>
  11 + </bean>
  12 +
  13 + <bean name="CostOneItem">
  14 + <var name="item_id" type="int" ref="item.TbItem"/>
  15 + </bean>
  16 +
  17 + <bean name="CostItem">
  18 + <var name="item_id" type="int" ref="item.TbItem"/>
  19 + <var name="amount" type="int"/>
  20 + </bean>
  21 +
  22 + <bean name="CostItems">
  23 + <var name="item_list" type="array,CostItem"/>
  24 + </bean>
  25 + </bean>
  26 +</module>
0 \ No newline at end of file 27 \ No newline at end of file
Defines/error.xml 0 → 100644
  1 +++ a/Defines/error.xml
@@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
  1 +<module name="error">
  2 + <bean name="ErrorInfo">
  3 + <var name="code" type="string"/>
  4 + <var name="desc" type="string"/>
  5 + <var name="style" type="ErrorStyle"/>
  6 + </bean>
  7 +
  8 + <enum name="EOperation">
  9 + <var name="LOGOUT" alias="登出"/>
  10 + <var name="RESTART" alias="重启"/>
  11 + </enum>
  12 +
  13 + <bean name="ErrorStyle">
  14 + <bean name="ErrorStyleTip" alias="飘窗">
  15 + </bean>
  16 + <bean name="ErrorStyleMsgbox" alias="弹框"> 只有一个按钮,可以指定操作
  17 + <var name="btn_name" type="string"/> 按钮提示
  18 + <var name="operation" type="EOperation"/> 操作
  19 + </bean>
  20 + <bean name="ErrorStyleDlgOk" alias="单按钮">
  21 + <var name="btn_name" type="string"/> 按钮提示
  22 + </bean>
  23 + <bean name="ErrorStyleDlgOkCancel" alias="双按钮">
  24 + <var name="btn1_name" type="string"/> 左按钮提示
  25 + <var name="btn2_name" type="string"/> 右按钮提示
  26 + </bean>
  27 + </bean>
  28 +
  29 + <table name="TbErrorInfo" value="ErrorInfo" input="desc@error/错误码.xlsx"/>
  30 +</module>
0 \ No newline at end of file 31 \ No newline at end of file
Defines/error_code.xml 0 → 100644
  1 +++ a/Defines/error_code.xml
@@ -0,0 +1,130 @@ @@ -0,0 +1,130 @@
  1 +<module name="error">
  2 +
  3 +
  4 +
  5 + <enum name="EErrorCode">
  6 +
  7 + <var name="OK" value="0"/>
  8 +
  9 +
  10 +
  11 + <var name="SERVER_NOT_EXISTS"/> 当前服务器不存在
  12 + <var name="HAS_BIND_SERVER"/> 已经绑定过服务器
  13 + <var name="AUTH_FAIL"/> 服务器认证失败
  14 + <var name="NOT_BIND_SERVER"/> 没有绑定服务器
  15 + <var name="SERVER_ACCESS_FAIL"/> 访问失败
  16 +
  17 + <var name="EXAMPLE_FLASH"/>
  18 + <var name="EXAMPLE_MSGBOX"/>
  19 + <var name="EXAMPLE_DLG_OK"/>
  20 + <var name="EXAMPLE_DLG_OK_CANCEL"/>
  21 + <!-- 角色 -->
  22 + <var name="ROLE_CREATE_NAME_INVALID_CHAR" value="100"/> 创建角色名字有非法字符
  23 + <var name="ROLE_CREATE_NAME_EMPTY"/> 名字为空
  24 + <var name="ROLE_CREATE_NAME_EXCEED_MAX_LENGTH"/> 名字超长
  25 + <var name="ROLE_CREATE_ROLE_LIST_FULL"/>角色列表已满
  26 + <var name="ROLE_CREATE_INVALID_PROFESSION"/>非法职业
  27 + <var name="ROLE_CREATE_INVALID_GENDER"/>
  28 + <var name="ROLE_NOT_OWNED_BY_USER"/> 不是该帐户的角色
  29 + <var name="ROLE_LEVEL_NOT_ARRIVE"/> 用户等级未达到
  30 +
  31 +
  32 + <!-- 背包 -->
  33 + <var name="PARAM_ILLEGAL" value="200"/> 参数非法
  34 + <var name="TEMP_BAG_NOT_EMPTY"/> 临时背包非空
  35 + <var name="ITEM_CAN_NOT_USE"/> 道具不能使用
  36 + <var name="CURRENCY_NOT_ENOUGH"/>货币不足
  37 + <var name="BAG_IS_FULL"/> 背包已满
  38 + <var name="ITEM_NOT_ENOUGH"/> 道具不足
  39 + <var name="ITEM_IN_BAG"/> 道具已在背包中
  40 +
  41 + <!-- condition -->
  42 + <var name="GENDER_NOT_MATCH" value="300"/>
  43 + <var name="LEVEL_TOO_LOW"/> 等级太低
  44 + <var name="LEVEL_TOO_HIGH"/> 等级太高
  45 + <var name="EXCEED_LIMIT"/> 超过限制
  46 + <var name="OVER_TIME"/> 超时
  47 + <var name="SERVER_ERROR"/> 服务器错误
  48 +
  49 +
  50 + <!-- skill -->
  51 + <var name="SKILL_NOT_IN_LIST" value="400"/>
  52 + <var name="SKILL_NOT_COOLDOWN"/>
  53 + <var name="SKILL_TARGET_NOT_EXIST"/>
  54 + <var name="SKILL_ANOTHER_CASTING"/>
  55 + <var name="SKILL_OUT_OF_DISTANCE"/>
  56 + <var name="SKILL_TARGET_CAMP_NOT_MATCH"/>
  57 + <var name="SKILL_INVALID_DIRECTION"/>
  58 + <var name="SKILL_NOT_IN_SELECT_SHAPE"/>不在选择区域内
  59 + <var name="SKILL_ENERGY_NOT_ENOUGH"/>能量不足
  60 +
  61 + <!-- quest -->
  62 + <var name="DIALOG_NODE_NOT_CHOOSEN" value="500"/>该对话节点没有被选过
  63 + <var name="DIALOG_NOT_FINISH" />该对话尚未完成
  64 + <var name="DIALOG_HAS_FINISH"/>
  65 + <var name="QUEST_STAGE_NOT_FINISHED" />该任务阶段未完成
  66 + <var name="QUEST_NOT_DOING" />该不在进行中
  67 + <var name="QUEST_STAGE_NOT_DOING" />该阶段不在进行中
  68 + <var name="QUEST_HAS_ACCEPTED"/>
  69 +
  70 + <!-- scene -->
  71 + <var name="MAP_OBJECT_NOT_EXIST" value="600"/>
  72 + <var name="INTERACTION_OBJECT_NOT_SUPPORT_OPERATION"/>
  73 + <var name="HAS_NOT_EQUIP"/>
  74 + <var name="HANDHELD_EQUIP_ID_NOT_MATCH"/>
  75 + <var name="NOT_AVAILABLE_SUIT_ID"/>
  76 + <var name="NO_INTERACTION_COMPONENT"/>没有交互组件
  77 + <var name="HAS_INTERACTED"/> 不能重复交互
  78 + <var name="VIALITY_NOT_ENOUGH"/>体力不足
  79 + <var name="PLAYER_SESSION_NOT_EXIST"/>
  80 + <var name="PLAYER_SESSION_WORLD_PLAYER_NOT_INIT"/>
  81 + <var name="MAP_NOT_EXIST"/>
  82 +
  83 + <!-- mail -->
  84 + <var name="MAIL_TYPE_ERROR" value="700"/> 邮件类型错误
  85 + <var name="MAIL_NOT_EXITST"/> 邮件不存在
  86 + <var name="MAIL_HAVE_DELETED"/> 邮件已删除
  87 + <var name="MAIL_AWARD_HAVE_RECEIVED"/> 邮件奖励已领取
  88 + <var name="MAIL_OPERATE_TYPE_ERROR"/> 邮件操作类型错误
  89 + <var name="MAIL_CONDITION_NOT_MEET"/> 邮件条件不满足
  90 + <var name="MAIL_STATE_ERROR"/> 邮件状态错误
  91 + <var name="MAIL_NO_AWARD"/> 邮件没有奖励
  92 + <var name="MAIL_BOX_IS_FULL"/>邮箱已满
  93 +
  94 + <!-- clothes-->
  95 + <var name="PROP_SCORE_NOT_BIGGER_THAN" value="800"/>服装基础属性分没有达到 x 分
  96 + <var name="NOT_WEAR_CLOTHES"/>
  97 + <var name="NOT_WEAR_SUIT"/>
  98 +
  99 + <!-- designdrawing-->
  100 + <var name="SUIT_NOT_UNLOCK" value="900"/> 套装尚未解锁
  101 + <var name="SUIT_COMPONENT_NOT_UNLOCK"/> 部件尚未解锁
  102 + <var name="SUIT_STATE_ERROR"/> 套装状态错误
  103 + <var name="SUIT_COMPONENT_STATE_ERROR"/> 部件状态错误
  104 + <var name="SUIT_COMPONENT_NO_NEED_LEARN"/> 设计图纸对应的部件均已完成学习
  105 +
  106 + <!--store-->
  107 + <var name="STORE_NOT_ENABLED" value="1000"/> 该商店尚未达到开启条件,无法从中选购商品
  108 + <var name="SHELF_NOT_ENABLED"/> 当前货架未达到开启条件
  109 + <var name="GOODS_NOT_ENABLED"/> 商品尚未达到出售条件,无法购买
  110 + <var name="GOODS_NOT_IN_CUR_REFRESH"/> 商品不在当前商店刷新结果里
  111 +
  112 + <!-- limit -->
  113 + <var name="RETRY" value="1100"/> 次数已重置. 请重试
  114 + <var name="NOT_COOLDOWN"/> 未冷却
  115 +
  116 + <!-- selfie -->
  117 + <var name="SELFIE_UNLOCK" value="1200"/> 小册子尚未解锁
  118 + <var name="SELFIE_ALREADY_UNLOCK"/> 小册子已经被解锁
  119 + <var name="SELFIE_LACK_STARTS"/> 该册子的总星数不足 不能领取奖励
  120 + <var name="SELFIE_HAD_REWARD"/> 该阶段奖励已经被领取
  121 +
  122 + </enum>
  123 +
  124 + <bean name="CodeInfo">
  125 + <var name="code" type="EErrorCode"/> bug: 这里要等重构完加 ref="error.TbErrorInfo"
  126 + <var name="key" type="string"/>
  127 + </bean>
  128 +
  129 + <table name="TbCodeInfo" value="CodeInfo" input="code@error/错误码.xlsx"/>
  130 +</module>
0 \ No newline at end of file 131 \ No newline at end of file
Defines/item.xml 0 → 100644
  1 +++ a/Defines/item.xml
@@ -0,0 +1,220 @@ @@ -0,0 +1,220 @@
  1 +<module name="item">
  2 +
  3 + <enum name="EItemQuality" comment="道具品质"> 道具的品质
  4 + <var name="WHITE" alias="白" comment="白"/>
  5 + <var name="GREEN" alias="绿"/>
  6 + <var name="BLUE" alias="蓝"/>
  7 + <var name="PURPLE" alias="紫"/>
  8 + <var name="GOLDEN" alias="金"/>
  9 + </enum>
  10 +
  11 + <enum name="ECurrencyType">
  12 + <var name="DIAMOND" alias="钻石" value="1"/>
  13 + <var name="GOLD" alias="金币" value="2"/>
  14 + <var name="SILVER" alias="银币" value="3"/>
  15 + <var name="EXP" alias="经验" value="4"/>
  16 + <var name="POWER_POINT" alias="能量点" value="5"/>
  17 + </enum>
  18 +
  19 + <enum name="EMajorType">
  20 + <var name="CURRENCY" alias="货币" value="1"/>
  21 + <var name="CLOTH" alias="服装" value="2"/>
  22 + <var name="QUEST" alias="任务" value="3"/>
  23 + <var name="CONSUMABLES" alias="消耗品" value="4"/>
  24 + <var name="TREASURE_BOX" alias="宝箱" value="5"/>
  25 + <var name="ACHIEVEMENT_AND_TITLE" alias="成就和称谓" value="6"/>
  26 + <var name="HEAD_FRAME" alias="头像框" value="7"/>
  27 + <var name="VOICE" alias="语音" value="8"/>
  28 + <var name="ACTION" alias="动作" value="9"/>
  29 + <var name="EXPANSION" alias="扩容道具" value="10"/>
  30 + <var name="MATERIAL" alias="制作材料" value="11"/>
  31 + </enum>
  32 +
  33 + <enum name="EMinorType">
  34 + <var name="DIAMOND" alias="钻石" value="101"/>
  35 + <var name="GOLD" alias="金币" value="102"/>
  36 + <var name="SILVER" alias="银币" value="103"/>
  37 + <var name="EXP" alias="经验" value="104"/>
  38 + <var name="POWER_POINT" alias="能量点" value="105"/>
  39 + <var name="HAIR_STYLE" alias="发型" value="210"/>
  40 + <var name="COAT" alias="外套" value="220"/>
  41 + <var name="UPPER_JACKET" alias="上衣" value="230"/>
  42 + <var name="TROUSERS" alias="裤子" value="241"/>
  43 + <var name="SKIRT" alias="裙子" value="242"/>
  44 + <var name="SOCKS" alias="袜子" value="250"/>
  45 + <var name="SHOES" alias="鞋子" value="260"/>
  46 + <var name="HAIR_ACCESSORY" alias="发饰" value="271"/>
  47 + <var name="HAT" alias="帽子" value="272"/>
  48 + <var name="EARRING" alias="耳饰" value="273"/>
  49 + <var name="NECKLACE" alias="颈饰" value="274"/>
  50 + <var name="BRACELET" alias="腕饰" value="275"/>
  51 + <var name="HAIR_CLASP" alias="发箍" value="276"/>
  52 + <var name="GLOVE" alias="手套" value="277"/>
  53 + <var name="HANDHELD_OBJECT" alias="手持物" value="278"/>
  54 + <var name="SPECIAL" alias="特殊" value="279"/>
  55 + <var name="BASE_COSMETIC" alias="底妆" value="281"/>
  56 + <var name="EYEBROW_COSMETIC" alias="眉妆" value="282"/>
  57 + <var name="EYELASH" alias="睫毛" value="283"/>
  58 + <var name="COSMETIC_CONTACT_LENSES" alias="美瞳" value="284"/>
  59 + <var name="LIP_COSMETIC" alias="唇妆" value="285"/>
  60 + <var name="SKIN_COLOR" alias="肤色" value="286"/>
  61 + <var name="ONE_PIECE_DRESS" alias="连衣裙" value="290"/>
  62 + <var name="SWITCH_CLOTHES_SCENE" alias= "换装场景" value="291"/>
  63 + <var name="QUEST" alias="任务道具" value="301"/>
  64 + <var name="CAST" alias="投掷物" value="401"/>
  65 + <var name="SWORD" alias="刀剑" value="421"/>
  66 + <var name="BOW_ARROW" alias="弓箭" value="422"/>
  67 + <var name="WANDS" alias="法杖" value="423"/>
  68 + <var name="SPECIAL_TOOL" alias="特殊工具" value="424"/>
  69 + <var name="FOOD" alias="食物" value="403"/>
  70 + <var name="TREASURE_BOX" alias="宝箱" value="501"/>
  71 + <var name="KEY" alias="钥匙" value="502"/>
  72 + <var name="MULTI_CHOOSE_TREASURE_BOX" alias="多选一宝箱" value="503"/>
  73 + <var name="ACHIEVEMENT" alias="成就相关" value="601"/>
  74 + <var name="TITLE" alias="称谓相关" value="602"/>
  75 + <var name="AVATAR_FRAME" alias="头像框" value="701"/>
  76 + <var name="VOICE" alias="语音" value="801"/>
  77 + <var name="IDLE_POSE" alias="特殊待机动作" value="901"/>
  78 + <var name="PHOTO_POSE" alias="拍照动作" value="902"/>
  79 + <var name="BAG" alias="背包" value="1001"/>
  80 + <var name="FRIEND_CAPACITY" alias="好友数量" value="1002"/>
  81 + <var name="CONSTRUCTION_MATERIAL" alias="制作材料" value="1101"/>
  82 + <var name="DESIGN_DRAWING" alias="设计图纸" value="1102"/>
  83 + </enum>
  84 +
  85 + <enum name="EClothersStarQualityType">
  86 + <var name="ONE" alias="一星" value="1" />
  87 + <var name="TWO" alias="二星" />
  88 + <var name="THREE" alias="三星" />
  89 + <var name="FOUR" alias="四星" />
  90 + <var name="FIVE" alias="五星" />
  91 + <var name="SIX" alias="六星" />
  92 + <var name="SEVEN" alias="七星" />
  93 + <var name="EIGHT" alias="八星" />
  94 + <var name="NINE" alias="九星" />
  95 + <var name="TEN" alias="十星" />
  96 + </enum>
  97 +
  98 + <enum name="EClothersTag">风格标签
  99 + <var name="FANG_SHAI" alias="防晒" value="1" />
  100 + <var name="WU_ZHE" alias="舞者" />
  101 + </enum>
  102 +
  103 + <enum name="EUseType"> 使用类型
  104 + <var name="MANUAL" alias="手动"/>
  105 + <var name="AUTO" alias="自动"/>
  106 + </enum>
  107 +
  108 + <enum name="EClothesHidePartType"> 服装隐藏部位类型
  109 + <var name="CHEST" alias="胸部" value="0"/>
  110 + <var name="HEAD" alias="手"/>
  111 + <var name="SPINE_UPPER" alias="脊柱上"/>
  112 + <var name="SPINE_LOWER" alias="脊柱下"/>
  113 + <var name="HIP" alias="臀部"/>
  114 + <var name="LEG_UPPER" alias="腿上"/>
  115 + <var name="LEG_MIDDLE" alias="腿中"/>
  116 + <var name="LEG_LOWER" alias="腿下"/>
  117 + </enum>
  118 +
  119 + <enum name="EClothesPropertyType">服装属性
  120 + <var name="JIAN_YUE" alias="简约" value="1" />
  121 + <var name="HUA_LI" alias="华丽" />
  122 + <var name="KE_AI" alias="可爱" />
  123 + <var name="CHENG_SHU" alias="成熟" />
  124 + <var name="HUO_PO" alias="活泼" />
  125 + <var name="YOU_YA" alias="优雅" />
  126 + <var name="QING_CHUN" alias="清纯" />
  127 + <var name="XING_GAN" alias="性感" />
  128 + <var name="QING_LIANG" alias="清凉" />
  129 + <var name="BAO_NUAN" alias="保暖" />
  130 + </enum>
  131 +
  132 + <bean name="Item" comment="道具">
  133 + <var name="id" type="int" comment="道具id"/>
  134 + <var name="name" type="string"/>
  135 + <var name="major_type" type="EMajorType" group="c,s"/>
  136 + <var name="minor_type" type="EMinorType"/>
  137 + <var name="max_pile_num" type="int" group="s"/>
  138 + <var name="quality" type="EItemQuality"/>
  139 + <var name="icon" type="string" group="c"/>
  140 + <var name="icon_backgroud" type="string"/>
  141 + <var name="icon_mask" type="string"/>
  142 + <var name="desc" type="string"/>
  143 + <var name="show_order" type="int"/>
  144 + <var name="quantifier" type="string"/>量词
  145 + <var name="show_in_bag" type="bool"/>
  146 + <var name="min_show_level" type="int"/>
  147 + <!--var name="expire" type="condition.TimeExpireCondition"/-->
  148 + <!--var name="out_date_change" type="bonus.Items" sep="#;"/-->
  149 + <var name="batch_usable" type="bool"/>
  150 + <var name="progress_time_when_use" type="float"/> 使用物品的读条时间
  151 + <var name="show_hint_when_use" type="bool"/>
  152 + <!--var name="obtain_daily_limit" type="condition.DayLimit"/-->
  153 + <var name="droppable" type="bool"/>
  154 + <var name="price" type="int?"/> 以银币出售价格
  155 + <var name="use_type" type="EUseType"/>
  156 + <!--var name="destroy_on_leave_map" type="bool"/-->
  157 + <var name="level_up_id" type="int?"/>
  158 + <!--var name="salable" type="bool"/-->
  159 + <!--var name="max_own_num" type="condition.Limit" sep=","/-->
  160 + </bean>
  161 +
  162 + <table name="TbItem" value="Item" input="通用道具表@item/道具系统表.xlsx" comment="道具表"/>
  163 +
  164 + <enum name="EItemFunctionType">
  165 + <var name="REPLACE_HANDHELD" alias="更换手持物"/>
  166 + <var name="USE_DESIGN_DRAWING" alias="使用设计图纸"/>
  167 + </enum>
  168 +
  169 + <bean name="ItemFunction">
  170 + <var name="minor_type" type="EMinorType"/>
  171 + <var name="func_type" type="EItemFunctionType"/>
  172 + <var name="method" type="string"/>
  173 + <var name="close_bag_ui" type="bool"/>
  174 + </bean>
  175 +
  176 + <table name="TbItemFunc" value="ItemFunction" input="道具功能表@item/道具系统表.xlsx" group="c"/>
  177 +
  178 + <bean name="ClothesProp" sep=",">
  179 + <var name="prop_enum" type="EClothesPropertyType" />
  180 + <var name="value" type="int" />
  181 + </bean>
  182 +
  183 + <bean name="ChooseOneBonus">
  184 + <var name="drop_id" type="int" ref="bonus.TbDrop"/>
  185 + <var name="is_unique" type="bool"/> 是否唯一
  186 + </bean>
  187 +
  188 + <bean name="ItemExtra">
  189 + <var name="id" type="int"/>
  190 +
  191 + <bean name="TreasureBox" alias="宝箱">
  192 + <var name="key_item_id" type="int?"/>
  193 + <var name="open_level" type="condition.MinLevel"/>
  194 + <var name="use_on_obtain" type="bool"/>
  195 + <var name="drop_ids" type="list,int" ref="bonus.TbDrop"/>
  196 + <!--var name="open_daily_limit" type="condition.DayLimit"/-->
  197 + <var name="choose_list" type="list,ChooseOneBonus"/>
  198 + </bean>
  199 +
  200 + <bean name="InteractionItem" alias="交互道具">
  201 + <var name="attack_num" type="int?"/>
  202 + <var name="holding_static_mesh" type="string"/>
  203 + <var name="holding_static_mesh_mat" type="string"/>
  204 + </bean>
  205 + <bean name="Clothes" alias="服装">
  206 + <var name="attack" type="int"/>
  207 + <var name="hp" type="long"/>
  208 + <var name="energy_limit" type="int"/>
  209 + <var name="energy_resume" type="int"/>
  210 + </bean>
  211 + <bean name="DesignDrawing" alias="设计图纸">
  212 + <var name="learn_component_id" type="list,int"/> 习得部件id
  213 + </bean>
  214 + <bean name="Dymmy">
  215 + <var name="cost" type="cost.Cost"/>
  216 + </bean>
  217 + </bean>
  218 + <table name="TbItemExtra" value="ItemExtra" input="item/道具分类子表.xlsx"/>
  219 +
  220 +</module>
0 \ No newline at end of file 221 \ No newline at end of file
Defines/l10n.xml 0 → 100644
  1 +++ a/Defines/l10n.xml
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +<module name="l10n">
  2 + <bean name="L10NDemo">
  3 + <var name="id" type="int"/>
  4 + <var name="text" type="text"/>
  5 + </bean>
  6 +
  7 + <table name="TbL10NDemo" value="L10NDemo" input="l10n/Demo.xlsx"/>
  8 +
  9 + <bean name="PatchDemo">
  10 + <var name="id" type="int"/>
  11 + <var name="value" type="int"/>
  12 + </bean>
  13 + <table name="TbPatchDemo" value="PatchDemo" input="l10n/Patch.xlsx" patch_input="cn:l10n/Patch_CN_1.xlsx,l10n/Patch_CN_2.xlsx|en:l10n/Patch_En.xlsx"/>
  14 +</module>
0 \ No newline at end of file 15 \ No newline at end of file
Defines/limit.xml 0 → 100644
  1 +++ a/Defines/limit.xml
@@ -0,0 +1,57 @@ @@ -0,0 +1,57 @@
  1 +<module name="limit">
  2 + <enum name="ENamespace">
  3 + <var name="ITEM_DAILY_OBTAIN" value="1"/>
  4 + <var name="TREASURE_DAILY_USE" value="2"/>
  5 + <var name="STORE_GOODS_LIMIT_BUY" value="3"/>
  6 + </enum>
  7 +
  8 + <!--bean name="LevelNum">
  9 + <var name="level" type="int"/>
  10 + <var name="num" type="int"/>
  11 + </bean-->
  12 +
  13 + <bean name="LimitBase">
  14 + <bean name="DailyLimitBase">
  15 + <!--bean name="DailyLimitsByVipLevel">精简后的Vip限制
  16 + <var name="enter_times" type="array,int"/>进入次数,是个数组,第一个是vip0 5,6,6,7,7,8,9,10
  17 + </bean>
  18 + <bean name="DailyLimitsByVipLevel2">每日限制
  19 + <var name="currency_type" type="item.ECurrencyType"/>
  20 + <var name="enter_times" type="array,int"/>进入次数,是个数组,第一个是vip0 5,6,6,7,7,8,9,10
  21 + <var name="amount" type="array,long"/> 0,0,0,0,0,5,5,5,5,5,5,5
  22 + </bean>
  23 +
  24 + <bean name="DailyLimitsByVipLevel3">
  25 + <var name="enter_times" type="array,int"/>进入次数,是个数组,第一个是vip0 5,6,6,7,7,8,9,10
  26 + <var name="costs" type="array,Condition"/>
  27 + </bean>
  28 +
  29 + <bean name="DailyLimitByLevel">
  30 + <var name="levels" type="array,LevelNum"/>进入次数,是个数组,第一个是vip0 5,6,6,7,7,8,9,10
  31 + </bean-->
  32 + <bean name="DailyLimit">简单的每日限制
  33 + <var name="num" type="int"/>
  34 + </bean>
  35 + </bean>
  36 +
  37 + <bean name="MultiDayLimit"> 几天重置一次
  38 + <var name="day" type="int"/>
  39 + <var name="num" type="int"/>
  40 + </bean>
  41 +
  42 + <bean name="WeeklyLimit">简单的每周限制
  43 + <var name="num" type="int"/>
  44 + </bean>
  45 + <bean name="MonthlyLimit">简单的每月限制
  46 + <var name="num" type="int"/>
  47 + </bean>
  48 + <bean name="CoolDown">冷却
  49 + <var name="duration" type="int"/>秒
  50 + </bean>
  51 +
  52 + <bean name="GroupCoolDown"> 组冷却不在标准 Limit 范围内
  53 + <var name="group_id" type="int"/>
  54 + <var name="duration" type="int"/>秒
  55 + </bean>
  56 + </bean>
  57 +</module>
0 \ No newline at end of file 58 \ No newline at end of file
Defines/mail.xml 0 → 100644
  1 +++ a/Defines/mail.xml
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +<module name="mail">
  2 + <enum name="EMailType"> 邮件类型
  3 + <var name="GLOBAL" alias="全局邮件"/>
  4 + <var name="SYSTEM" alias="系统邮件"/>
  5 + </enum>
  6 +
  7 + <bean name="SystemMail">
  8 + <var name="id" type="int"/>
  9 + <var name="title" type="string"/>
  10 + <var name="sender" type="string"/>
  11 + <var name="content" type="string"/>
  12 + <var name="award" type="list,int" ref="bonus.TbDrop"/>
  13 + </bean>
  14 +
  15 + <table name="TbSystemMail" index="id" value="SystemMail" input="系统邮件数据表@mail/邮箱系统数据表.xlsx"/>
  16 +
  17 + <bean name="GlobalMail">
  18 + <var name="id" type="int"/>
  19 + <var name="title" type="string"/>
  20 + <var name="sender" type="string"/>
  21 + <var name="content" type="string"/>
  22 + <var name="award" type="list,int" ref="bonus.TbDrop"/>
  23 + <var name="all_server" type="bool"/>
  24 + <var name="server_list" type="list,int"/>
  25 + <var name="platform" type="string"/>
  26 + <var name="channel" type="string"/>
  27 + <var name="min_max_level" type="condition.MinMaxLevel"/>
  28 + <var name="register_time" type="condition.TimeRange"/>
  29 + <var name="mail_time" type="condition.TimeRange"/>
  30 + </bean>
  31 + <table name="TbGlobalMail" value="GlobalMail" input="全局邮件数据表@mail/邮箱系统数据表.xlsx"/>
  32 +
  33 +</module>
0 \ No newline at end of file 34 \ No newline at end of file
Defines/pro2d.xml 0 → 100644
  1 +++ a/Defines/pro2d.xml
@@ -0,0 +1,112 @@ @@ -0,0 +1,112 @@
  1 +<module name="pro2d">
  2 +
  3 + <bean name="Hero">
  4 + <var name="id" type="int"/>
  5 + <var name="name" type="string"/>
  6 + <var name="type" type="int"/>
  7 + <var name="profession" type="int"/>
  8 + <var name="race" type="int"/>
  9 + <var name="star" type="int"/>
  10 + <var name="level" type="int"/>
  11 + <var name="hp" type="int"/>
  12 + <var name="sp" type="int"/>
  13 + <var name="atk" type="int"/>
  14 + <var name="def" type="int"/>
  15 + <var name="speed" type="float"/>
  16 + <var name="atkRange" type="float"/>
  17 + <var name="atkSpeed" type="float"/>
  18 + <var name="crit" type="int"/>
  19 + <var name="critHurt" type="int"/>
  20 + <var name="dodge" type="int"/>
  21 + <var name="block" type="int"/>
  22 + <var name="parry" type="int"/>
  23 + <var name="fireAtk" type="int"/>
  24 + <var name="fireDef" type="int"/>
  25 + <var name="thunderAtk" type="int"/>
  26 + <var name="thunderDef" type="int"/>
  27 + <var name="windAtk" type="int"/>
  28 + <var name="windDef" type="int"/>
  29 + <var name="soilAtk" type="int"/>
  30 + <var name="soilDef" type="int"/>
  31 + <var name="iceAtk" type="int"/>
  32 + <var name="iceDef" type="int"/>
  33 + <var name="poisonAtk" type="int"/>
  34 + <var name="poisonDef" type="int"/>
  35 + <var name="skillId" type="int"/>
  36 + <var name="passiveSkillId1" type="int"/>
  37 + <var name="passiveSkillId2" type="int"/>
  38 + <var name="passiveSkillId3" type="int"/>
  39 + <var name="perfabName" type="string"/>
  40 + <var name="attackLv" type="int"/>
  41 + <var name="group" type="int"/>
  42 + <var name="occupation" type="int"/>
  43 + <var name="species" type="int"/>
  44 + <var name="attackType" type="int"/>
  45 + <var name="unitType" type="int"/>
  46 + <var name="ceRevise" type="float"/>
  47 + </bean>
  48 +
  49 + <bean name="MonsterWave">
  50 + <var name="id" type="int"/>
  51 + <var name="name" type="string"/>
  52 + <var name="monsters" type="map,int,int"/>
  53 + <var name="battleSceneName" type="string"/>
  54 + <var name="monsterBorn" type="MonsterBorn"/>
  55 + </bean>
  56 +
  57 + <bean name="MonsterBorn">
  58 + <var name="id" type="int"/>
  59 + <var name="roleId" type="int"/>
  60 + <var name="x" type="float"/>
  61 + <var name="z" type="float"/>
  62 + </bean>
  63 +
  64 + <bean name="Skill">
  65 + <var name="id" type="int"/>
  66 + <var name="imageUrl" type="string"/>
  67 + <var name="count" type="int"/>
  68 + <var name="cd" type="float"/>
  69 + </bean>
  70 +
  71 + <bean name="Carbon">
  72 + <var name="id" type="int"/>
  73 + <var name="carbonName" type="string"/>
  74 + <var name="carbonMonster" type="string"/>
  75 + <var name="gift" type="string"/>
  76 + <var name="progressSum" type="int"/>
  77 + </bean>
  78 +
  79 + <bean name="RogueChapter">
  80 + <var name="chapterId" type="int"/>
  81 + <var name="carbons" type="list,Carbon"/>
  82 + </bean>
  83 +
  84 + <bean name="RogueMonsterCard">
  85 + <var name="id" type="int"/>
  86 + <var name="name" type="string"/>
  87 + <var name="monsters" type="map,int,int"/>
  88 + <var name="tag" type="string"/>
  89 + <var name="atkLevel" type="int"/>
  90 + <var name="hpLevel" type="int"/>
  91 + <var name="progressCount" type="int"/>
  92 + <var name="formationType" type="int"/>
  93 + </bean>
  94 +
  95 + <bean name="Wave">
  96 + <var name="id" type="int"/>
  97 + <var name="buff" type="string"/>
  98 + </bean>
  99 +
  100 + <bean name="RogueMonster">
  101 + <var name="carbonId" type="int"/>
  102 + <var name="waves" type="list,Wave"/>
  103 + </bean>
  104 +
  105 + <table name="TbHero" value="Hero" input="pro2d/hero.xlsx"/>
  106 + <table name="TbMonsterWave" value="MonsterWave" input="pro2d/MonsterWave.xlsx"/>
  107 + <table name="TbSkill" value="Skill" input="pro2d/Skill.xlsx"/>
  108 + <table name="TbRogueChapter" value="RogueChapter" input="pro2d/RogueChapter.xlsx"/>
  109 + <table name="TbRogueMonsterCard" value="RogueMonsterCard" input="pro2d/RogueMonsterCard.xlsx"/>
  110 +
  111 + <table name="TbRogueMonster" value="RogueMonster" input="pro2d/RogueMonster.xlsx"/>
  112 +</module>
0 \ No newline at end of file 113 \ No newline at end of file
Defines/role.xml 0 → 100644
  1 +++ a/Defines/role.xml
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +<module name="role">
  2 +
  3 + <enum name="EGenderType">
  4 + <var name="MALE" alias="男" value="1"/>
  5 + <var name="FEMALE" alias="女" value="2"/>
  6 + </enum>
  7 +
  8 + <enum name="EProfession">
  9 + <var name="TEST_PROFESSION" value="1"/>
  10 + </enum>
  11 +
  12 + <bean name="LevelExpAttr">
  13 + <var name="level" type="int"/>
  14 + <var name="need_exp" type="long"/>
  15 + <var name="clothes_attrs" type="list,int"/>
  16 + </bean>
  17 + <table name="TbRoleLevelExpAttr" value="LevelExpAttr" input="等级经验数值表@role/等级信息表.xlsx"/>
  18 +
  19 + <bean name="BonusInfo">
  20 + <var name="type" type="item.ECurrencyType"/>
  21 + <var name="coefficient" type="float"/>
  22 + </bean>
  23 + <bean name="DistinctBonusInfos">
  24 + <var name="effective_level" type="int"/>
  25 + <var name="bonus_info" type="list,BonusInfo"/>
  26 + </bean>
  27 + <bean name="LevelBonus">
  28 + <var name="id" type="int"/>
  29 + <var name="distinct_bonus_infos" type="list,DistinctBonusInfos"/>
  30 + </bean>
  31 + <table name="TbRoleLevelBonusCoefficient" value="LevelBonus" input="等级奖励系数表@role/等级信息表.xlsx"/>
  32 +</module>
0 \ No newline at end of file 33 \ No newline at end of file
Defines/tag.xml 0 → 100644
  1 +++ a/Defines/tag.xml
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +<module name="tag">
  2 + <bean name="TestTag">
  3 + <var name="id" type="int"/>
  4 + <var name="value" type="string"/>
  5 + </bean>
  6 + <table name="TbTestTag" value="TestTag" input="tag_datas"/>
  7 +
  8 + <!--bean name="TagSwitch">
  9 + <var name="unlock_equip" type="int"/>
  10 + <var name="unlock_hero" type="int"/>
  11 + </bean>
  12 + <table name="TbTagSwitch" value="TagSwitch" mode="one" input="test/tag_switch.xlsx"/-->
  13 +</module>
0 \ No newline at end of file 14 \ No newline at end of file
Defines/test.xml 0 → 100644
  1 +++ a/Defines/test.xml
@@ -0,0 +1,556 @@ @@ -0,0 +1,556 @@
  1 +<module name="test">
  2 + <enum name="DemoEnum">
  3 + <var name="NONE" value="0"/>
  4 + <var name="A" alias="aa" value="1"/>
  5 + <var name="B" alias="bb"/>
  6 + <var name="C" alias="cc" value="4"/>
  7 + <var name="D" alias="dd"/>
  8 + </enum>
  9 +
  10 + <enum name="DemoFlag" flags="1">
  11 + <var name="A" value="1"/>
  12 + <var name="B" value="2"/>
  13 + <var name="D" value="A|B"/>
  14 + </enum>
  15 +
  16 + <bean name="DemoType1">
  17 + <var name="x1" type="int"/>
  18 + </bean>
  19 +
  20 + <bean name="DemoDynamic"> 多态数据结构
  21 + <var name="x1" type="int"/>
  22 +
  23 + <bean name="DemoD2" alias="测试别名">
  24 + <var name="x2" type="int"/>
  25 + </bean>
  26 +
  27 + <bean name="DemoD3">
  28 + <var name="x3" type="int"/>
  29 + <bean name="DemoE1">
  30 + <var name="x4" type="int"/>
  31 + </bean>
  32 + </bean>
  33 + <bean name="DemoD5">
  34 + <var name="time" type="DateTimeRange"/>
  35 + </bean>
  36 + </bean>
  37 +
  38 + <bean name="DemoE2">
  39 + <var name="y1" type="int?"/>
  40 + <var name="y2" type="bool"/>
  41 + </bean>
  42 +
  43 + <bean name="DemoExplicitType">
  44 + <var name="x1" type="uint8"/>
  45 + <var name="x2" type="int16"/>
  46 + <var name="x3" type="int32"/>
  47 + <var name="x4" type="int64"/>
  48 + <var name="x5" type="float32"/>
  49 + <var name="x6" type="float64"/>
  50 + <var name="x7" type="bigint"/>
  51 + </bean>
  52 +
  53 + <bean name="DemoType2" tags="d=5#a=3">
  54 + <var name="x4" type="int#range=[1,100]"/>
  55 + <var name="x1" type="bool#kind=cat#type=sss" tags="aa=10#bb=23"/>
  56 + <var name="x2" type="byte#kind=mouse#name=yyy" tags="aa#dd=32"/>
  57 + <var name="x3" type="short"/>
  58 + <var name="x5" type="long" />
  59 + <var name="x6" type="float"/>
  60 + <var name="x7" type="double"/>
  61 + <var name="x8_0" type="fshort"/>
  62 + <var name="x8" type="fint"/>
  63 + <var name="x9" type="flong"/>
  64 +
  65 + <var name="x10" type="string#res=demo" path="unity"/>
  66 + <var name="x12" type="DemoType1"/>
  67 + <var name="x13" type="DemoEnum#sep=,"/>
  68 + <var name="x14" type="DemoDynamic#sep=,"/>多态数据结构
  69 +
  70 + <var name="s1" type="text"/>
  71 +
  72 + <var name="v2" type="vector2"/>
  73 + <var name="v3" type="vector3"/>
  74 + <var name="v4" type="vector4"/>
  75 +
  76 + <var name="t1" type="datetime"/>
  77 +
  78 + <var name="k1" type="array,int"/>
  79 + <var name="k2" type="list,int"/>
  80 + <var name="k5" type="set,int"/>
  81 + <var name="k8" type="(map#sep=,),int#ref=test.TbFullTypes,int#ref=test.TbFullTypes"/>
  82 + <var name="k9" type="(list#sep=;),DemoE2#sep=,"/>
  83 + <var name="k15" type="(array#sep=;),DemoDynamic#sep=,"/>
  84 + </bean>
  85 +
  86 + <table name="TbFullTypes" index="x4" value="DemoType2" input="test/full_type.xlsx"/> 最常见的普通 key-value表
  87 +
  88 + <bean name="DateTimeRange" sep=";">
  89 + <var name="start_time" type="datetime"/>
  90 + <var name="end_time" type="datetime"/>
  91 + </bean>
  92 +
  93 + <bean name="DemoSingletonType">
  94 + <var name="id" type="int"/>
  95 + <var name="name" type="text"/>
  96 + <var name="date" type="DemoDynamic"/>
  97 + </bean>
  98 +
  99 + <table name="TbSingleton" mode="one" value="DemoSingletonType" input="test/table_one.xlsx"/> 单例表,只有一个记录
  100 +
  101 + <bean name="NotIndexList">
  102 + <var name="x" type="int"/>
  103 + <var name="y" type="int"/>
  104 + </bean>
  105 + <table name="TbNotIndexList" value="NotIndexList" mode="list" input="not_index@test/list.xlsx"/>
  106 +
  107 + <bean name="MultiUnionIndexList">
  108 + <var name="id1" type="int"/>
  109 + <var name="id2" type="long"/>
  110 + <var name="id3" type="string"/>
  111 + <var name="num" type="int"/>
  112 + <var name="desc" type="string"/>
  113 + </bean>
  114 + <!-- index="id1,id2,id3" index="id1+id2+id3" index="id1&id2&id3" 都可以表达是 (id1,id2,id3) 联合唯一索引 -->
  115 + <table name="TbMultiUnionIndexList" value="MultiUnionIndexList" mode="list" index="id1+id2+id3" input="multi_union_index@test/list.xlsx"/>
  116 +
  117 + <bean name="MultiIndexList">
  118 + <var name="id1" type="int"/>
  119 + <var name="id2" type="long"/>
  120 + <var name="id3" type="string"/>
  121 + <var name="num" type="int"/>
  122 + <var name="desc" type="string"/>
  123 + </bean>
  124 + <!-- index="id1|id2|id3" 表示这3个key分别都是唯一索引 -->
  125 + <table name="TbMultiIndexList" value="MultiIndexList" mode="list" index="id1,id2,id3" input="multi_index@test/list.xlsx"/>
  126 +
  127 + <table name="TbDataFromMisc" value="DemoType2" input="test/misc_datas"/> 普通表,不过数据从misc_datas目录递归读入各种类型的数据源
  128 +
  129 + <bean name="MultiRowType1">
  130 + <var name="id" type="int"/>
  131 + <var name="x" type="int"/>
  132 + </bean>
  133 +
  134 + <bean name="MultiRowType2">
  135 + <var name="id" type="int"/>
  136 + <var name="x" type="int"/>
  137 + <var name="y" type="float"/>
  138 + </bean>
  139 +
  140 + <bean name="MultiRowType3">
  141 + <var name="id" type="int"/>
  142 + <var name="items" type="list,MultiRowType1"/>
  143 + </bean>
  144 +
  145 + <bean name="MultiRowRecord">
  146 + <var name="id" type="int"/>
  147 + <var name="name" type="string"/>
  148 + <var name="one_rows" type="list,MultiRowType1"/>
  149 + <var name="multi_rows1" type="list,MultiRowType1"/>
  150 + <var name="multi_rows2" type="array,MultiRowType1"/>
  151 + <!--var name="multi_rows3" type="set,MultiRowType2"/-->
  152 + <var name="multi_rows4" type="map,int,MultiRowType2"/>
  153 + <var name="multi_rows5" type="list,MultiRowType3"/>
  154 + <var name="multi_rows6" type="map,int,MultiRowType2"/>
  155 + <var name="multi_rows7" type="map,int,int"/>
  156 + </bean>
  157 +
  158 + <table name="TbMultiRowRecord" value="MultiRowRecord" input="test/multi_rows_record.xlsx"/>
  159 +
  160 + <bean name="Foo">
  161 + <var name="y1" type="int"/>
  162 + <var name="y2" type="int"/>
  163 + <var name="y3" type="int"/>
  164 + </bean>
  165 + <bean name="TestMultiColumn">
  166 + <var name="id" type="int"/>
  167 + <var name="a" type="Foo"/>
  168 + <var name="b" type="Foo"/>
  169 + <var name="c" type="Foo"/>
  170 + </bean>
  171 + <table name="TbTestMultiColumn" value="TestMultiColumn" input="test/multi_column.xlsx"/>
  172 +
  173 + <enum name="ETestUeType">
  174 + <var name="WHITE" alias="白"/>
  175 + <var name="BLACK"/>
  176 + </enum>
  177 +
  178 + <enum name="ETestEmptyEnum">
  179 +
  180 + </enum>
  181 +
  182 + <enum name="ETestEmptyEnum2">
  183 + <var name="SMALL_THAN_256" value="255"/>
  184 + <var name="X_256" value="256"/>
  185 + <var name="X_257" value="257"/>
  186 + </enum>
  187 +
  188 + <bean name="TestUeType">
  189 + <var name="x1" type="bool"/>
  190 + <var name="x2" type="byte"/>
  191 + <var name="x3" type="short"/>
  192 + <var name="x4" type="int"/>
  193 + <var name="x5" type="long"/>
  194 + <var name="x6" type="float"/>
  195 + <var name="x10" type="string"/>
  196 + <var name="x12" type="DemoType1"/>
  197 + <var name="x13" type="ETestUeType"/>
  198 + <var name="v2" type="vector2"/>
  199 + <var name="v3" type="vector3"/>
  200 + <var name="v4" type="vector4"/>
  201 +
  202 + <var name="t1" type="datetime"/>
  203 + <var name="k1" type="array,int"/>
  204 +
  205 + <var name="k2" type="list,int"/>
  206 + <var name="k5" type="set,int"/>
  207 + <var name="k8" type="map,int,int"/>
  208 + <var name="k9" type="list,DemoE2"/>
  209 + </bean>
  210 +
  211 +
  212 + <bean name="H1">
  213 + <var name="y2" type="H2"/>
  214 + <var name="y3" type="int"/>
  215 + </bean>
  216 + <bean name="H2">
  217 + <var name="z2" type="int"/>
  218 + <var name="z3" type="int"/>
  219 + </bean>
  220 +
  221 + <bean name="MultiRowTitle">
  222 + <var name="id" type="int"/>
  223 + <var name="name" type="string"/>
  224 + <var name="x1" type="H1"/>
  225 + <var name="x2_0" type="H2?"/>
  226 + <var name="x2" type="list,H2"/>
  227 + <var name="x3" type="array,H2"/>
  228 + <var name="x4" type="array,H2"/>
  229 + </bean>
  230 + <table name="TbMultiRowTitle" value="MultiRowTitle" input="test/multi_level_title.xlsx"/>
  231 +
  232 +
  233 + <bean name="TestNull">
  234 + <var name="id" type="int"/>
  235 + <var name="x1" type="int?"/>
  236 + <var name="x2" type="DemoEnum?"/>
  237 + <var name="x3" type="DemoType1?"/>
  238 + <var name="x4" type="DemoDynamic?"/>
  239 + <var name="s1" type="string?"/>
  240 + <var name="s2" type="text?"/>
  241 + </bean>
  242 + <table name="TbTestNull" value="TestNull" input="test/test_null_datas"/>
  243 +
  244 + <bean name="DemoPrimitiveTypesTable">
  245 + <var name="x1" type="bool"/>
  246 + <var name="x2" type="byte"/>
  247 + <var name="x3" type="short"/>
  248 + <var name="x4" type="int" />
  249 + <var name="x5" type="long" />
  250 + <var name="x6" type="float"/>
  251 + <var name="x7" type="double"/>
  252 + <var name="s1" type="string" />
  253 + <var name="s2" type="text"/>
  254 + <var name="v2" type="vector2"/>
  255 + <var name="v3" type="vector3"/>
  256 + <var name="v4" type="vector4"/>
  257 + <var name="t1" type="datetime"/>
  258 + </bean>
  259 +
  260 + <table name="TbDemoPrimitive" index="x4" value="DemoPrimitiveTypesTable" input="test/demo_primitive.xlsx"/>
  261 +
  262 +
  263 + <bean name="CompactString">
  264 + <var name="id" type="int"/>
  265 + <var name="s2" type="string"/>
  266 + <var name="s3" type="string"/>
  267 + </bean>
  268 +
  269 + <bean name="TestString">
  270 + <var name="id" type="int"/>
  271 + <var name="s1" type="string"/>
  272 + <var name="cs1" type="CompactString"/>
  273 + <var name="cs2" type="CompactString"/>
  274 + </bean>
  275 +
  276 + <table name="TbTestString" value="TestString" input="test/test_string.xlsx"/>
  277 +
  278 + <bean name="InnerGroup">
  279 + <var name="y1" type="int"/> 默认属于所有分组c,s,e
  280 + <var name="y2" type="int" group="c"/>属于 c 分组
  281 + <var name="y3" type="int" group="s"/>属于s分组
  282 + <var name="y4" type="int" group="c,s"/>属于c,s分组
  283 + </bean>
  284 +
  285 + <bean name="DemoGroup">
  286 + <var name="id" type="int"/>
  287 + <var name="x1" type="int" ref="test.TbDemoGroup_C"/> 默认属于所有分组c,s,e
  288 + <var name="x2" type="int" ref="test.TbDemoGroup_S" group="c"/>属于 c 分组
  289 + <var name="x3" type="int" ref="test.TbDemoGroup_E" group="s"/>属于s分组
  290 + <var name="x4" type="int" group="c,s"/>属于c,s分组
  291 + <var name="x5" type="InnerGroup"/>
  292 + </bean>
  293 + <table name="TbDemoGroup" value="DemoGroup" input="test/demo_group.xlsx"/>
  294 +
  295 +
  296 + <table name="TbDemoGroup_C" value="DemoGroup" group="c" input="test/demo_group.xlsx"/> 此表只属于c分组
  297 + <table name="TbDemoGroup_S" value="DemoGroup" group="s" input="test/demo_group.xlsx"/> 此表只属于s分组
  298 + <table name="TbDemoGroup_E" value="DemoGroup" group="e" input="test/demo_group.xlsx"/> 此表只属于e分组
  299 +
  300 + <bean name="TestGlobal">
  301 + <var name="unlock_equip" type="int"/>
  302 + <var name="unlock_hero" type="int"/>
  303 + </bean>
  304 + <table name="TbTestGlobal" value="TestGlobal" mode="one" input="test/global.xlsx"/>
  305 +
  306 +
  307 + <bean name="TestBeRef">
  308 + <var name="id" type="int"/>
  309 + <var name="count" type="int"/>
  310 + </bean>
  311 + <table name="TbTestBeRef" value="TestBeRef" input="be_ref1@test/test_ref.xlsx"/>
  312 +
  313 + <table name="TbTestBeRef2" value="TestBeRef" input="be_ref2@test/test_ref.xlsx"/>
  314 +
  315 + <refgroup name="test_ref_group" ref="test.TbTestBeRef,test.TbTestBeRef2"/>
  316 + <refgroup name="test_ref_group2" ref="test.TbTestBeRef"/>
  317 +
  318 + <bean name="TestRef">
  319 + <var name="id" type="int"/>
  320 + <var name="x1" type="int" ref="test.TbTestBeRef"/> var中的ref属性纯粹是语法糖,理论上只应该如x2那样定义在type里
  321 + <var name="x1_2" type="int" ref="test.TbTestBeRef,test.TbTestBeRef"/> var中的ref属性纯粹是语法糖,理论上只应该如x2那样定义在type里
  322 + <var name="x2" type="int#ref=test_ref_group2"/>
  323 + <var name="x3" type="int#ref=test_ref_group"/>
  324 +
  325 + <var name="a1" type="array,int" ref="test.TbTestBeRef"/>
  326 + <var name="a2" type="array,int#ref=(test.TbTestBeRef)"/>
  327 + <var name="b1" type="list,int" ref="test.TbTestBeRef"/>
  328 + <var name="b2" type="list,int#ref=test.TbTestBeRef"/>
  329 + <var name="c1" type="set,int" ref="test.TbTestBeRef"/>
  330 + <var name="c2" type="set,int#ref=test.TbTestBeRef"/>
  331 + <var name="d1" type="(map#aaa=5),int#ref=test.TbTestBeRef,int#ref=test.TbTestBeRef"/>
  332 + <var name="d2" type="map#aaa=5;int#ref=test.TbTestBeRef;int#ref=test.TbTestBeRef"/>
  333 +
  334 + <var name="e1" type="int" ref="id1@test.TbMultiIndexList"/>
  335 + <var name="e2" type="long" ref="id2@test.TbMultiIndexList"/>
  336 + <var name="e3" type="string" ref="id3@test.TbMultiIndexList"/>
  337 +
  338 + <var name="f1" type="int" ref="id1@test.TbMultiIndexList"/>
  339 + <var name="f2" type="long" ref="id2@test.TbMultiIndexList"/>
  340 + <var name="f3" type="string" ref="id3@test.TbMultiIndexList"/>
  341 + </bean>
  342 +
  343 + <table name="TbTestRef" value="TestRef" input="ref@test/test_ref.xlsx"/>
  344 +
  345 + <bean name="TestSize">
  346 + <var name="id" type="int"/>
  347 + <var name="x1" type="(array#size=2),int"/>
  348 + <var name="x2" type="(list#size=2),int"/>
  349 + <var name="x3" type="(set#size=2),int"/>
  350 + <var name="x4" type="(map#size=2),int,int"/>
  351 + </bean>
  352 + <table name="TbTestSize" value="TestSize" input="test/test_size.xlsx"/>
  353 +
  354 + <bean name="TestSet">
  355 + <var name="id" type="int"/>
  356 + <var name="x0" type="string#(set=ab,cd)"/>
  357 + <var name="x1" type="list,int#set=1,2,3,4,5"/>
  358 + <var name="x2" type="list,long#set=2,3,4,5"/>
  359 + <var name="x3" type="list,string#set=ab,cd"/>
  360 + <var name="x4" type="list,DemoEnum#set=A,B"/>
  361 + </bean>
  362 + <table name="TbTestSet" value="TestSet" input="test/test_set.xlsx"/>
  363 +
  364 + <bean name="DetectEncoding">
  365 + <var name="id" type="int"/>
  366 + <var name="name" type="string"/>
  367 + </bean>
  368 + <table name="TbDetectCsvEncoding" value="DetectEncoding" input="test/detect_csv_encoding_utf8.csv,test/detect_csv_encoding_ansi.csv,test/detect_csv_encoding_big5.csv,test/detect_csv_encoding_gb2312.csv,"/>
  369 +
  370 + <bean name="ItemBase">
  371 + <var name="id" type="int"/>
  372 + <var name="name" type="string"/>
  373 + <var name="desc" type="string"/>
  374 + <bean name="Item">
  375 + <var name="num" type="int"/>
  376 + <var name="price" type="int"/>
  377 + </bean>
  378 + <bean name="Equipment">
  379 + <var name="attr" type="DemoEnum"/>
  380 + <var name="value" type="int"/>
  381 + </bean>
  382 + <bean name="Decorator">
  383 + <var name="duration" type="int"/>
  384 + </bean>
  385 + </bean>
  386 + <table name="TbItem2" value="ItemBase" input="test/item.xlsx"/>
  387 +
  388 + <table name="TbDefineFromExcel" value="DefineFromExcel" input="test/define_from_excel.xlsx" define_from_file="1"/>
  389 + <table name="TbDefineFromExcelOne" value="DefineFromExcelOne" mode="one" input="test/define_from_excel_one.xlsx" define_from_file="1"/>
  390 +
  391 +
  392 +
  393 + <!--bean name="TestJson2">
  394 + <var name="id" type="int"/>
  395 + <var name="m1" type="map,int,int"/>
  396 + <var name="m2" type="map,long,int"/>
  397 + <var name="m3" type="map,string,int"/>
  398 + <var name="m4" type="map,string,DemoType1"/>
  399 + </bean>
  400 + <table name="TbTestMap2" value="TestJson2" input="test/test_json2.xlsx"/-->
  401 +
  402 + <bean name="TestIndex">
  403 + <var name="id" type="int"/>
  404 + <var name="eles" type="list,DemoType1#index=x1"/>
  405 + </bean>
  406 + <table name="TbTestIndex" value="TestIndex" input="test/test_index.xlsx"/>
  407 +
  408 + <bean name="TestMap">
  409 + <var name="id" type="int" ref="test.TbTestIndex"/>
  410 + <var name="x1" type="map,int,int"/>
  411 + <var name="x2" type="map,long,int"/>
  412 + <var name="x3" type="map,string,int"/>
  413 + <var name="x4" type="map,DemoEnum,int"/>
  414 + </bean>
  415 + <table name="TbTestMap" value="TestMap" input="test/test_map.xlsx"/>
  416 +
  417 +
  418 + <bean name="ExcelFromJson">
  419 + <var name="x4" type="int" />
  420 + <var name="x1" type="bool"/>
  421 + <var name="x5" type="long" />
  422 + <var name="x6" type="float"/>
  423 + <var name="s1" type="string"/>
  424 + <var name="s2" type="text"/>
  425 + <var name="v2" type="vector2"/>
  426 + <var name="v3" type="vector3"/>
  427 + <var name="v4" type="vector4"/>
  428 + <var name="t1" type="datetime"/>
  429 +
  430 + <var name="x12" type="DemoType1"/>
  431 + <var name="x13" type="DemoEnum"/>
  432 + <var name="x14" type="DemoDynamic"/>多态数据结构
  433 +
  434 + <var name="k1" type="array,int"/>
  435 + <var name="k8" type="map,int,int"/>
  436 + <var name="k9" type="list,DemoE2"/>
  437 + <var name="k15" type="array,DemoDynamic"/>
  438 + </bean>
  439 + <table name="TbExcelFromJson" value="ExcelFromJson" input="test/excel_jsons"/>
  440 +
  441 + <bean name="CompositeJsonTable1">
  442 + <var name="id" type="int"/>
  443 + <var name="x" type="string"/>
  444 + </bean>
  445 + <bean name="CompositeJsonTable2">
  446 + <var name="id" type="int"/>
  447 + <var name="y" type="int"/>
  448 + </bean>
  449 + <bean name="CompositeJsonTable3">
  450 + <var name="a" type="int"/>
  451 + <var name="b" type="int"/>
  452 + </bean>
  453 + <table name="TbCompositeJsonTable1" value="CompositeJsonTable1" input="*table1@test/composite_tables.json,*@test/composite_tables2.json"/>
  454 + <table name="TbCompositeJsonTable2" value="CompositeJsonTable2" input="*table2@test/composite_tables.json"/>
  455 + <table name="TbCompositeJsonTable3" value="CompositeJsonTable3" mode="one" input="table3@test/composite_tables.json"/>
  456 +
  457 + <bean name="Test3">
  458 + <var name="x" type="int"/>
  459 + <var name="y" type="int"/>
  460 + </bean>
  461 + <bean name="TestRow">
  462 + <var name="x" type="int"/>
  463 + <var name="y" type="bool"/>
  464 + <var name="z" type="string"/>
  465 + <var name="a" type="Test3"/>
  466 + <var name="b" type="list,int"/>
  467 + </bean>
  468 + <bean name="ExcelFromJsonMultiRow">
  469 + <var name="id" type="int"/>
  470 + <var name="x" type="int"/>
  471 + <var name="items" type="list,TestRow"/>
  472 + </bean>
  473 + <table name="TbExcelFromJsonMultiRow" value="ExcelFromJsonMultiRow" input="test/excel_multi_row_jsons"/>
  474 +
  475 +
  476 + <bean name="SepVector" sep=",">
  477 + <var name="x" type="int"/>
  478 + <var name="y" type="int"/>
  479 + <var name="z" type="int"/>
  480 + </bean>
  481 +
  482 + <bean name="SepBean1">
  483 + <var name="a" type="int"/>
  484 + <var name="b" type="int"/>
  485 + <var name="c" type="string"/>
  486 + </bean>
  487 +
  488 + <table name="TbTestSep" value="TestSep" define_from_file="1" input="test/test_sep.xlsx"/>
  489 +
  490 +
  491 + <bean name="TestScriptableObject">
  492 + <var name="id" type="int"/>
  493 + <var name="desc" type="string"/>
  494 + <var name="rate" type="float"/>
  495 + <var name="num" type="int"/>
  496 + <var name="v2" type="vector2"/>
  497 + <var name="v3" type="vector3"/>
  498 + <var name="v4" type="vector4"/>
  499 + </bean>
  500 + <table name="TbTestScriptableObject" value="TestScriptableObject" input="test/unity_scriptable_objects"/>
  501 +
  502 +
  503 + <enum name="AudioType">
  504 + <var name="UNKNOWN" value="0"/>
  505 + <var name="ACC" value="1"/>
  506 + <var name="AIFF" value="2"/>
  507 + </enum>
  508 +
  509 + <externaltype name="unity_audio_type" origin_type_name="test.AudioType">
  510 + <mapper lan="cs" selector="unity_cs">
  511 + <target_type_name>UnityEngine.AudioType</target_type_name>
  512 + </mapper>
  513 + </externaltype>
  514 +
  515 + <bean name="Color" sep=",">
  516 + <var name="r" type="float"/>
  517 + <var name="g" type="float"/>
  518 + <var name="b" type="float"/>
  519 + <var name="a" type="float"/>
  520 + </bean>
  521 + <externaltype name="unity_color" origin_type_name="test.Color">
  522 + <mapper lan="cs" selector="unity_cs">
  523 + <target_type_name>UnityEngine.Color</target_type_name>
  524 + <create_external_object_function>ExternalTypeUtil.NewFromCfgColor</create_external_object_function>
  525 + </mapper>
  526 + </externaltype>
  527 +
  528 + <externaltype name="unity_vector2" origin_type_name="vector2">
  529 + <mapper lan="cs" selector="unity_cs">
  530 + <target_type_name>System.Numerics.Vector2</target_type_name>
  531 + <create_external_object_function>ExternalTypeUtil.NewFromVector2</create_external_object_function>
  532 + </mapper>
  533 + </externaltype>
  534 +
  535 + <externaltype name="cs_datetime" origin_type_name="datetime">
  536 + <mapper lan="cs" selector="unity_cs">
  537 + <target_type_name>System.DateTime</target_type_name>
  538 + <create_external_object_function>ExternalTypeUtil.NewDatetime</create_external_object_function>
  539 + </mapper>
  540 + </externaltype>
  541 +
  542 + <bean name="TestExternalType">
  543 + <var name="id" type="int"/>
  544 + <var name="audio_type" type="AudioType"/>
  545 + <var name="color" type="Color"/>
  546 + </bean>
  547 + <table name="TbTestExternalType" value="TestExternalType" input="test/external_type.xlsx"/>
  548 +
  549 + <module name="login">
  550 + 支持在一个定义文件中 定义多个模块。 一般来说一个定义文件中一个模块比较好,但有些情况下为了方便可以定义多个。
  551 + <bean name="RoleInfo" parent="test.DemoD3">
  552 + <var name="role_id" type="long"/>
  553 + </bean>
  554 + </module>
  555 +
  556 +</module>
0 \ No newline at end of file 557 \ No newline at end of file
check.bat 0 → 100644
  1 +++ a/check.bat
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +set WORKSPACE=..
  2 +set GEN_CLIENT=%WORKSPACE%\Tools\Luban.Client\Luban.Client.exe
  3 +
  4 +set CONF_ROOT=%WORKSPACE%\DesignerConfigs
  5 +
  6 +%GEN_CLIENT% -h %LUBAN_SERVER_IP% -j cfg --generateonly --^
  7 + -d %CONF_ROOT%\Defines\__root__.xml ^
  8 + --input_data_dir %CONF_ROOT%\Datas ^
  9 + --output_data_dir dummy ^
  10 + --gen_types data_json ^
  11 + -s all
  12 +pause
0 \ No newline at end of file 13 \ No newline at end of file
check.sh 0 → 100644
  1 +++ a/check.sh
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +#!/bin/zsh
  2 +WORKSPACE=..
  3 +GEN_CLIENT=${WORKSPACE}/Tools/Luban.Client/Luban.Client.dll
  4 +
  5 +CONF_ROOT=${WORKSPACE}/DesignerConfigs
  6 +
  7 +dotnet ${GEN_CLIENT} -h 127.0.0.1 -j cfg --generateonly --\
  8 + -d ${CONF_ROOT}/Defines/__root__.xml \
  9 + --input_data_dir ${CONF_ROOT}/Datas \
  10 + --output_data_dir ../Projects/GenerateDatas/json \
  11 + --gen_types data_bin \
  12 + -s all