[update] 更新文档,补充godot相关支持的描述,补充c++语言使用示例
parent
ba1a552d3e
commit
4255ae25bf
21
README.md
21
README.md
|
|
@ -31,13 +31,13 @@ luban统一了游戏配置开发工作流,极大提升了策划和程序的工
|
||||||
- 强大的数据解析和转换能力 {excel(csv,xls,xlsx)、json、bson、xml、yaml、lua、unity ScriptableObject} => {binary、json、bson、xml、lua、yaml、erlang、 custom format}
|
- 强大的数据解析和转换能力 {excel(csv,xls,xlsx)、json、bson、xml、yaml、lua、unity ScriptableObject} => {binary、json、bson、xml、lua、yaml、erlang、 custom format}
|
||||||
- 增强的excel格式,可以简洁地配置出像简单列表、子结构、结构列表,以及任意复杂的深层次的嵌套结构。
|
- 增强的excel格式,可以简洁地配置出像简单列表、子结构、结构列表,以及任意复杂的深层次的嵌套结构。
|
||||||
- 完备的类型系统,**支持OOP类型继承**,搭配excel、json、lua、xml等格式数据**灵活优雅**表达行为树、技能、剧情、副本之类复杂GamePlay数据
|
- 完备的类型系统,**支持OOP类型继承**,搭配excel、json、lua、xml等格式数据**灵活优雅**表达行为树、技能、剧情、副本之类复杂GamePlay数据
|
||||||
- 支持生成c#、java、go、c++、lua、python、javascript、typescript、erlang、rust代码
|
- 支持生成c#、java、go、c++、lua、python、javascript、typescript、erlang、rust、gdscript 代码
|
||||||
- 支持生成 protobuf(schema + binary + json)、flatbuffers(schema + json)、msgpack(binary)
|
- 支持生成 protobuf(schema + binary + json)、flatbuffers(schema + json)、msgpack(binary)
|
||||||
- 强大的数据校验能力。ref引用检查、path资源路径、range范围检查等等
|
- 强大的数据校验能力。ref引用检查、path资源路径、range范围检查等等
|
||||||
- 完善的本地化支持。静态文本值本地化、动态文本值本地化、时间本地化、main-patch多地区版本
|
- 完善的本地化支持。静态文本值本地化、动态文本值本地化、时间本地化、main-patch多地区版本
|
||||||
- 强大灵活的自定义能力,支持自定义代码模板和数据模板
|
- 强大灵活的自定义能力,支持自定义代码模板和数据模板
|
||||||
- **通用型生成和缓存工具**。也可以用于生成协议、数据库之类的代码,甚至可以用作对象缓存服务
|
- **通用型生成和缓存工具**。也可以用于生成协议、数据库之类的代码,甚至可以用作对象缓存服务
|
||||||
- **良好支持主流引擎、全平台、主流热更新方案、主流前后端框架**。支持unity、unreal、cocos2x、微信小游戏等主流引擎。工具自身跨平台,能在Win,Linux,Mac平台良好工作。
|
- **良好支持主流引擎、全平台、主流热更新方案、主流前后端框架**。支持Unity、Unreal、Cocos2x、Godot、微信小游戏等主流引擎。工具自身跨平台,能在Win,Linux,Mac平台良好工作。
|
||||||
|
|
||||||
完整特性请参见 [feature](https://focus-creative-games.github.io/luban/generate_code_data/)
|
完整特性请参见 [feature](https://focus-creative-games.github.io/luban/generate_code_data/)
|
||||||
|
|
||||||
|
|
@ -529,13 +529,13 @@ Reward为包含 "int item_id; int count; string desc; " 这三个字段的子结
|
||||||
|
|
||||||
## 代码使用预览
|
## 代码使用预览
|
||||||
|
|
||||||
这儿只简略展示c#、typescript、go语言在开发中的用法,更多语言以及更详细的使用范例和代码见[示例项目](https://github.com/focus-creative-games/luban_examples)。
|
这儿只简略展示c#、typescript、go、c++ 语言在开发中的用法,更多语言以及更详细的使用范例和代码见[示例项目](https://github.com/focus-creative-games/luban_examples)。
|
||||||
|
|
||||||
- C# 使用示例
|
- C# 使用示例
|
||||||
|
|
||||||
```C#
|
```C#
|
||||||
// 一行代码可以加载所有配置。 cfg.Tables 包含所有表的一个实例字段。
|
// 一行代码可以加载所有配置。 cfg.Tables 包含所有表的一个实例字段。
|
||||||
var tables = new cfg.Tables(file => return new ByteBuf(File.ReadAllBytes(gameConfDir + "/" + file + ".bytes")));
|
var tables = new cfg.Tables(file => return new ByteBuf(File.ReadAllBytes($"{gameConfDir}/{file}.bytes")));
|
||||||
// 访问一个单例表
|
// 访问一个单例表
|
||||||
Console.WriteLine(tables.TbGlobal.Name);
|
Console.WriteLine(tables.TbGlobal.Name);
|
||||||
// 访问普通的 key-value 表
|
// 访问普通的 key-value 表
|
||||||
|
|
@ -569,6 +569,19 @@ println(tables.TbGlobal.Name)
|
||||||
println(tables.TbItem.Get(12).Name)
|
println(tables.TbItem.Get(12).Name)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- c++ 使用示例
|
||||||
|
|
||||||
|
```c++
|
||||||
|
cfg::Tables tables;
|
||||||
|
if (!tables.load([](ByteBuf& buf, const std::string& s) { buf.clear(); return buf.loadFromFile("../GenerateDatas/bytes/" + s + ".bytes"); }))
|
||||||
|
{
|
||||||
|
std::cout << "== load fail == " << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::cout << tables.TbGlobal->name << std::endl;
|
||||||
|
std::cout << tables.TbItem.get(12)->name << std::endl;
|
||||||
|
```
|
||||||
|
|
||||||
## 路线图
|
## 路线图
|
||||||
|
|
||||||
- [ ] 新增 unity 内置编辑器
|
- [ ] 新增 unity 内置编辑器
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue