From d9a303eda828546a571f85978a89d96f840c8225 Mon Sep 17 00:00:00 2001 From: walon Date: Sun, 26 Sep 2021 14:44:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 +++++++++++++++++--- docs/images/examples/a_10.jpg | Bin 0 -> 11481 bytes 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 docs/images/examples/a_10.jpg diff --git a/README.md b/README.md index 3620dad..6aaccb5 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ ## 介绍 -luban是一个较完备成熟游戏配置数据处理的解决方案。目前已经存在很多导表工具如tabtoy、xls2json之类,它们功能简单直接,更多是作为一个excel文件转换工具存在,而不是一个完整的游戏配置工具,对于配置结构复杂的中大型游戏项目往往力不从心。相比它们,luban有以下核心优势: +目前已经存在很多导表工具如tabtoy、xls2json之类,它们功能简单直接,更多是作为一个excel文件转换工具存在,而不是一个完整的游戏配置工具,对于配置结构复杂的中大型游戏项目往往力不从心。luban擅长高效处理**大型复杂的配置结构**,是一个面向MMORPG这类大中型游戏项目的配置数据解决方案,相较于常规的excel导表工具有以下核心优势: - 增强了excel格式。可以比较简洁地excel配置**任意复杂**的数据,像子结构、结构列表,以及更复杂的深层次的嵌套结构都能直接解析处理。 - 完备的类型系统和多原始数据支持(xml、json、lua、yaml),可以轻松表达和解析**任意复杂**的数据。意味着传统excel导表工具无法处理的技能、行为树、副本等等复杂配置,luban也能够统一处理了,彻底将程序从复杂的配置解析中完全解放出来。 -- 完备的本地化支持。支持静态本地化(导出时text已经本地化)、动态本地化(运行时动态切换语言)、多地区数据(在主分支基础上,通过差分patch制作有细微区别的多地区配置)、时间本地化。 -- 强大的模板生成能力。可以通过模板自由定制生成的代码格式及导出的数据格式。 +- 完善的工作流支持。如id的外键引用检查;资源合法性检查;灵活的数据源定义(拆表或者多表合一);灵活的分组导出机制;多种本地化支持;生成极快(日常迭代300ms以内)等等。 +- 强大灵活的模板生成能力。可以通过模板自由定制生成的代码格式及导出的数据格式。 ====**如果觉得不错,烦请点个star,你的支持会给予我们巨大动力 ^_^**==== @@ -186,6 +186,20 @@ array与list类型都能表示列表,它们区别在于array生成的代码为 由于list,int和list,float是最常见的列表类型,它们数据中也不包含分割符,所以默认对它们使用"sep=,|",避免填写分割符的麻烦。像list,string由于本身可能包含分割符,所以必须手动指定不与内容冲突的分割符。 ![pipeline](docs/images/examples/b_20.jpg) + +### 枚举 +游戏往往有枚举的需求,策划填成整数,既不清晰,程序还得手写枚举定义,麻烦又容易不一致。luban支持枚举的定义,强迫策划填写枚举名或者别名,让数据更清楚。 + +```xml + + + + + +``` + +![pipeline](docs/images/examples/a_10.jpg) + ### 嵌套子结构 经常会碰到,某个字段是结构,尤其这个结构在很多配置里都会复用。 diff --git a/docs/images/examples/a_10.jpg b/docs/images/examples/a_10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ef6c589c0f2af24dc8442f882d8b3548a907064 GIT binary patch literal 11481 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 literal 0 HcmV?d00001