[change] 修复README错误

This commit is contained in:
walon 2023-09-30 21:36:47 +08:00
parent aa41b56501
commit de0348c453
2 changed files with 12 additions and 210 deletions

211
README.md
View File

@ -33,217 +33,16 @@ Luban standardizes the game configuration development workflow, which can greatl
## Documentation
- [Luban](https://github.com/focus-creative-games/luban)
- [Official Documentation](https://luban.doc.code-philosophy.com/)
- [Quick Start](https://luban.doc.code-philosophy.com/docs/beginner/quickstart)
- **Example Project** ([github](https://github.com/focus-creative-games/luban_examples)) ([gitee](https://gitee.com/focus-creative-games/luban_examples) )
- Support and contact
- QQ group: 692890842 (Luban development exchange group)
- discord: https://discord.gg/dGY4zzGMJ4
- Email: luban@code-philosophy.com
## Excel format overview
basic data format
![primitive_type](docs/images/cases/primitive_type.jpg)
enum data format
![enum](docs/images/cases/enum.jpg)
bean data format
![bean](docs/images/cases/bean.jpg)
Polymorphic bean data format
![bean](docs/images/cases/bean2.jpg)
container
![collection](docs/images/cases/collection.jpg)
nullable type
![nullable](docs/images/cases/nullable.jpg)
no primary key table
![table_list_not_key](docs/images/cases/table_list_not_key.jpg)
Multi-primary key table (joint index)
![table_list_union_key](docs/images/cases/table_list_union_key.jpg)
Multi-primary key table (independent index)
![table_list_indep_key](docs/images/cases/table_list_indep_key.jpg)
singleton table
Some configurations have only one copy globally, such as the opening level of the guild module, the initial size of the backpack, and the upper limit of the backpack. At this time, it is more appropriate to use a singleton table to configure these data.
![singleton](docs/images/cases/singleton2.jpg)
vertical table
Most tables are horizontal tables, that is, one record per row. Some tables, such as singleton tables, are more comfortable to fill in vertically, with one field per line. A1 is ##column means using vertical table mode. The singleton table above is filled in as follows in vertical table mode.
![singleton](docs/images/cases/singleton.jpg)
Use sep to read beans and nested beans.
![sep_bean](docs/images/cases/sep_bean.jpg)
Use sep to read normal containers.
![sep_bean](docs/images/cases/sep_container1.jpg)
Use sep to read structure containers.
![sep_bean](docs/images/cases/sep_container2.jpg)
multi-level header
![colloumlimit](docs/images/cases/multileveltitle.jpg)
Qualify column format
![titlelimit](docs/images/cases/titlelimit.jpg)
Enumerated column-qualified format
![title_enum](docs/images/cases/title_enum.jpg)
polymorphic bean column qualification format
![title_dynamic_bean](docs/images/cases/title_dynamic_bean.jpg)
column-qualified format for map
![title_map](docs/images/cases/title_map.jpg)
multiline field
![map](docs/images/cases/multiline.jpg)
Data label filtering
![tag](docs/images/cases/tag.jpg)
## Overview of other formats
Take behavior tree as an example to show how to configure behavior tree configuration in json format. For xml, lua, yaml and other formats, please refer to [Detailed Documentation](https://luban.doc.code-philosophy.com/docs/intro).
```json
{
"id": 10002,
"name": "random move",
"desc": "demo behavior tree",
"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": []
}
]
}
}
```
## code usage preview
Here we only briefly show the usage of c#, typescript, go, and c++ languages in development. For more languages and more detailed usage examples and codes, see [Example Project](https://github.com/focus-creative-games/luban_examples ).
- C# usage example
```C#
// One line of code can load all configurations. cfg.Tables contains an instance field for all tables.
var tables = new cfg.Tables(file => return new ByteBuf(File.ReadAllBytes($"{gameConfDir}/{file}.bytes")));
// access a singleton table
Console.WriteLine(tables.TbGlobal.Name);
// access normal key-value table
Console.WriteLine(tables.TbItem.Get(12).Name);
// support operator [] usage
Console.WriteLine(tables.TbMail[1001].Desc);
```
- example of typescript usage
```typescript
// One line of code can load all configurations. cfg.Tables contains an instance field for all tables.
let tables = new cfg. Tables(f => JsHelpers. LoadFromFile(gameConfDir, f))
// access a singleton table
console.log(tables.TbGlobal.name)
// access normal key-value table
console.log(tables.TbItem.get(12).Name)
```
- go usage example
```go
// One line of code can load all configurations. cfg.Tables contains an instance field for all tables.
if tables , err := cfg.NewTables(loader) ; err != nil {
println(err. Error())
return
}
// access a singleton table
println(tables. TbGlobal. Name)
// access normal key-value table
println(tables. TbItem. Get(12). Name)
```
- c++ usage example
```cpp
cfg::Tables tables;
if (!tables.load([](ByteBuf& buf, const std::string& s) { 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;
```
## Support and Contact
- QQ group: 692890842 (Luban development exchange group)
- discord: https://discord.gg/dGY4zzGMJ4
- Email: luban#code-philosophy.com
## license

View File

@ -33,13 +33,16 @@ luban标准化了游戏配置开发工作流可以极大提升策划和程序
## 文档
- [Luban](https://github.com/focus-creative-games/luban)
- [官方文档](https://luban.doc.code-philosophy.com/)
- [快速上手](https://luban.doc.code-philosophy.com/docs/beginner/quickstart)
- **示例项目** ([github](https://github.com/focus-creative-games/luban_examples)) ([gitee](https://gitee.com/focus-creative-games/luban_examples))
- 支持与联系
- QQ群: 692890842 Luban开发交流群
- discord: https://discord.gg/dGY4zzGMJ4
- 邮箱: luban@code-philosophy.com
## 支持与联系
- QQ群: 692890842 Luban开发交流群
- discord: https://discord.gg/dGY4zzGMJ4
- 邮箱: luban#code-philosophy.com
## license