From af96a12845f3e1d2f8f3780e9cff99bcf3c00388 Mon Sep 17 00:00:00 2001 From: xlj <543978819@qq.com> Date: Tue, 12 Aug 2025 15:01:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E5=85=A5luban=E9=85=8D=E8=A1=A8=20?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=91=BD=E4=BB=A4=E8=A1=8C=20npm=20install?= =?UTF-8?q?=20buffer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataTables/Datas/#demo.item.xlsx | Bin 0 -> 9039 bytes DataTables/Datas/__beans__.xlsx | Bin 0 -> 9737 bytes DataTables/Datas/__enums__.xlsx | Bin 0 -> 9768 bytes DataTables/Datas/__tables__.xlsx | Bin 0 -> 9609 bytes DataTables/Datas/l10n/Demo.xlsx | Bin 0 -> 9189 bytes DataTables/Datas/l10n/Patch.xlsx | Bin 0 -> 10126 bytes DataTables/Datas/l10n/texts.json | 9 + DataTables/Datas/reward.xlsx | Bin 0 -> 10343 bytes DataTables/Defines/builtin.xml | 17 + DataTables/gen.bat | 11 + DataTables/gen.sh | 11 + DataTables/luban.conf | 26 + DataTables/output/demo_tbitem.json | 14 + DataTables/output/demo_tbreward.json | 14 + Tools/Luban/CommandLine.dll | Bin 0 -> 225280 bytes Tools/Luban/ExcelDataReader.dll | Bin 0 -> 181760 bytes Tools/Luban/Google.Protobuf.dll | Bin 0 -> 485472 bytes Tools/Luban/Luban.Bson.deps.json | 107 ++ Tools/Luban/Luban.Bson.dll | Bin 0 -> 7680 bytes Tools/Luban/Luban.CSharp.deps.json | 73 ++ Tools/Luban/Luban.CSharp.dll | Bin 0 -> 56320 bytes Tools/Luban/Luban.Core.deps.json | 57 + Tools/Luban/Luban.Core.dll | Bin 0 -> 242176 bytes Tools/Luban/Luban.Cpp.deps.json | 73 ++ Tools/Luban/Luban.Cpp.dll | Bin 0 -> 25088 bytes Tools/Luban/Luban.Dart.deps.json | 73 ++ Tools/Luban/Luban.Dart.dll | Bin 0 -> 17920 bytes .../Luban/Luban.DataLoader.Builtin.deps.json | 547 +++++++++ Tools/Luban/Luban.DataLoader.Builtin.dll | Bin 0 -> 82432 bytes .../Luban/Luban.DataTarget.Builtin.deps.json | 564 +++++++++ Tools/Luban/Luban.DataTarget.Builtin.dll | Bin 0 -> 25600 bytes .../Luban.DataValidator.Builtin.deps.json | 73 ++ Tools/Luban/Luban.DataValidator.Builtin.dll | Bin 0 -> 26624 bytes Tools/Luban/Luban.FlatBuffers.deps.json | 581 +++++++++ Tools/Luban/Luban.FlatBuffers.dll | Bin 0 -> 12800 bytes Tools/Luban/Luban.Gdscript.deps.json | 581 +++++++++ Tools/Luban/Luban.Gdscript.dll | Bin 0 -> 10752 bytes Tools/Luban/Luban.Golang.deps.json | 73 ++ Tools/Luban/Luban.Golang.dll | Bin 0 -> 24576 bytes Tools/Luban/Luban.Java.deps.json | 73 ++ Tools/Luban/Luban.Java.dll | Bin 0 -> 19456 bytes Tools/Luban/Luban.Javascript.deps.json | 615 ++++++++++ Tools/Luban/Luban.Javascript.dll | Bin 0 -> 15872 bytes Tools/Luban/Luban.L10N.deps.json | 564 +++++++++ Tools/Luban/Luban.L10N.dll | Bin 0 -> 12800 bytes Tools/Luban/Luban.Lua.deps.json | 73 ++ Tools/Luban/Luban.Lua.dll | Bin 0 -> 14848 bytes Tools/Luban/Luban.MsgPack.deps.json | 123 ++ Tools/Luban/Luban.MsgPack.dll | Bin 0 -> 8704 bytes Tools/Luban/Luban.PHP.deps.json | 581 +++++++++ Tools/Luban/Luban.PHP.dll | Bin 0 -> 11776 bytes Tools/Luban/Luban.Protobuf.deps.json | 597 ++++++++++ Tools/Luban/Luban.Protobuf.dll | Bin 0 -> 23040 bytes Tools/Luban/Luban.Python.deps.json | 581 +++++++++ Tools/Luban/Luban.Python.dll | Bin 0 -> 13312 bytes Tools/Luban/Luban.Rust.deps.json | 73 ++ Tools/Luban/Luban.Rust.dll | Bin 0 -> 25088 bytes Tools/Luban/Luban.Schema.Builtin.deps.json | 564 +++++++++ Tools/Luban/Luban.Schema.Builtin.dll | Bin 0 -> 32256 bytes .../Luban.Schema.Builtin.runtimeconfig.json | 14 + Tools/Luban/Luban.Typescript.deps.json | 615 ++++++++++ Tools/Luban/Luban.Typescript.dll | Bin 0 -> 18432 bytes Tools/Luban/Luban.deps.json | 1034 +++++++++++++++++ Tools/Luban/Luban.dll | Bin 0 -> 18432 bytes Tools/Luban/Luban.exe | Bin 0 -> 150016 bytes Tools/Luban/Luban.runtimeconfig.json | 13 + Tools/Luban/MessagePack.Annotations.dll | Bin 0 -> 11776 bytes Tools/Luban/MessagePack.dll | Bin 0 -> 330752 bytes Tools/Luban/Microsoft.NET.StringTools.dll | Bin 0 -> 30856 bytes Tools/Luban/NLog.dll | Bin 0 -> 953344 bytes Tools/Luban/Neo.Lua.dll | Bin 0 -> 321024 bytes Tools/Luban/Newtonsoft.Json.Bson.dll | Bin 0 -> 101592 bytes Tools/Luban/Newtonsoft.Json.dll | Bin 0 -> 695336 bytes Tools/Luban/Scriban.dll | Bin 0 -> 449536 bytes Tools/Luban/Templates/common/cpp/enum.sbn | 23 + Tools/Luban/Templates/common/cs/enum.sbn | 28 + Tools/Luban/Templates/common/dart/enum.sbn | 30 + Tools/Luban/Templates/common/go/enum.sbn | 19 + Tools/Luban/Templates/common/java/enum.sbn | 19 + Tools/Luban/Templates/common/js/enum.sbn | 2 + Tools/Luban/Templates/common/php/enum.sbn | 2 + .../Templates/common/rs/macros/Cargo.toml.sbn | 14 + .../Templates/common/rs/macros/src/lib.rs.sbn | 65 ++ Tools/Luban/Templates/common/ts/enum.sbn | 2 + Tools/Luban/Templates/cpp-rawptr-bin/bean.sbn | 32 + .../Templates/cpp-rawptr-bin/schema_cpp.sbn | 45 + .../Templates/cpp-rawptr-bin/schema_h.sbn | 21 + .../Luban/Templates/cpp-rawptr-bin/table.sbn | 134 +++ .../Luban/Templates/cpp-rawptr-bin/tables.sbn | 23 + .../Templates/cpp-sharedptr-bin/bean.sbn | 32 + .../cpp-sharedptr-bin/schema_cpp.sbn | 50 + .../Templates/cpp-sharedptr-bin/schema_h.sbn | 21 + .../Templates/cpp-sharedptr-bin/table.sbn | 140 +++ .../Templates/cpp-sharedptr-bin/tables.sbn | 23 + Tools/Luban/Templates/cs-bin/bean.sbn | 150 +++ Tools/Luban/Templates/cs-bin/table.sbn | 169 +++ Tools/Luban/Templates/cs-bin/tables.sbn | 31 + Tools/Luban/Templates/cs-dotnet-json/bean.sbn | 151 +++ .../Luban/Templates/cs-dotnet-json/table.sbn | 172 +++ .../Luban/Templates/cs-dotnet-json/tables.sbn | 32 + Tools/Luban/Templates/cs-editor-json/bean.sbn | 101 ++ Tools/Luban/Templates/cs-editor-json/enum.sbn | 59 + .../Templates/cs-newtonsoft-json/bean.sbn | 158 +++ .../Templates/cs-newtonsoft-json/table.sbn | 177 +++ .../Templates/cs-newtonsoft-json/tables.sbn | 32 + Tools/Luban/Templates/cs-simple-json/bean.sbn | 151 +++ .../Luban/Templates/cs-simple-json/table.sbn | 172 +++ .../Luban/Templates/cs-simple-json/tables.sbn | 32 + Tools/Luban/Templates/cs_pb/tables.sbn | 32 + Tools/Luban/Templates/dart-json/bean.sbn | 143 +++ Tools/Luban/Templates/dart-json/table.sbn | 145 +++ Tools/Luban/Templates/dart-json/tables.sbn | 43 + Tools/Luban/Templates/flatbuffers/schema.sbn | 51 + .../Luban/Templates/gdscript-json/schema.sbn | 167 +++ Tools/Luban/Templates/go-bin/bean.sbn | 54 + Tools/Luban/Templates/go-bin/table.sbn | 116 ++ Tools/Luban/Templates/go-bin/tables.sbn | 33 + Tools/Luban/Templates/go-json/bean.sbn | 50 + Tools/Luban/Templates/go-json/table.sbn | 103 ++ Tools/Luban/Templates/go-json/tables.sbn | 28 + Tools/Luban/Templates/java-bin/bean.sbn | 65 ++ Tools/Luban/Templates/java-bin/table.sbn | 81 ++ Tools/Luban/Templates/java-bin/tables.sbn | 37 + Tools/Luban/Templates/java-json/bean.sbn | 67 ++ Tools/Luban/Templates/java-json/table.sbn | 82 ++ Tools/Luban/Templates/java-json/tables.sbn | 39 + .../Luban/Templates/javascript-bin/schema.sbn | 195 ++++ .../Templates/javascript-json/schema.sbn | 196 ++++ Tools/Luban/Templates/lua-bin/schema.sbn | 158 +++ Tools/Luban/Templates/lua-lua/schema.sbn | 42 + Tools/Luban/Templates/pb/schema.sbn | 41 + Tools/Luban/Templates/php-json/schema.sbn | 155 +++ Tools/Luban/Templates/python-json/schema.sbn | 156 +++ Tools/Luban/Templates/rust-bin/lib.sbn | 51 + Tools/Luban/Templates/rust-bin/mod.sbn | 280 +++++ Tools/Luban/Templates/rust-bin/toml.sbn | 11 + Tools/Luban/Templates/rust-json/lib.sbn | 51 + Tools/Luban/Templates/rust-json/mod.sbn | 287 +++++ Tools/Luban/Templates/rust-json/toml.sbn | 12 + .../Luban/Templates/typescript-bin/schema.sbn | 234 ++++ .../Templates/typescript-json/schema.sbn | 226 ++++ .../Templates/typescript-protobuf/schema.sbn | 31 + Tools/Luban/Ude.NetStandard.dll | Bin 0 -> 164864 bytes Tools/Luban/YamlDotNet.NetCore.dll | Bin 0 -> 172032 bytes Tools/Luban/de/Neo.Lua.resources.dll | Bin 0 -> 10752 bytes Tools/Luban/nlog.xml | 25 + Tools/build-luban.bat | 5 + assets/Scripts/chat18x/luban_code.meta | 9 + .../Scripts/chat18x/manager/ConfigManager.ts | 55 + .../chat18x/manager/ConfigManager.ts.meta | 9 + assets/Scripts/chat18x/ui/panels/ChatPanel.ts | 93 +- assets/Scripts/luban.meta | 9 + assets/Scripts/luban/ByteBuf.ts | 411 +++++++ assets/Scripts/luban/ByteBuf.ts.meta | 9 + assets/Scripts/schema.meta | 9 + assets/Scripts/schema/schema.ts | 253 ++++ assets/Scripts/schema/schema.ts.meta | 9 + assets/bundles/Chat18x/LubanCfg.meta | 9 + assets/resources/test.meta | 9 + assets/resources/test/demo_tbitem.bin | 2 + assets/resources/test/demo_tbitem.bin.meta | 12 + assets/resources/test/demo_tbreward.bin | 2 + assets/resources/test/demo_tbreward.bin.meta | 12 + gen_client.bat | 15 + package-lock.json | 47 +- package.json | 3 +- 166 files changed, 15164 insertions(+), 41 deletions(-) create mode 100644 DataTables/Datas/#demo.item.xlsx create mode 100644 DataTables/Datas/__beans__.xlsx create mode 100644 DataTables/Datas/__enums__.xlsx create mode 100644 DataTables/Datas/__tables__.xlsx create mode 100644 DataTables/Datas/l10n/Demo.xlsx create mode 100644 DataTables/Datas/l10n/Patch.xlsx create mode 100644 DataTables/Datas/l10n/texts.json create mode 100644 DataTables/Datas/reward.xlsx create mode 100644 DataTables/Defines/builtin.xml create mode 100644 DataTables/gen.bat create mode 100644 DataTables/gen.sh create mode 100644 DataTables/luban.conf create mode 100644 DataTables/output/demo_tbitem.json create mode 100644 DataTables/output/demo_tbreward.json create mode 100644 Tools/Luban/CommandLine.dll create mode 100644 Tools/Luban/ExcelDataReader.dll create mode 100644 Tools/Luban/Google.Protobuf.dll create mode 100644 Tools/Luban/Luban.Bson.deps.json create mode 100644 Tools/Luban/Luban.Bson.dll create mode 100644 Tools/Luban/Luban.CSharp.deps.json create mode 100644 Tools/Luban/Luban.CSharp.dll create mode 100644 Tools/Luban/Luban.Core.deps.json create mode 100644 Tools/Luban/Luban.Core.dll create mode 100644 Tools/Luban/Luban.Cpp.deps.json create mode 100644 Tools/Luban/Luban.Cpp.dll create mode 100644 Tools/Luban/Luban.Dart.deps.json create mode 100644 Tools/Luban/Luban.Dart.dll create mode 100644 Tools/Luban/Luban.DataLoader.Builtin.deps.json create mode 100644 Tools/Luban/Luban.DataLoader.Builtin.dll create mode 100644 Tools/Luban/Luban.DataTarget.Builtin.deps.json create mode 100644 Tools/Luban/Luban.DataTarget.Builtin.dll create mode 100644 Tools/Luban/Luban.DataValidator.Builtin.deps.json create mode 100644 Tools/Luban/Luban.DataValidator.Builtin.dll create mode 100644 Tools/Luban/Luban.FlatBuffers.deps.json create mode 100644 Tools/Luban/Luban.FlatBuffers.dll create mode 100644 Tools/Luban/Luban.Gdscript.deps.json create mode 100644 Tools/Luban/Luban.Gdscript.dll create mode 100644 Tools/Luban/Luban.Golang.deps.json create mode 100644 Tools/Luban/Luban.Golang.dll create mode 100644 Tools/Luban/Luban.Java.deps.json create mode 100644 Tools/Luban/Luban.Java.dll create mode 100644 Tools/Luban/Luban.Javascript.deps.json create mode 100644 Tools/Luban/Luban.Javascript.dll create mode 100644 Tools/Luban/Luban.L10N.deps.json create mode 100644 Tools/Luban/Luban.L10N.dll create mode 100644 Tools/Luban/Luban.Lua.deps.json create mode 100644 Tools/Luban/Luban.Lua.dll create mode 100644 Tools/Luban/Luban.MsgPack.deps.json create mode 100644 Tools/Luban/Luban.MsgPack.dll create mode 100644 Tools/Luban/Luban.PHP.deps.json create mode 100644 Tools/Luban/Luban.PHP.dll create mode 100644 Tools/Luban/Luban.Protobuf.deps.json create mode 100644 Tools/Luban/Luban.Protobuf.dll create mode 100644 Tools/Luban/Luban.Python.deps.json create mode 100644 Tools/Luban/Luban.Python.dll create mode 100644 Tools/Luban/Luban.Rust.deps.json create mode 100644 Tools/Luban/Luban.Rust.dll create mode 100644 Tools/Luban/Luban.Schema.Builtin.deps.json create mode 100644 Tools/Luban/Luban.Schema.Builtin.dll create mode 100644 Tools/Luban/Luban.Schema.Builtin.runtimeconfig.json create mode 100644 Tools/Luban/Luban.Typescript.deps.json create mode 100644 Tools/Luban/Luban.Typescript.dll create mode 100644 Tools/Luban/Luban.deps.json create mode 100644 Tools/Luban/Luban.dll create mode 100644 Tools/Luban/Luban.exe create mode 100644 Tools/Luban/Luban.runtimeconfig.json create mode 100644 Tools/Luban/MessagePack.Annotations.dll create mode 100644 Tools/Luban/MessagePack.dll create mode 100644 Tools/Luban/Microsoft.NET.StringTools.dll create mode 100644 Tools/Luban/NLog.dll create mode 100644 Tools/Luban/Neo.Lua.dll create mode 100644 Tools/Luban/Newtonsoft.Json.Bson.dll create mode 100644 Tools/Luban/Newtonsoft.Json.dll create mode 100644 Tools/Luban/Scriban.dll create mode 100644 Tools/Luban/Templates/common/cpp/enum.sbn create mode 100644 Tools/Luban/Templates/common/cs/enum.sbn create mode 100644 Tools/Luban/Templates/common/dart/enum.sbn create mode 100644 Tools/Luban/Templates/common/go/enum.sbn create mode 100644 Tools/Luban/Templates/common/java/enum.sbn create mode 100644 Tools/Luban/Templates/common/js/enum.sbn create mode 100644 Tools/Luban/Templates/common/php/enum.sbn create mode 100644 Tools/Luban/Templates/common/rs/macros/Cargo.toml.sbn create mode 100644 Tools/Luban/Templates/common/rs/macros/src/lib.rs.sbn create mode 100644 Tools/Luban/Templates/common/ts/enum.sbn create mode 100644 Tools/Luban/Templates/cpp-rawptr-bin/bean.sbn create mode 100644 Tools/Luban/Templates/cpp-rawptr-bin/schema_cpp.sbn create mode 100644 Tools/Luban/Templates/cpp-rawptr-bin/schema_h.sbn create mode 100644 Tools/Luban/Templates/cpp-rawptr-bin/table.sbn create mode 100644 Tools/Luban/Templates/cpp-rawptr-bin/tables.sbn create mode 100644 Tools/Luban/Templates/cpp-sharedptr-bin/bean.sbn create mode 100644 Tools/Luban/Templates/cpp-sharedptr-bin/schema_cpp.sbn create mode 100644 Tools/Luban/Templates/cpp-sharedptr-bin/schema_h.sbn create mode 100644 Tools/Luban/Templates/cpp-sharedptr-bin/table.sbn create mode 100644 Tools/Luban/Templates/cpp-sharedptr-bin/tables.sbn create mode 100644 Tools/Luban/Templates/cs-bin/bean.sbn create mode 100644 Tools/Luban/Templates/cs-bin/table.sbn create mode 100644 Tools/Luban/Templates/cs-bin/tables.sbn create mode 100644 Tools/Luban/Templates/cs-dotnet-json/bean.sbn create mode 100644 Tools/Luban/Templates/cs-dotnet-json/table.sbn create mode 100644 Tools/Luban/Templates/cs-dotnet-json/tables.sbn create mode 100644 Tools/Luban/Templates/cs-editor-json/bean.sbn create mode 100644 Tools/Luban/Templates/cs-editor-json/enum.sbn create mode 100644 Tools/Luban/Templates/cs-newtonsoft-json/bean.sbn create mode 100644 Tools/Luban/Templates/cs-newtonsoft-json/table.sbn create mode 100644 Tools/Luban/Templates/cs-newtonsoft-json/tables.sbn create mode 100644 Tools/Luban/Templates/cs-simple-json/bean.sbn create mode 100644 Tools/Luban/Templates/cs-simple-json/table.sbn create mode 100644 Tools/Luban/Templates/cs-simple-json/tables.sbn create mode 100644 Tools/Luban/Templates/cs_pb/tables.sbn create mode 100644 Tools/Luban/Templates/dart-json/bean.sbn create mode 100644 Tools/Luban/Templates/dart-json/table.sbn create mode 100644 Tools/Luban/Templates/dart-json/tables.sbn create mode 100644 Tools/Luban/Templates/flatbuffers/schema.sbn create mode 100644 Tools/Luban/Templates/gdscript-json/schema.sbn create mode 100644 Tools/Luban/Templates/go-bin/bean.sbn create mode 100644 Tools/Luban/Templates/go-bin/table.sbn create mode 100644 Tools/Luban/Templates/go-bin/tables.sbn create mode 100644 Tools/Luban/Templates/go-json/bean.sbn create mode 100644 Tools/Luban/Templates/go-json/table.sbn create mode 100644 Tools/Luban/Templates/go-json/tables.sbn create mode 100644 Tools/Luban/Templates/java-bin/bean.sbn create mode 100644 Tools/Luban/Templates/java-bin/table.sbn create mode 100644 Tools/Luban/Templates/java-bin/tables.sbn create mode 100644 Tools/Luban/Templates/java-json/bean.sbn create mode 100644 Tools/Luban/Templates/java-json/table.sbn create mode 100644 Tools/Luban/Templates/java-json/tables.sbn create mode 100644 Tools/Luban/Templates/javascript-bin/schema.sbn create mode 100644 Tools/Luban/Templates/javascript-json/schema.sbn create mode 100644 Tools/Luban/Templates/lua-bin/schema.sbn create mode 100644 Tools/Luban/Templates/lua-lua/schema.sbn create mode 100644 Tools/Luban/Templates/pb/schema.sbn create mode 100644 Tools/Luban/Templates/php-json/schema.sbn create mode 100644 Tools/Luban/Templates/python-json/schema.sbn create mode 100644 Tools/Luban/Templates/rust-bin/lib.sbn create mode 100644 Tools/Luban/Templates/rust-bin/mod.sbn create mode 100644 Tools/Luban/Templates/rust-bin/toml.sbn create mode 100644 Tools/Luban/Templates/rust-json/lib.sbn create mode 100644 Tools/Luban/Templates/rust-json/mod.sbn create mode 100644 Tools/Luban/Templates/rust-json/toml.sbn create mode 100644 Tools/Luban/Templates/typescript-bin/schema.sbn create mode 100644 Tools/Luban/Templates/typescript-json/schema.sbn create mode 100644 Tools/Luban/Templates/typescript-protobuf/schema.sbn create mode 100644 Tools/Luban/Ude.NetStandard.dll create mode 100644 Tools/Luban/YamlDotNet.NetCore.dll create mode 100644 Tools/Luban/de/Neo.Lua.resources.dll create mode 100644 Tools/Luban/nlog.xml create mode 100644 Tools/build-luban.bat create mode 100644 assets/Scripts/chat18x/luban_code.meta create mode 100644 assets/Scripts/chat18x/manager/ConfigManager.ts create mode 100644 assets/Scripts/chat18x/manager/ConfigManager.ts.meta create mode 100644 assets/Scripts/luban.meta create mode 100644 assets/Scripts/luban/ByteBuf.ts create mode 100644 assets/Scripts/luban/ByteBuf.ts.meta create mode 100644 assets/Scripts/schema.meta create mode 100644 assets/Scripts/schema/schema.ts create mode 100644 assets/Scripts/schema/schema.ts.meta create mode 100644 assets/bundles/Chat18x/LubanCfg.meta create mode 100644 assets/resources/test.meta create mode 100644 assets/resources/test/demo_tbitem.bin create mode 100644 assets/resources/test/demo_tbitem.bin.meta create mode 100644 assets/resources/test/demo_tbreward.bin create mode 100644 assets/resources/test/demo_tbreward.bin.meta create mode 100644 gen_client.bat diff --git a/DataTables/Datas/#demo.item.xlsx b/DataTables/Datas/#demo.item.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..974ed8bdf83d842aaf4e938c1cba4620346107dd GIT binary patch literal 9039 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 z zb^TBj#Pkt7=9dauKrQhBJ^!-j3P{NvVa6z+*%j|+YBs+|C?uK;NTl13wvgIu!0XRtl(p0YpCF0Yv;&jXzO77XDjZX zIuC56^jN;eATF~g~ zsMhwmB4q}7e1BSnX8fqnDQ4Og>kQ#gL;1=&WraL^jha#$TeR{ghZuqxuLA5b=lT;8 z3w2VqzCenIwY>oYR%>K~Ax)#Qo3}H2RVKFq`*5a#i~6Y1sGG!C?HaEooutu(Y0iqx zk$t}qYsKb3dd%b3vde*V``JXnMl*>~0_G1zza2oHT@t_A&$lizSh9Nfy zPFXFn&+mlt<&@$;9Du{lMWywKS=L=!S|&@quia*S8$?vSQf;`Pi1!p8b6O=l?+!*koS*5ZZ)f)p`(Q)%=LU%f!zw5^K^L-%G~cscAOf!%G$tp7*A45tdWTOH4Ts@;r@gfMc-%;`P0a4~>Usae00sJ(ivQ42#e)V+tql znANaLY!J`x^S9m+P8V*WrO&2vk{b@jEdi0wXsUsYjWoR->Nw+~FZ(-tB9lU=Lr>m= zQp@4NXrh_zK^k(l9+wz#b@KXC3Mswf@` z_buduGF#S&e=KZfe{s2m{_+(eDfEk%BF+-RsV;j%V#${~wU;&3c9Ol-3OxQ_R)F?M zrKr}>m!V2ie5GRf*m7JK1PeSM81`xdw5;G^CX0v z+RP;1O?z9rY*gyz7B`JO(+0ECof=8>hM| zHzw)z3u~kGTk~^SSKTqG!Yle9hfo7S8PDohAU^N)_Q$qvPCim~>Dl{xHXfucHd)>s zuf-ngu9$rJ5I$5IZjWJ}nHc-F^DQ2OD-IibQDpLN!TS|4_N*ZSgwi37L?JF@HrllbJ#cI?m-gJL~TZ1M3;zlUc^Y(r+ljUSBq68RG%~1 zMZTg$)5@C3N|48g;@oCneiY{X(UpONe+EmU{(jBOj}iUXyT4gMqX7D=fxq_je>RW{ z%hrDC@c#<@wX^vHItA->{?h0C75vwB(hn#A0D*N2{{QCEuXcXzG5oMJhW?+M_^*z` zuU397SpKlm51Y}#?&jC><*x>Qo#Os5F#G5a13xCbze0b_jekJrVdYcUZ#({)DgSEW zubJ8pJOB_y1_1n5-u5f}uaWj=I0ofU@IT}3ujs!zxu4Nv)IXsO|Ksu$K!`AU{Jwq! O9nb;ujGT18fBHXvpj5vA literal 0 HcmV?d00001 diff --git a/DataTables/Datas/__enums__.xlsx b/DataTables/Datas/__enums__.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a00569881286d599833d5111d19ae590e70f0549 GIT binary patch literal 9768 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 MJB%EaAOHOJf9-~MF8}}l literal 0 HcmV?d00001 diff --git a/DataTables/Datas/__tables__.xlsx b/DataTables/Datas/__tables__.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e2d7a261e67fde18ba8f1051863ea7121f437e3c GIT binary patch literal 9609 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 literal 0 HcmV?d00001 diff --git a/DataTables/Datas/l10n/Patch.xlsx b/DataTables/Datas/l10n/Patch.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..77428df8d56721c395a5a0932dc07eec0238c58f GIT binary patch literal 10126 zcmeHtg_x8};-67pWcgFyN4j@v}3`lo(gMc(ji*!mzH`0;{N{MvJ&>i3CIltF) zIOqEd-gjTu?Ade8v)0UB`@Yw6uk}2SRS^&g0muMU002M-@JSq?^M(Tef{*|J0stz! zzMO--tA)L*k(QUEh08N8Pdi)MJVbbwTmU?5{Qr*s;s}%{58HS1;3}M@T;e1&5CL7m zPl$pPXoiW=F5#H68Hl6oypYiY7Nfk1OFdbF)$+b(`|Lf0h*MT&i0aBnuh=pnKR049 zb}5SG2pcM7)_+F|u#Kw?uZVygFN>&S_HEcEx~tX@V(htq@eIti`zWABR}vOsN;*iGL$ zTbxLN#)!fOWmB^|e! zQGbkXmAg9`U5f=z#6Q%^eKh5`=lpD#hJ@Hv~FZBSgs>KT|1t7O+tE zjwV5{c|#W!o=g~Xuo@zU>$O_NC06GVjl7VO#hqZ_BH+*Ng2=UkBzg%W<=q_u;PKxm zOJLY;0S}|>B8-t3Fv=P^TiCjAbNxL3kE;L0{QS$UmnW*JA^>s2p}}`_AKS#{*yty1 zxfM3m%x~a;uWyWnUdQJ*-<&DRxW1{U_Rg&G$o6`D0;zfH`4-p59Y0k8EjSbMsYSb6 z^`@~A1uw~2F?JW!9Yk+ix>I(-7t6Nx=Ie=Mbop{#C>P^hAgP;@c5kpmlfiRgofKzM zy<-)eQbvQ6HLCDM^2a0my`vyhF&Bh9$@A8WRzV@Ps^`Pr4ub^`*y9W3N8@$R<7Z^I zj|B3x-xM%(z4IU1iX6J4H$$Li*1O5sgxXAKXecsDblg$9?UxfR!f+TJ{=RnAN^Ky35&u%DYI2uem)GN3llN`fCC%hY0K^5;A~^+ z;9&D}hRfHIaG2x4UBEb&LY*h_n^g`S2(oLk3asb3OyEF<*URIiCoDVTn#MyD@N|hdUAReTYRdGJrL+dz(hMd#2!1J_Gz6>^E^!;- zhm%U{G{MOLU}4O5EjgjC0y)*grg+bfxw}nYYS!`n?aqC;IQ)+oL3X~Sxg~@u508nZ z#V{r*PJAj?ygc-H7I(XP;$@W*HLdv#suO=G)mT@(o3-H?^W#lNnJ#U^mpP)2n$~kV z0$V!Bl8G4TeCf8hKqgUS4d)0?p*Gh_;!vE!jV9BTvZ7Pfwy4U(tnnvB=5iKg7sFvh z%=JrqPA@W@&)tYz##tgYr7hqtMPh8a!+D_tR{p*l7?w+^<3zqxO>UZ{pJEPF$x9Hi zEd9VrR&5<~0eroZXD%O$pSPJzfQHEIiVmFCiG8(kIKgSNJmRuXv;LuED;D8K$I)

wElMIV+ouco$YPZ$2gSsLXY=IJz2(cd`kq^N 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 O+e93A%&p{)+W!Yy=i%P~ literal 0 HcmV?d00001 diff --git a/DataTables/Defines/builtin.xml b/DataTables/Defines/builtin.xml new file mode 100644 index 00000000..e535ff48 --- /dev/null +++ b/DataTables/Defines/builtin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DataTables/gen.bat b/DataTables/gen.bat new file mode 100644 index 00000000..3eef6241 --- /dev/null +++ b/DataTables/gen.bat @@ -0,0 +1,11 @@ +set WORKSPACE=.. +set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll +set CONF_ROOT=. + +dotnet %LUBAN_DLL% ^ + -t all ^ + -d json ^ + --conf %CONF_ROOT%\luban.conf ^ + -x outputDataDir=output + +pause \ No newline at end of file diff --git a/DataTables/gen.sh b/DataTables/gen.sh new file mode 100644 index 00000000..5f48c8e8 --- /dev/null +++ b/DataTables/gen.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +WORKSPACE=.. +LUBAN_DLL=$WORKSPACE/Tools/Luban/Luban.dll +CONF_ROOT=. + +dotnet $LUBAN_DLL \ + -t all \ + -d json \ + --conf $CONF_ROOT/luban.conf \ + -x outputDataDir=output \ No newline at end of file diff --git a/DataTables/luban.conf b/DataTables/luban.conf new file mode 100644 index 00000000..716d6fb4 --- /dev/null +++ b/DataTables/luban.conf @@ -0,0 +1,26 @@ +{ + "groups": + [ + {"names":["c"], "default":true}, + {"names":["s"], "default":true}, + {"names":["e"], "default":true} + ], + "schemaFiles": + [ + {"fileName":"Defines", "type":""}, + {"fileName":"Datas/__tables__.xlsx", "type":"table"}, + {"fileName":"Datas/__beans__.xlsx", "type":"bean"}, + {"fileName":"Datas/__enums__.xlsx", "type":"enum"} + ], + "dataDir": "Datas", + "targets": + [ + {"name":"server", "manager":"Tables", "groups":["s"], "topModule":"cfg"}, + {"name":"client", "manager":"Tables", "groups":["c"], "topModule":"cfg"}, + {"name":"all", "manager":"Tables", "groups":["c","s","e"], "topModule":"cfg"} + ], + "xargs": + [ + + ] +} diff --git a/DataTables/output/demo_tbitem.json b/DataTables/output/demo_tbitem.json new file mode 100644 index 00000000..06e888f8 --- /dev/null +++ b/DataTables/output/demo_tbitem.json @@ -0,0 +1,14 @@ +[ + { + "id": 1001, + "name": "道具1", + "desc": "描述1", + "count": 10 + }, + { + "id": 1002, + "name": "道具2", + "desc": "描述2", + "count": 100 + } +] \ No newline at end of file diff --git a/DataTables/output/demo_tbreward.json b/DataTables/output/demo_tbreward.json new file mode 100644 index 00000000..329a3ca7 --- /dev/null +++ b/DataTables/output/demo_tbreward.json @@ -0,0 +1,14 @@ +[ + { + "id": 1001, + "name": "道具1", + "desc": "碎片", + "count": 10 + }, + { + "id": 1002, + "name": "道具2", + "desc": "金币", + "count": 100 + } +] \ No newline at end of file diff --git a/Tools/Luban/CommandLine.dll b/Tools/Luban/CommandLine.dll new file mode 100644 index 0000000000000000000000000000000000000000..3eab2be274359223f5640b0af04b2af375cce752 GIT binary patch literal 225280 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