This commit is contained in:
DESKTOP-5RP3AKU\Jisol
2023-11-05 03:26:09 +08:00
parent ec4d6a15d7
commit 0014eff5e0
4034 changed files with 623229 additions and 41 deletions

342
luban_examples/.gitignore vendored Normal file
View File

@@ -0,0 +1,342 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
ReaderLib/**/Config
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
project.fragment.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
# *.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
#*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# gen cache meta file
.cache.meta
/Test/output
/Packages
# unity
Library/
Temp/
#unreal
Binaries/
Intermediate/
Saved/
# java gradle
.gradle
build
gradle/
.vscode/
/Projects/java_bin/out/
/Projects/Csharp_Unity_ILRuntime_bin/Logs
/Projects/Lua_Unity_tolua_bin/Logs
/Projects/Lua_Unity_tolua_lua/Logs
/Projects/TypeScript_NodeJs_json/package-lock.json
/Projects/TypeScript_Puerts_Bin/*.csproj
/Projects/TypeScript_Unity_Puerts_Bin/*.csproj
/Tools/build_luban_client.bat
/Tools/build_luban_server.bat
/Projects/TypeScript_NodeJs_Bin/dist
!/Projects/GenerateDatas/bin
/Benchmark/data_bin
/Benchmark/data_json
/Benchmark/data_lua
/Tools/build_luban_clientserver.bat
/Projects/TypeScript_NodeJs_json/dist
/Projects/Rust_Json/target
/Projects/GenerateDatas/convert_xlsx
/MiniDesignerConfigsTemplate/output_json
/Projects/GenerateDatas/conver_json_to_xlsx
/Projects/GenerateDatas/conver_xlsx_to_json
/Tools/build_excel2textdiff.bat
/Tools/build_luban_assistant.bat
/ProtoProjects/Typescript_Unity_Puerts/TsScripts/output
/ProtoProjects/Typescript_Unity_Puerts/UserSettings
/ProtoProjects/Csharp_Unity/UserSettings
/Projects/Protobuf_bin/pb_datas
/Projects/Csharp_Unity_bin/Logs
*.DS_Store
Projects/Csharp_CustomTemplate_EncryptMemory/UserSettings/
Projects/Csharp_CustomTemplate_EncryptMemory/*.csproj
Projects/Csharp_CustomTemplate_EncryptMemory/*.sln
/Projects/Flatbuffers_bin/datas_bin
/Projects/Flatbuffers_bin/datas
/Projects/Flatbuffers_json/datas
/Projects/Protobuf2_bin/pb_datas
/Projects/Flatbuffers_json/output
/Projects/Protobuf3_bin_json/pb_bin
/Projects/Protobuf3_bin_json/pb_json
/Projects/TypeScript_Unity_Puerts_Bin/Logs
/Projects/TypeScript_Unity_Puerts_Json/Logs
out/
/Projects/GDScript_json/.godot
/Projects/GDScript_json/json
/Tools/Luban
/MiniTemplate/output_json
/Projects/GenerateDatas/bidx
/Projects/GenerateDatas/bin-offset
/Projects/GenerateDatas/bytes
/Projects/GenerateDatas/json
/Projects/GenerateDatas/json2
/Projects/GenerateDatas/lua
/Projects/GenerateDatas/text
/Projects/GenerateDatas/xml
/Projects/GenerateDatas/yaml

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,28 @@
return {
id=10002,
name="random move",
desc="demo behaviour tree haha",
executor="SERVER",
blackboard_id="demo",
root=
{
__type__ = "Sequence",
id=1,
node_name="test",
desc="root",
services=
{
},
decorators=
{
{ __type__="UeLoop", id=3,node_name="",flow_abort_mode="SELF", num_loops=0,infinite_loop=true,infinite_loop_timeout_time=-1,},
},
children =
{
{__type__="UeWait", id=30,node_name="", ignore_restart_self=false,wait_time=1,random_deviation=0.5, services={},decorators={},},
{__type__="MoveToRandomLocation", id=75,node_name="", ignore_restart_self=false,origin_position_key="x5",radius=30, services={},decorators={}},
--{__type__="DebugPrint", id=76,node_name="", ignore_restart_self=false,text="======= bt debug print ===", services={},decorators={}},
},
},
}

View File

@@ -0,0 +1,12 @@
return {
name = "attack_or_patrol",
desc ="demo hahaha",
parent_name = "",
keys =
{
{name="OriginPosition",desc="", is_static=false, type="VECTOR", type_class_name=""},
{name="TargetActor",desc="x2 haha", is_static=false, type="OBJECT", type_class_name=""},
{name="AcceptableRadius",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
{name="CurChooseSkillId",desc="x4 haha", is_static=false, type="INT", type_class_name=""},
},
}

View File

@@ -0,0 +1,18 @@
return {
name = "demo",
desc ="demo hahaha",
parent_name = "demo_parent",
keys =
{
{name="x1",desc="x1 haha", is_static=false, type="BOOL", type_class_name=""},
{name="x2",desc="x2 haha", is_static=false, type="INT", type_class_name=""},
{name="x3",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
{name="x4",desc="x4 haha", is_static=false, type="STRING", type_class_name=""},
{name="x5",desc="x5 haha", is_static=false, type="VECTOR", type_class_name=""},
{name="x6",desc="x6 haha", is_static=false, type="ROTATOR", type_class_name=""},
{name="x7",desc="x7 haha", is_static=false, type="NAME", type_class_name=""},
{name="x8",desc="x8 haha", is_static=false, type="CLASS", type_class_name=""},
{name="x9",desc="x9 haha", is_static=false, type="ENUM", type_class_name="ABC"},
{name="x10",desc="x10 haha", is_static=false, type="OBJECT", type_class_name="OBJECT"},
},
}

View File

@@ -0,0 +1,9 @@
return {
name = "demo_parent",
desc ="demo parent",
parent_name = "",
keys =
{
{name="v1",desc="v1 haha", is_static=false, type="BOOL", type_class_name=""},
},
}

View File

@@ -0,0 +1,10 @@
{
"__type__":"NormalClazz",
"name":"int",
"desc":"primity type:int",
"parents":[],

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
[
{"key":"/apple", "en":"apple", "zh":"苹果"},
{"key":"/abc", "en":"apple", "zh":"苹果"},
{"key":"/def", "en":"apple", "zh":"苹果"},
{"key":"key_name", "en":"apple", "zh":"苹果"},
{"key":"test/a", "en":"apple", "zh":"苹果"},
{"key":"name", "en":"apple", "zh":"苹果"},
{"key":"/banana", "en":"banana", "zh":"香蕉"}
]

View File

@@ -0,0 +1,4 @@
{
"id":2001,
"value": "导出"
}

View File

@@ -0,0 +1,5 @@
{
"__tag__":"any",
"id":2004,
"value": "any"
}

View File

@@ -0,0 +1,5 @@
{
"__tag__":"test",
"id":2003,
"value": "test"
}

View File

@@ -0,0 +1,5 @@
return {
id = 100,
value = "导出",
}

Binary file not shown.

View File

@@ -0,0 +1,5 @@
return {
__tag__ = "any",
id = 104,
value="any",
}

View File

@@ -0,0 +1,5 @@
return {
__tag__ = "test",
id = 102,
value="test",
}

View File

@@ -0,0 +1,4 @@
<data>
<id>3001</id>
<value>export</value>
</data>

View File

@@ -0,0 +1,5 @@
<data>
<__tag__>any</__tag__>
<id>3004</id>
<value>any</value>
</data>

View File

@@ -0,0 +1,5 @@
<data>
<__tag__>test</__tag__>
<id>3003</id>
<value>test</value>
</data>

View File

@@ -0,0 +1,15 @@
{
"table1":[
{"id":1, "x":"aaa1"},
{"id":2,"x":"xx2"}
],
"table2":[
{"id":1, "y":100},
{"id":3, "y":300}
],
"table3": {
"a":111,
"b":222
}
}

View File

@@ -0,0 +1,4 @@
[
{"id":11, "x":"aaa11"},
{"id":12,"x":"xx12"}
]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
##,id,name
,,
,11,<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>
,12,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD>Ҫ
,13,<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1 ## id name
2
3 11 测试编码
4 12 还果园国要
5 13 工枯加盟仍

Binary file not shown.
1 ##,id,name
2 ,
3 ,31,测试编码
4 ,32,还果园国要
5 ,33,工枯加盟仍

View File

@@ -0,0 +1,5 @@
##,id,name
,
,1,<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>
,2,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD>Ҫ
,3,<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1 ##,id,name
2 ,
3 ,1,测试编码
4 ,2,还果园国要
5 ,3,工枯加盟仍

View File

@@ -0,0 +1,5 @@
##,id,name
,
,21,测试编码
,22,还果园国要
,23,工枯加盟仍
1 ##,id,name
2 ,
3 ,21,测试编码
4 ,22,还果园国要
5 ,23,工枯加盟仍

View File

@@ -0,0 +1,68 @@
{
"x4": 1,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "A",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@@ -0,0 +1,68 @@
{
"x4": 2,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "B",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@@ -0,0 +1,68 @@
{
"x4": 3,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "C",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@@ -0,0 +1,33 @@
{
"id": 1,
"x": 5,
"items": [
{
"x": 1,
"y": true,
"z": "abcd",
"a": {
"x": 10,
"y": 100
},
"b": [
1,
3,
5
]
},
{
"x": 2,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
}
]
}

View File

@@ -0,0 +1,46 @@
{
"id": 2,
"x": 9,
"items": [
{
"x": 2,
"y": true,
"z": "abcd",
"a": {
"x": 10,
"y": 11
},
"b": [
1,
3,
5
]
},
{
"x": 4,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
},
{
"x": 5,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,31 @@
{
"x1":true,
"x2":3,
"x3":128,
"x4":1,
"x5":11223344,
"x6":1.2,
"x7":1.23432,
"x8_0":12312,
"x8":112233,
"x9":223344,
"x10":"hq",
"x12": { "x1":10},
"x13":"B",
"x14":{"$type": "DemoD2", "x1":1, "x2":2},
"s1": "/def",
"v2":{"x":1, "y":2},
"v3":{"x":1.1, "y":2.2, "z":3.4},
"v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
"t1":"1970-01-01 00:00:00",
"k1":[1,2],
"k2":[2,3],
"k3":[1,3],
"k4":[1,5],
"k5":[1,6],
"k6":[1,7],
"k7":[2,3],
"k8":[[2,2],[4,10]],
"k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
"k15":[{"$type": "DemoD2", "x1":1, "x2":2}]
}

View File

@@ -0,0 +1,78 @@
<data>
<x1>true</x1>
<x2>4</x2>
<x3>128</x3>
<x4>11</x4>
<x5>112233445566</x5>
<x6>1.3</x6>
<x7>1112232.43123</x7>
<x8>112233</x8>
<x8_0>123</x8_0>
<x9>112334</x9>
<x10>yf</x10>
<x12>
<x1>1</x1>
</x12>
<x13>C</x13>
<x14 __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</x14>
<s1>/apple</s1>
<v2>1,2</v2>
<v3>1.2,2.3,3.4</v3>
<v4>1.2,2.2,3.2,4.3</v4>
<t1>1970-01-01 00:00:00</t1>
<k1>
<item>1</item>
<item>2</item>
</k1>
<k2>
<item>1</item>
<item>2</item>
</k2>
<k3>
<item>1</item>
<item>2</item>
</k3>
<k4>
<item>1</item>
<item>2</item>
</k4>
<k5>
<item>1</item>
<item>2</item>
</k5>
<k6>
<item>1</item>
<item>2</item>
</k6>
<k7>
<item>1</item>
<item>3</item>
</k7>
<k8>
<item> <key>2</key><value>10</value></item>
<item> <key>3</key><value>30</value></item>
</k8>
<k9>
<item>
<y1>1</y1>
<y2>true</y2>
</item>
<item>
<y1>2</y1>
<y2>false</y2>
</item>
</k9>
<k15>
<item __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</item>
</k15>
</data>

View File

@@ -0,0 +1,31 @@
{
"x1":true,
"x2":3,
"x3":128,
"x4":2,
"x5":11223344,
"x6":1.2,
"x7":1.23432,
"x8_0":12312,
"x8":112233,
"x9":223344,
"x10":"hq",
"x12": { "x1":10},
"x13":"B",
"x14":{"__type__": "DemoD2", "x1":1, "x2":2},
"s1": "/apple",
"v2":{"x":1, "y":2},
"v3":{"x":1.1, "y":2.2, "z":3.4},
"v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
"t1":"1970-01-01 00:00:00",
"k1":[1,2],
"k2":[2,3],
"k3":[1,3],
"k4":[1,5],
"k5":[1,6],
"k6":[1,7],
"k7":[2,3],
"k8":[[2,2],[4,10]],
"k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
"k15":[{"__type__": "DemoD2", "x1":1, "x2":2}]
}

View File

@@ -0,0 +1,78 @@
<data>
<x1>true</x1>
<x2>4</x2>
<x3>128</x3>
<x4>12</x4>
<x5>112233445566</x5>
<x6>1.3</x6>
<x7>1112232.43123</x7>
<x8>112233</x8>
<x8_0>123</x8_0>
<x9>112334</x9>
<x10>yf</x10>
<x12>
<x1>1</x1>
</x12>
<x13>C</x13>
<x14 __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</x14>
<s1>/apple</s1>
<v2>1,2</v2>
<v3>1.2,2.3,3.4</v3>
<v4>1.2,2.2,3.2,4.3</v4>
<t1>1970-01-01 00:00:00</t1>
<k1>
<item>1</item>
<item>2</item>
</k1>
<k2>
<item>1</item>
<item>2</item>
</k2>
<k3>
<item>1</item>
<item>2</item>
</k3>
<k4>
<item>1</item>
<item>2</item>
</k4>
<k5>
<item>1</item>
<item>2</item>
</k5>
<k6>
<item>1</item>
<item>2</item>
</k6>
<k7>
<item>1</item>
<item>3</item>
</k7>
<k8>
<item> <key>2</key><value>10</value></item>
<item> <key>3</key><value>30</value></item>
</k8>
<k9>
<item>
<y1>1</y1>
<y2>true</y2>
</item>
<item>
<y1>2</y1>
<y2>false</y2>
</item>
</k9>
<k15>
<item __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</item>
</k15>
</data>

View File

@@ -0,0 +1,68 @@
---
x1: true
x2: 3
x3: 128
x4: 40
x5: 11223344
x6: 1.2
x7: 1.23432
x8_0: 12312
x8: 112233
x9: 223344
x10: hq
x12:
x1: 10
x13: B
x14:
$type: DemoD2
x1: 1
x2: 2
s1: /apple
v2:
x: 1
y: 2
v3:
x: 1.1
y: 2.2
z: 3.4
v4:
x: 10.1
y: 11.2
z: 12.3
w: 13.4
t1: '1970-01-01 00:00:00'
k1:
- 1
- 2
k2:
- 2
- 3
k3:
- 1
- 3
k4:
- 1
- 5
k5:
- 1
- 6
k6:
- 1
- 7
k7:
- 2
- 3
k8:
- - 2
- 2
- - 4
- 10
k9:
- y1: 1
y2: true
- y1: 2
y2: false
k15:
- $type: DemoD2
x1: 1
x2: 2

View File

@@ -0,0 +1,32 @@
return
{
x1 = false,
x2 = 2,
x3 = 128,
x4 = 22,
x5 = 112233445566,
x6 = 1.3,
x7 = 1122,
x8 = 12,
x8_0 = 13,
x9 = 123,
x10 = "yf",
x12 = {x1=1},
x13 = "D",
x14 = { __type__="DemoD2", x1 = 1, x2=3},
s1 = '/apple',
v2 = {x= 1,y = 2},
v3 = {x=0.1, y= 0.2,z=0.3},
v4 = {x=1,y=2,z=3.5,w=4},
t1 = "1970-01-01 00:00:00",
k1 = {1,2},
k2 = {2,3},
k3 = {3,4},
k4 = {1,2},
k5 = {1,3},
k6 = {1,2},
k7 = {1,8},
k8 = {[2]=10,[3]=12},
k9 = {{y1=1,y2=true}, {y1=10,y2=false}},
k15 = {{ __type__="DemoD2", x1 = 1, x2=3}},
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
{
"id":10,
"x1":null,
"x2":null,
"x3":null,
"x4":null,
"s1":null,
"s2":null
}

View File

@@ -0,0 +1,3 @@
{
"id":11
}

View File

@@ -0,0 +1,9 @@
{
"id":12,
"x1":1,
"x2":"A",
"x3":{"x1":1},
"x4":{"__type__":"DemoD2", "x1":2, "x2":3},
"s1":"asf",
"s2":"/abc"
}

View File

@@ -0,0 +1,10 @@
return
{
id=20,
x1 = nil,
x2 = nil,
x3 = nil,
x4 = nil,
s1 = nil,
s2 = nil,
}

View File

@@ -0,0 +1,4 @@
return
{
id=21,
}

View File

@@ -0,0 +1,10 @@
return
{
id=22,
x1 = 1,
x2 = "B",
x3 = {x1=3},
x4 = {__type__="DemoD2", x1=1, x2=2},
s1 = "asfs",
s2 = "/abc",
}

View File

@@ -0,0 +1,9 @@
<data>
<id>30</id>
<x1>1</x1>
<x2>A</x2>
<x3><x1>1</x1></x3>
<x4 __type__="DemoD2"><x1>1</x1><x2>22</x2></x4>
<s1>/apple</s1>
<s2>/apple</s2>
</data>

View File

@@ -0,0 +1,3 @@
<data>
<id>31</id>
</data>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1cbff1bfa4708914aaa381b1dd914663, type: 3}
m_Name: 1
m_EditorClassIdentifier:
id: 1
desc: aaaa
rate: 0.45
num: 12131
v2: {x: 1, y: 1}
v3: {x: 2, y: 2, z: 2}
v4: {x: 3, y: 3, z: 4, w: 4}

View File

@@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1cbff1bfa4708914aaa381b1dd914663, type: 3}
m_Name: 2
m_EditorClassIdentifier:
id: 2
desc: bbbbb
rate: 0.8
num: 1111
v2: {x: 1, y: 2}
v3: {x: 1, y: 2, z: 3}
v4: {x: 1, y: 2, z: 3, w: 4}

View File

@@ -0,0 +1,230 @@
<module name="ai">
<enum name="EExecutor">
<var name="CLIENT"/>
<var name="SERVER"/>
</enum>
<enum name="EKeyType">
<var name="BOOL" value="1"/>
<var name="INT" value="2"/>
<var name="FLOAT" value="3"/>
<var name="STRING" value="4"/>
<var name="VECTOR" value="5"/> vector3
<var name="ROTATOR" value="6"/> vector3
<var name="NAME" value="7"/>
<var name="CLASS" value="8"/> type name
<var name="ENUM" value="9"/>
<var name="OBJECT" value="10"/>
</enum>
<bean name="BlackboardKey">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="is_static" type="bool"/> 是否为全局共享字段。 对应 ue 里 InstanceSynced 字段
<var name="type" type="EKeyType"/>
<var name="type_class_name" type="string"/> 具体类型名. 只对 ENUM,OBJECT 类型有意义
</bean>
<bean name="Blackboard">
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="parent_name" type="string#ref=ai.TbBlackboard?"/>
<var name="keys" type="list,BlackboardKey"/>
</bean>
<table name="TbBlackboard" value="Blackboard" input="ai/blackboards"/>
<enum name="EFlowAbortMode">
<var name="NONE"/>
<var name="LOWER_PRIORITY"/>
<var name="SELF"/>
<var name="BOTH"/>
</enum>
<enum name="EFinishMode">
<var name="IMMEDIATE"/>
<var name="DELAYED"/>
</enum>
<enum name="ENotifyObserverMode">
<var name="ON_VALUE_CHANGE"/> 当值改变时就通知
<var name="ON_RESULT_CHANGE"/> 当PerformaConditionCheck计算结果发生变化时通知
</enum>
<enum name="EOperator">
<var name="IS_EQUAL_TO"/>
<var name="IS_NOT_EQUAL_TO"/>
<var name="IS_LESS_THAN"/>
<var name="IS_LESS_THAN_OR_EQUAL_TO"/>
<var name="IS_GREAT_THAN"/>
<var name="IS_GREAT_THAN_OR_EQUAL_TO"/>
<var name="CONTAINS"/>
<var name="NOT_CONTAINS"/>
</enum>
<bean name="KeyData">
<bean name="FloatKeyData">
<var name="value" type="float"/>
</bean>
<bean name="IntKeyData">
<var name="value" type="int"/>
</bean>
<bean name="StringKeyData">
<var name="value" type="string"/>
</bean>
<bean name="BlackboardKeyData">
<var name="value" type="string"/>
</bean>
</bean>
<bean name="KeyQueryOperator">
<bean name="IsSet"/>
<bean name="IsNotSet"/> 这两个类型只对 bool,class,enum,name,object,rotator,vector 有效
<bean name="BinaryOperator">
<var name="oper" type="EOperator"/>
<var name="data" type="KeyData"/>
</bean>
</bean>
对于与ue4内置节点完全一致的实现我们都加上Ue前缀。
<bean name="Node">
<var name="id" type="int"/>
<var name="node_name" type="string"/>
<bean name="Service">
<bean name="UeSetDefaultFocus"> NOT
<var name="keyboard_key" type="string"/>
</bean>
<bean name="ExecuteTimeStatistic"> 统计子节点执行时间.执行完毕后打印日志
</bean>
<bean name="ChooseTarget">
<var name="result_target_key" type="string"/> actor
</bean>
<bean name="KeepFaceTarget">
<var name="target_actor_key" type="string"/> actor
</bean>
<bean name="GetOwnerPlayer">
<var name="player_actor_key" type="string"/> player
</bean>
<bean name="UpdateDailyBehaviorProps">
<var name="satiety_key" type="string"/>
<var name="energy_key" type="string"/>
<var name="mood_key" type="string"/>
<var name="satiety_lower_threshold_key" type="string"/>
<var name="satiety_upper_threshold_key" type="string"/>
<var name="energy_lower_threshold_key" type="string"/>
<var name="energy_upper_threshold_key" type="string"/>
<var name="mood_lower_threshold_key" type="string"/>
<var name="mood_upper_threshold_key" type="string"/>
</bean>
</bean>
<bean name="Decorator">
<var name="flow_abort_mode" type="EFlowAbortMode"/>
<bean name="UeLoop">
<var name="num_loops" type="int"/>
<var name="infinite_loop" type="bool"/>
<var name="infinite_loop_timeout_time" type="float"/>
</bean>
<bean name="UeCooldown">
<var name="cooldown_time" type="float"/>
</bean>
<bean name="UeTimeLimit">
<var name="limit_time" type="float"/>
</bean>
<bean name="UeBlackboard">
<var name="notify_observer" type="ENotifyObserverMode"/>
<var name="blackboard_key" type="string"/>
<var name="key_query" type="KeyQueryOperator"/>
</bean>
<bean name="UeForceSuccess"/>
<bean name="IsAtLocation"> NOT
<var name="acceptable_radius" type="float"/>
<var name="keyboard_key" type="string"/>
<var name="inverse_condition" type="bool"/>
</bean>
<bean name="DistanceLessThan">
<var name="actor1_key" type="string"/> actor 对象1
<var name="actor2_key" type="string"/> actor 对象2
<var name="distance" type="float"/> float 距离
<var name="reverse_result" type="bool"/> 是否取反结果
</bean>
</bean>
<bean name="FlowNode">
<var name="decorators" type="list,Decorator"/>
<var name="services" type="list,Service"/>
<bean name="ComposeNode">
<bean name="Sequence">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="Selector">
<var name="children" type="list,FlowNode"/>
</bean>
<bean name="SimpleParallel">
<var name="finish_mode" type="EFinishMode"/>
<var name="main_task" type="Task"/>
<var name="background_node" type="FlowNode"/>
</bean>
</bean>
<bean name="Task">
<var name="ignore_restart_self" type="bool"/>
<!--bean name="TickableTask">
<var name="tick_interval" type="float"/>
<bean name="RandomMove">一个演示用的,随机移动的 Task
<var name="total_time" type="float"/>
<var name="speed" type="float"/>
</bean>
</bean-->
<bean name="UeWait">
<var name="wait_time" type="float"/>
<var name="random_deviation" type="float"/>
</bean>
<bean name="UeWaitBlackboardTime">
<var name="blackboard_key" type="string"/> float
</bean>
<bean name="MoveToTarget">
<var name="target_actor_key" type="string"/> actor
<var name="acceptable_radius" type="float"/> float
</bean>
<bean name="ChooseSkill">
<var name="target_actor_key" type="string"/> actor
<var name="result_skill_id_key" type="string"/> int
</bean>
<bean name="MoveToRandomLocation">
<var name="origin_position_key" type="string"/> vector3
<var name="radius" type="float"/>
</bean>
<bean name="MoveToLocation">
<var name="acceptable_radius" type="float"/>
</bean>
<bean name="DebugPrint">
<var name="text" type="string"/>
</bean>
</bean>
</bean>
</bean>
<bean name="BehaviorTree">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="desc" type="string"/>
<var name="blackboard_id" type="string#ref=ai.TbBlackboard"/>
<var name="root" type="ComposeNode"/>
</bean>
<table name="TbBehaviorTree" value="BehaviorTree" input="ai/behaviortrees"/>
</module>

View File

@@ -0,0 +1,53 @@
<module name="">
<enum name="AudioType">
<var name="UNKNOWN" value="0"/>
<var name="ACC" value="1"/>
<var name="AIFF" value="2"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.AudioType"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="CustomAudioType"/>
</mapper>
</enum>
<bean name="vec2" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector2"/>
<option name="constructor" value="ExternalTypeUtil.NewVector2"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector2"/>
<option name="constructor" value="ExternalTypeUtil.NewVector2"/>
</mapper>
</bean>
<bean name="vec3" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<var name="z" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector3"/>
<option name="constructor" value="ExternalTypeUtil.NewVector3"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector3"/>
<option name="constructor" value="ExternalTypeUtil.NewVector3"/>
</mapper>
</bean>
<bean name="vec4" valueType="1" sep="," group="*">
<var name="x" type="float"/>
<var name="y" type="float"/>
<var name="z" type="float"/>
<var name="w" type="float"/>
<mapper target="client" codeTarget="cs-bin,cs-simple-json">
<option name="type" value="UnityEngine.Vector4"/>
<option name="constructor" value="ExternalTypeUtil.NewVector4"/>
</mapper>
<mapper target="server" codeTarget="cs-bin,cs-dotnet-json">
<option name="type" value="System.Numerics.Vector4"/>
<option name="constructor" value="ExternalTypeUtil.NewVector4"/>
</mapper>
</bean>
</module>

View File

@@ -0,0 +1,48 @@
<module name="common">
<bean name="DateTimeRange" sep=";">
<var name="start_time" type="datetime?"/>
<var name="end_time" type="datetime?"/>
</bean>
<bean name="TimeOfDay" sep=":">
<var name="hour" type="int"/>
<var name="minute" type="int"/>
<var name="second" type="int"/>
</bean>
<bean name="OneDayTimeRange" sep=";">
<var name="start_time" type="TimeOfDay"/>
<var name="end_time" type="TimeOfDay"/>
</bean>
<enum name="EBoolOperator">
<var name="AND"/>
<var name="OR"/>
</enum>
<bean name="IntRange">
<var name="min" type="int"/>
<var name="max" type="int"/>
</bean>
<bean name="FloatRange">
<var name="min" type="float"/>
<var name="max" type="float"/>
</bean>
<bean name="GlobalConfig">
<!-- 背包相关 -->
<var name="x1" type="int" comment="背包容量"/>
<var name="x2" type="int"/>
<var name="x3" type="int"/>
<var name="x4" type="int"/>
<var name="x5" type="int"/>
<var name="x6" type="int"/>
<var name="x7" type="(list#sep=|),int"/>
</bean>
<table name="TbGlobalConfig" value="GlobalConfig" mode="one" input="common/全局常量配置表.xlsx"/>
</module>

View File

@@ -0,0 +1,152 @@
<module name="item">
<enum name="EItemQuality" comment="道具品质"> 道具的品质
<var name="WHITE" alias="白" comment="白"/>
<var name="GREEN" alias="绿"/>
<var name="BLUE" alias="蓝"/>
<var name="PURPLE" alias="紫"/>
<var name="GOLDEN" alias="金"/>
</enum>
<enum name="ECurrencyType">
<var name="DIAMOND" alias="钻石" value="1"/>
<var name="GOLD" alias="金币" value="2"/>
<var name="SILVER" alias="银币" value="3"/>
<var name="EXP" alias="经验" value="4"/>
<var name="POWER_POINT" alias="能量点" value="5"/>
</enum>
<enum name="EMajorType">
<var name="CURRENCY" alias="货币" value="1"/>
<var name="CLOTH" alias="服装" value="2"/>
<var name="QUEST" alias="任务" value="3"/>
<var name="CONSUMABLES" alias="消耗品" value="4"/>
<var name="TREASURE_BOX" alias="宝箱" value="5"/>
<var name="ACHIEVEMENT_AND_TITLE" alias="成就和称谓" value="6"/>
<var name="HEAD_FRAME" alias="头像框" value="7"/>
<var name="VOICE" alias="语音" value="8"/>
<var name="ACTION" alias="动作" value="9"/>
<var name="EXPANSION" alias="扩容道具" value="10"/>
<var name="MATERIAL" alias="制作材料" value="11"/>
</enum>
<enum name="EMinorType">
<var name="DIAMOND" alias="钻石" value="101"/>
<var name="GOLD" alias="金币" value="102"/>
<var name="SILVER" alias="银币" value="103"/>
<var name="EXP" alias="经验" value="104"/>
<var name="POWER_POINT" alias="能量点" value="105"/>
<var name="HAIR_STYLE" alias="发型" value="210"/>
<var name="COAT" alias="外套" value="220"/>
<var name="UPPER_JACKET" alias="上衣" value="230"/>
<var name="TROUSERS" alias="裤子" value="241"/>
<var name="SKIRT" alias="裙子" value="242"/>
<var name="SOCKS" alias="袜子" value="250"/>
<var name="SHOES" alias="鞋子" value="260"/>
<var name="HAIR_ACCESSORY" alias="发饰" value="271"/>
<var name="HAT" alias="帽子" value="272"/>
<var name="EARRING" alias="耳饰" value="273"/>
<var name="NECKLACE" alias="颈饰" value="274"/>
<var name="BRACELET" alias="腕饰" value="275"/>
<var name="HAIR_CLASP" alias="发箍" value="276"/>
<var name="GLOVE" alias="手套" value="277"/>
<var name="HANDHELD_OBJECT" alias="手持物" value="278"/>
<var name="SPECIAL" alias="特殊" value="279"/>
<var name="BASE_COSMETIC" alias="底妆" value="281"/>
<var name="EYEBROW_COSMETIC" alias="眉妆" value="282"/>
<var name="EYELASH" alias="睫毛" value="283"/>
<var name="COSMETIC_CONTACT_LENSES" alias="美瞳" value="284"/>
<var name="LIP_COSMETIC" alias="唇妆" value="285"/>
<var name="SKIN_COLOR" alias="肤色" value="286"/>
<var name="ONE_PIECE_DRESS" alias="连衣裙" value="290"/>
<var name="SWITCH_CLOTHES_SCENE" alias= "换装场景" value="291"/>
<var name="QUEST" alias="任务道具" value="301"/>
<var name="CAST" alias="投掷物" value="401"/>
<var name="SWORD" alias="刀剑" value="421"/>
<var name="BOW_ARROW" alias="弓箭" value="422"/>
<var name="WANDS" alias="法杖" value="423"/>
<var name="SPECIAL_TOOL" alias="特殊工具" value="424"/>
<var name="FOOD" alias="食物" value="403"/>
<var name="TREASURE_BOX" alias="宝箱" value="501"/>
<var name="KEY" alias="钥匙" value="502"/>
<var name="MULTI_CHOOSE_TREASURE_BOX" alias="多选一宝箱" value="503"/>
<var name="ACHIEVEMENT" alias="成就相关" value="601"/>
<var name="TITLE" alias="称谓相关" value="602"/>
<var name="AVATAR_FRAME" alias="头像框" value="701"/>
<var name="VOICE" alias="语音" value="801"/>
<var name="IDLE_POSE" alias="特殊待机动作" value="901"/>
<var name="PHOTO_POSE" alias="拍照动作" value="902"/>
<var name="BAG" alias="背包" value="1001"/>
<var name="FRIEND_CAPACITY" alias="好友数量" value="1002"/>
<var name="CONSTRUCTION_MATERIAL" alias="制作材料" value="1101"/>
<var name="DESIGN_DRAWING" alias="设计图纸" value="1102"/>
</enum>
<enum name="EClothersStarQualityType">
<var name="ONE" alias="一星" value="1" />
<var name="TWO" alias="二星" />
<var name="THREE" alias="三星" />
<var name="FOUR" alias="四星" />
<var name="FIVE" alias="五星" />
<var name="SIX" alias="六星" />
<var name="SEVEN" alias="七星" />
<var name="EIGHT" alias="八星" />
<var name="NINE" alias="九星" />
<var name="TEN" alias="十星" />
</enum>
<enum name="EClothersTag">风格标签
<var name="FANG_SHAI" alias="防晒" value="1" />
<var name="WU_ZHE" alias="舞者" />
</enum>
<enum name="EUseType"> 使用类型
<var name="MANUAL" alias="手动"/>
<var name="AUTO" alias="自动"/>
</enum>
<enum name="EClothesHidePartType"> 服装隐藏部位类型
<var name="CHEST" alias="胸部" value="0"/>
<var name="HEAD" alias="手"/>
<var name="SPINE_UPPER" alias="脊柱上"/>
<var name="SPINE_LOWER" alias="脊柱下"/>
<var name="HIP" alias="臀部"/>
<var name="LEG_UPPER" alias="腿上"/>
<var name="LEG_MIDDLE" alias="腿中"/>
<var name="LEG_LOWER" alias="腿下"/>
</enum>
<enum name="EClothesPropertyType">服装属性
<var name="JIAN_YUE" alias="简约" value="1" />
<var name="HUA_LI" alias="华丽" />
<var name="KE_AI" alias="可爱" />
<var name="CHENG_SHU" alias="成熟" />
<var name="HUO_PO" alias="活泼" />
<var name="YOU_YA" alias="优雅" />
<var name="QING_CHUN" alias="清纯" />
<var name="XING_GAN" alias="性感" />
<var name="QING_LIANG" alias="清凉" />
<var name="BAO_NUAN" alias="保暖" />
</enum>
<bean name="Item" comment="道具">
<var name="id" type="int" comment="道具id"/>
<var name="name" type="string"/>
<var name="major_type" type="EMajorType" group="c,s"/>
<var name="minor_type" type="EMinorType"/>
<var name="max_pile_num" type="int" group="s"/>
<var name="quality" type="EItemQuality"/>
<var name="icon" type="string" group="c"/>
<var name="icon_backgroud" type="string"/>
<var name="icon_mask" type="string"/>
<var name="desc" type="string"/>
<var name="show_order" type="int"/>
</bean>
<table name="TbItem" value="Item" input="通用道具表@item/道具系统表.xlsx" comment="道具表"/>
</module>

View File

@@ -0,0 +1,14 @@
<module name="l10n">
<bean name="L10NDemo">
<var name="id" type="int"/>
<var name="text" type="text"/>
</bean>
<table name="TbL10NDemo" value="L10NDemo" input="l10n/Demo.xlsx"/>
<bean name="PatchDemo">
<var name="id" type="int"/>
<var name="value" type="int"/>
</bean>
<table name="TbPatchDemo" value="PatchDemo" input="l10n/Patch.xlsx"/>
</module>

View File

@@ -0,0 +1,13 @@
<module name="tag">
<bean name="TestTag">
<var name="id" type="int"/>
<var name="value" type="string"/>
</bean>
<table name="TbTestTag" value="TestTag" input="tag_datas"/>
<!--bean name="TagSwitch">
<var name="unlock_equip" type="int"/>
<var name="unlock_hero" type="int"/>
</bean>
<table name="TbTagSwitch" value="TagSwitch" mode="one" input="test/tag_switch.xlsx"/-->
</module>

View File

@@ -0,0 +1,529 @@
<module name="test">
<enum name="DemoEnum">
<var name="NONE" value="0"/>
<var name="A" alias="aa" value="1"/>
<var name="B" alias="bb"/>
<var name="C" alias="cc" value="4"/>
<var name="D" alias="dd"/>
<var name="Any"/>
</enum>
<enum name="DemoFlag" flags="1">
<var name="A" value="1"/>
<var name="B" value="2"/>
<var name="C" value="4"/>
<var name="D" value="8"/>
</enum>
<bean name="DemoType1">
<var name="x1" type="int"/>
</bean>
<bean name="DemoDynamic"> 多态数据结构
<var name="x1" type="int"/>
<bean name="DemoD2" alias="测试别名">
<var name="x2" type="int"/>
</bean>
<bean name="DemoD3">
<var name="x3" type="int"/>
<bean name="DemoE1">
<var name="x4" type="int"/>
</bean>
</bean>
<bean name="DemoD5">
<var name="time" type="DateTimeRange"/>
</bean>
</bean>
<bean name="DemoE2" valueType="1">
<var name="y1" type="int?"/>
<var name="y2" type="bool"/>
</bean>
<bean name="DemoExplicitType">
<var name="x1" type="uint8"/>
<var name="x2" type="int16"/>
<var name="x3" type="int32"/>
<var name="x4" type="int64"/>
<var name="x5" type="float32"/>
<var name="x6" type="float64"/>
<var name="x7" type="bigint"/>
</bean>
<bean name="DemoType2" tags="d=5#a=3">
<var name="x4" type="int#range=[1,100]"/>
<var name="x1" type="bool#kind=cat#type=sss" tags="aa=10#bb=23"/>
<var name="x2" type="byte#kind=mouse#name=yyy" tags="aa#dd=32"/>
<var name="x3" type="short"/>
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="x7" type="double"/>
<var name="x8_0" type="short"/>
<var name="x8" type="int"/>
<var name="x9" type="long"/>
<var name="x10" type="string#res=demo"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="DemoEnum#sep=,"/>
<var name="x14" type="DemoDynamic#sep=,"/>多态数据结构
<var name="s1" type="text"/>
<var name="t1" type="datetime"/>
<var name="k1" type="array,int"/>
<var name="k2" type="list,int"/>
<var name="k5" type="set,int"/>
<var name="k8" type="(map#sep=,),int#ref=test.TbFullTypes,int#ref=test.TbFullTypes"/>
<var name="k9" type="(list#sep=;),DemoE2#sep=,"/>
<var name="k15" type="(array#sep=;),DemoDynamic#sep=,"/>
</bean>
<table name="TbFullTypes" index="x4" value="DemoType2" input="test/full_type.xlsx"/> 最常见的普通 key-value表
<bean name="DateTimeRange" sep=";">
<var name="start_time" type="datetime"/>
<var name="end_time" type="datetime"/>
</bean>
<bean name="DemoSingletonType">
<var name="id" type="int"/>
<var name="name" type="text"/>
<var name="date" type="DemoDynamic"/>
</bean>
<table name="TbSingleton" mode="one" value="DemoSingletonType" input="test/table_one.xlsx"/> 单例表,只有一个记录
<bean name="NotIndexList">
<var name="x" type="int"/>
<var name="y" type="int"/>
</bean>
<table name="TbNotIndexList" value="NotIndexList" mode="list" input="not_index@test/list.xlsx"/>
<bean name="MultiUnionIndexList">
<var name="id1" type="int"/>
<var name="id2" type="long"/>
<var name="id3" type="string"/>
<var name="num" type="int"/>
<var name="desc" type="string"/>
</bean>
<!-- index="id1,id2,id3" index="id1+id2+id3" index="id1&id2&id3" 都可以表达是 (id1,id2,id3) 联合唯一索引 -->
<table name="TbMultiUnionIndexList" value="MultiUnionIndexList" mode="list" index="id1+id2+id3" input="multi_union_index@test/list.xlsx"/>
<bean name="MultiIndexList">
<var name="id1" type="int"/>
<var name="id2" type="long"/>
<var name="id3" type="string"/>
<var name="num" type="int"/>
<var name="desc" type="string"/>
</bean>
<!-- index="id1|id2|id3" 表示这3个key分别都是唯一索引 -->
<table name="TbMultiIndexList" value="MultiIndexList" mode="list" index="id1,id2,id3" input="multi_index@test/list.xlsx"/>
<table name="TbDataFromMisc" value="DemoType2" input="test/misc_datas"/> 普通表不过数据从misc_datas目录递归读入各种类型的数据源
<bean name="MultiRowType1">
<var name="id" type="int"/>
<var name="x" type="int"/>
</bean>
<bean name="MultiRowType2">
<var name="id" type="int"/>
<var name="x" type="int"/>
<var name="y" type="float"/>
</bean>
<bean name="MultiRowType3">
<var name="id" type="int"/>
<var name="items" type="list,MultiRowType1"/>
</bean>
<bean name="MultiRowRecord">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="one_rows" type="list,MultiRowType1"/>
<var name="multi_rows1" type="list,MultiRowType1"/>
<var name="multi_rows2" type="array,MultiRowType1"/>
<!--var name="multi_rows3" type="set,MultiRowType2"/-->
<var name="multi_rows4" type="map,int,MultiRowType2"/>
<var name="multi_rows5" type="list,MultiRowType3"/>
<var name="multi_rows6" type="map,int,MultiRowType2"/>
<var name="multi_rows7" type="map,int,int"/>
</bean>
<table name="TbMultiRowRecord" value="MultiRowRecord" input="test/multi_rows_record.xlsx"/>
<bean name="Foo">
<var name="y1" type="int"/>
<var name="y2" type="int"/>
<var name="y3" type="int"/>
</bean>
<bean name="TestMultiColumn">
<var name="id" type="int"/>
<var name="a" type="Foo"/>
<var name="b" type="Foo"/>
<var name="c" type="Foo"/>
</bean>
<table name="TbTestMultiColumn" value="TestMultiColumn" input="test/multi_column.xlsx"/>
<enum name="ETestUeType">
<var name="WHITE" alias="白"/>
<var name="BLACK"/>
</enum>
<enum name="ETestEmptyEnum">
</enum>
<enum name="ETestEmptyEnum2">
<var name="SMALL_THAN_256" value="255"/>
<var name="X_256" value="256"/>
<var name="X_257" value="257"/>
</enum>
<bean name="TestUeType">
<var name="x1" type="bool"/>
<var name="x2" type="byte"/>
<var name="x3" type="short"/>
<var name="x4" type="int"/>
<var name="x5" type="long"/>
<var name="x6" type="float"/>
<var name="x10" type="string"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="ETestUeType"/>
<var name="t1" type="datetime"/>
<var name="k1" type="array,int"/>
<var name="k2" type="list,int"/>
<var name="k5" type="set,int"/>
<var name="k8" type="map,int,int"/>
<var name="k9" type="list,DemoE2"/>
</bean>
<bean name="H1">
<var name="y2" type="H2"/>
<var name="y3" type="int"/>
</bean>
<bean name="H2">
<var name="z2" type="int"/>
<var name="z3" type="int"/>
</bean>
<bean name="MultiRowTitle">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="x1" type="H1"/>
<var name="x2_0" type="H2?"/>
<var name="x2" type="list,H2"/>
<var name="x3" type="array,H2"/>
<var name="x4" type="array,H2"/>
</bean>
<table name="TbMultiRowTitle" value="MultiRowTitle" input="test/multi_level_title.xlsx"/>
<bean name="TestNull">
<var name="id" type="int"/>
<var name="x1" type="int?"/>
<var name="x2" type="DemoEnum?"/>
<var name="x3" type="DemoType1?"/>
<var name="x4" type="DemoDynamic?"/>
<var name="s1" type="string?"/>
<var name="s2" type="text?"/>
</bean>
<table name="TbTestNull" value="TestNull" input="test/test_null_datas"/>
<bean name="DemoPrimitiveTypesTable">
<var name="x1" type="bool"/>
<var name="x2" type="byte"/>
<var name="x3" type="short"/>
<var name="x4" type="int" />
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="x7" type="double"/>
<var name="s1" type="string" />
<var name="s2" type="text"/>
<var name="v2" type="vec2"/>
<var name="v3" type="vec3"/>
<var name="v4" type="vec4"/>
<var name="t1" type="datetime"/>
</bean>
<table name="TbDemoPrimitive" index="x4" value="DemoPrimitiveTypesTable" input="test/demo_primitive.xlsx"/>
<bean name="CompactString">
<var name="id" type="int"/>
<var name="s2" type="string"/>
<var name="s3" type="string"/>
</bean>
<bean name="TestString">
<var name="id" type="string"/>
<var name="s1" type="string"/>
<var name="s2" type="string#escape=1"/>
<var name="cs1" type="CompactString"/>
<var name="cs2" type="CompactString"/>
</bean>
<table name="TbTestString" value="TestString" input="test/test_string.xlsx"/>
<bean name="InnerGroup">
<var name="y1" type="int"/> 默认属于所有分组c,s,e
<var name="y2" type="int" group="c"/>属于 c 分组
<var name="y3" type="int" group="s"/>属于s分组
<var name="y4" type="int" group="c,s"/>属于c,s分组
</bean>
<bean name="DemoGroup">
<var name="id" type="int"/>
<var name="x1" type="int#ref=test.TbDemoGroup_C" group="c"/> 默认属于所有分组c,s,e
<var name="x2" type="int#ref=test.TbDemoGroup_S" group="s"/>属于 c 分组
<var name="x3" type="int#ref=test.TbDemoGroup_E" group="e"/>属于s分组
<var name="x4" type="int" group="c,s"/>属于c,s分组
<var name="x5" type="InnerGroup"/>
</bean>
<table name="TbDemoGroup" value="DemoGroup" input="test/demo_group.xlsx"/>
<table name="TbDemoGroup_C" value="DemoGroup" group="c" input="test/demo_group.xlsx"/> 此表只属于c分组
<table name="TbDemoGroup_S" value="DemoGroup" group="s" input="test/demo_group.xlsx"/> 此表只属于s分组
<table name="TbDemoGroup_E" value="DemoGroup" group="e" input="test/demo_group.xlsx"/> 此表只属于e分组
<bean name="TestGlobal">
<var name="unlock_equip" type="int"/>
<var name="unlock_hero" type="int"/>
</bean>
<table name="TbTestGlobal" value="TestGlobal" mode="one" input="test/global.xlsx"/>
<bean name="TestBeRef">
<var name="id" type="int"/>
<var name="count" type="int"/>
</bean>
<table name="TbTestBeRef" value="TestBeRef" input="be_ref1@test/test_ref.xlsx"/>
<table name="TbTestBeRef2" value="TestBeRef" input="be_ref2@test/test_ref.xlsx"/>
<refgroup name="test_ref_group" ref="test.TbTestBeRef,test.TbTestBeRef2"/>
<refgroup name="test_ref_group2" ref="test.TbTestBeRef"/>
<bean name="RefDynamicBase">
<var name="x" type="int#ref=test.TbTestBeRef"/>
<bean name="RefBean">
<var name="arr" type="(list#sep=|),(int#ref=test.TbTestBeRef)"/>
</bean>
</bean>
<bean name="TestRef">
<var name="id" type="int"/>
<var name="x1" type="int#ref=test.TbTestBeRef"/> var中的ref属性纯粹是语法糖理论上只应该如x2那样定义在type里
<var name="x1_2" type="int#ref=test.TbTestBeRef"/> var中的ref属性纯粹是语法糖理论上只应该如x2那样定义在type里
<var name="x2" type="int#ref=test_ref_group2"/>
<var name="x3" type="int#ref=test_ref_group"/>
<var name="x4" type="int#ref=tag.TbTestTag"/>
<var name="a1" type="array,(int#ref=test.TbTestBeRef)"/>
<var name="a2" type="array,(int#ref=test.TbTestBeRef)"/>
<var name="b1" type="list,(int#ref=test.TbTestBeRef)"/>
<var name="b2" type="list,(int#ref=test.TbTestBeRef)"/>
<var name="c1" type="set,(int#ref=test.TbTestBeRef)"/>
<var name="c2" type="set,(int#ref=test.TbTestBeRef)"/>
<var name="d1" type="(map#aaa=5),int#ref=test.TbTestBeRef,int#ref=test.TbTestBeRef"/>
<var name="d2" type="map#aaa=5;int#ref=test.TbTestBeRef;int#ref=test.TbTestBeRef"/>
<var name="e1" type="int#ref=id1@test.TbMultiIndexList"/>
<var name="e2" type="long#ref=id2@test.TbMultiIndexList"/>
<var name="e3" type="string#ref=id3@test.TbMultiIndexList"/>
<var name="f1" type="int#ref=id1@test.TbMultiIndexList"/>
<var name="f2" type="long#ref=id2@test.TbMultiIndexList"/>
<var name="f3" type="string#ref=id3@test.TbMultiIndexList"/>
<var name="s1" type="RefDynamicBase"/>
</bean>
<table name="TbTestRef" value="TestRef" input="ref@test/test_ref.xlsx"/>
<bean name="TestSize">
<var name="id" type="int"/>
<var name="x1" type="(array#size=2),int"/>
<var name="x2" type="(list#(size=[1, 3])),int"/>
<var name="x3" type="(set#(size=[1,])),int"/>
<var name="x4" type="(map#(size=(1, 3))),int,int"/>
</bean>
<table name="TbTestSize" value="TestSize" input="test/test_size.xlsx"/>
<bean name="TestSet">
<var name="id" type="int"/>
<var name="x0" type="string#(set=ab,cd)"/>
<var name="x1" type="list,int#set=1,2,3,4,5"/>
<var name="x2" type="list,long#set=2,3,4,5"/>
<var name="x3" type="list,string#set=ab,cd"/>
<var name="x4" type="list,DemoEnum#set=A,B"/>
</bean>
<table name="TbTestSet" value="TestSet" input="test/test_set.xlsx"/>
<bean name="DetectEncoding">
<var name="id" type="int"/>
<var name="name" type="string"/>
</bean>
<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,"/>
<bean name="ItemBase">
<var name="id" type="int"/>
<var name="name" type="string"/>
<var name="desc" type="string"/>
<bean name="Item">
<var name="num" type="int"/>
<var name="price" type="int"/>
</bean>
<bean name="Equipment">
<var name="attr" type="DemoEnum"/>
<var name="value" type="int"/>
</bean>
<bean name="Decorator">
<var name="duration" type="int"/>
</bean>
</bean>
<table name="TbItem2" value="ItemBase" input="test/item.xlsx"/>
<!--table name="TbDefineFromExcel" value="DefineFromExcel" input="test/define_from_excel.xlsx" define_from_file="1"/>
<table name="TbDefineFromExcelOne" value="DefineFromExcelOne" mode="one" input="test/define_from_excel_one.xlsx" define_from_file="1"/-->
<!--bean name="TestJson2">
<var name="id" type="int"/>
<var name="m1" type="map,int,int"/>
<var name="m2" type="map,long,int"/>
<var name="m3" type="map,string,int"/>
<var name="m4" type="map,string,DemoType1"/>
</bean>
<table name="TbTestMap2" value="TestJson2" input="test/test_json2.xlsx"/-->
<bean name="TestIndex">
<var name="id" type="int"/>
<var name="eles" type="(list#index=x1),DemoType1"/>
</bean>
<table name="TbTestIndex" value="TestIndex" input="test/test_index.xlsx"/>
<bean name="TestMap">
<var name="id" type="int#ref=test.TbTestIndex"/>
<var name="x1" type="map,int,int"/>
<var name="x2" type="map,long,int"/>
<var name="x3" type="map,string,int"/>
<var name="x4" type="map,DemoEnum,int"/>
</bean>
<table name="TbTestMap" value="TestMap" input="test/test_map.xlsx"/>
<bean name="ExcelFromJson">
<var name="x4" type="int" />
<var name="x1" type="bool"/>
<var name="x5" type="long" />
<var name="x6" type="float"/>
<var name="s1" type="string"/>
<var name="s2" type="text"/>
<var name="t1" type="datetime"/>
<var name="x12" type="DemoType1"/>
<var name="x13" type="DemoEnum"/>
<var name="x14" type="DemoDynamic"/>多态数据结构
<var name="k1" type="array,int"/>
<var name="k8" type="map,int,int"/>
<var name="k9" type="list,DemoE2"/>
<var name="k15" type="array,DemoDynamic"/>
</bean>
<table name="TbExcelFromJson" value="ExcelFromJson" input="test/excel_jsons"/>
<bean name="CompositeJsonTable1">
<var name="id" type="int"/>
<var name="x" type="string"/>
</bean>
<bean name="CompositeJsonTable2">
<var name="id" type="int"/>
<var name="y" type="int"/>
</bean>
<bean name="CompositeJsonTable3">
<var name="a" type="int"/>
<var name="b" type="int"/>
</bean>
<table name="TbCompositeJsonTable1" value="CompositeJsonTable1" input="*table1@test/composite_tables.json,*@test/composite_tables2.json"/>
<table name="TbCompositeJsonTable2" value="CompositeJsonTable2" input="*table2@test/composite_tables.json"/>
<table name="TbCompositeJsonTable3" value="CompositeJsonTable3" mode="one" input="table3@test/composite_tables.json"/>
<bean name="Test3">
<var name="x" type="int"/>
<var name="y" type="int"/>
</bean>
<bean name="TestRow">
<var name="x" type="int"/>
<var name="y" type="bool"/>
<var name="z" type="string"/>
<var name="a" type="Test3"/>
<var name="b" type="list,int"/>
</bean>
<bean name="ExcelFromJsonMultiRow">
<var name="id" type="int"/>
<var name="x" type="int"/>
<var name="items" type="list,TestRow"/>
</bean>
<table name="TbExcelFromJsonMultiRow" value="ExcelFromJsonMultiRow" input="test/excel_multi_row_jsons"/>
<bean name="SepVector" sep=",">
<var name="x" type="int"/>
<var name="y" type="int"/>
<var name="z" type="int"/>
</bean>
<bean name="SepBean1">
<var name="a" type="int"/>
<var name="b" type="int"/>
<var name="c" type="string"/>
</bean>
<!--table name="TbTestSep" value="TestSep" define_from_file="1" input="test/test_sep.xlsx"/-->
<bean name="TestScriptableObject">
<var name="id" type="int"/>
<var name="desc" type="string"/>
<var name="rate" type="float"/>
<var name="num" type="int"/>
<var name="v2" type="vec2"/>
<var name="v3" type="vec3"/>
<var name="v4" type="vec4"/>
</bean>
<table name="TbTestScriptableObject" value="TestScriptableObject" input="test/unity_scriptable_objects"/>
<bean name="Path">
<var name="id" type="int"/>
<var name="res" type="string#path=unity"/>
</bean>
<table name="TbPath" value="Path" input="test/path.xlsx"/>
<!--table name="TbTestExternalType" value="TestExternalType" define_from_file="1" input="test/external_type.xlsx"/-->
<bean name="TestMapper">
<var name="id" type="int"/>
<var name="audio_type" type="AudioType"/>
<var name="v2" type="vec2"/>
</bean>
<table name="TbTestMapper" value="TestMapper" input="test/type_mapper.xlsx"/>
<module name="login">
支持在一个定义文件中 定义多个模块。 一般来说一个定义文件中一个模块比较好,但有些情况下为了方便可以定义多个。
<bean name="RoleInfo" parent="test.DemoD3">
<var name="role_id" type="long"/>
</bean>
</module>
</module>

View File

@@ -0,0 +1,13 @@
set WORKSPACE=..
set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=.
dotnet %LUBAN_DLL% ^
-t all ^
-f ^
--conf %CONF_ROOT%\luban.conf ^
-x pathValidator.rootDir=%WORKSPACE%\Projects\Csharp_Unity_bin ^
-x l10n.textProviderFile=*@%CONF_ROOT%\Datas\l10n\texts.json
pause

View File

@@ -0,0 +1,13 @@
#!/bin/bash
WORKSPACE=..
LUBAN_DLL=$WORKSPACE/Tools/Luban/Luban.dll
CONF_ROOT=.
dotnet $LUBAN_DLL \
-t all \
-f \
--conf $CONF_ROOT/luban.conf \
-x pathValidator.rootDir=$WORKSPACE/Projects/Csharp_Unity_bin \
-x l10n.textProviderFile=$CONF_ROOT/Datas/l10n/texts.json

Some files were not shown because too many files have changed in this diff Show More