更新 README.md,补充 Excel2TextDiff及Excel插件 Luban Assitant的相关说明

main
walon 2021-09-30 10:07:15 +08:00
parent 0a5d7b6ab4
commit 25610a8b86
3 changed files with 15 additions and 3 deletions

View File

@ -23,7 +23,7 @@
luban相较于常规的excel导表工具有以下核心优势 luban相较于常规的excel导表工具有以下核心优势
- 增强了excel格式。可以比较简洁地excel配置**任意复杂**的数据,像子结构、结构列表,以及更复杂的深层次的嵌套结构都能直接解析处理。 - 增强了excel格式。可以比较简洁地excel配置**任意复杂**的数据,像子结构、结构列表,以及更复杂的深层次的嵌套结构都能直接解析处理。
- 完备的类型系统和多原始数据支持xml、json、lua、yaml可以轻松表达和解析**任意复杂**的数据。意味着传统excel导表工具无法处理的技能、行为树、副本等等复杂配置luban也能够统一处理了彻底将程序从复杂的配置解析中完全解放出来。 - 完备的类型系统和多原始数据支持xml、json、lua、yaml可以轻松表达和解析**任意复杂**的数据。意味着传统excel导表工具无法处理的技能、行为树、副本等等复杂配置luban也能够统一处理了彻底将程序从复杂的配置解析中完全解放出来。
- 完善的工作流支持。如id的外键引用检查;资源合法性检查;灵活的数据源定义(拆表或者多表合一);灵活的分组导出机制;多种本地化支持;生成极快日常迭代300ms以内等等 - 完善的工作流支持。如id的外键引用检查;资源合法性检查;灵活的数据源定义(拆表或者多表合一);灵活的分组导出机制;多种本地化支持;生成极快日常迭代300ms以内。Excel2TextDiff工具方便diff查看excel文件的版本间差异。LubanAssistant Excel插件支持把json、lua、xml等文本格式的配置数据加载到excel中批量编辑处理最后再保存回原文件较好地解决大型项目中多人合作数据编辑冲突合并的问题较好解决在编辑器中制作的配置难以在excel中批量修改的问题
====**如果觉得不错烦请点个star你的支持会给予我们巨大动力 ^_^**==== ====**如果觉得不错烦请点个star你的支持会给予我们巨大动力 ^_^**====
@ -96,6 +96,10 @@ luban相较于常规的excel导表工具有以下核心优势
- 其他家基于js的小程序平台 - 其他家基于js的小程序平台
- 其他所有支持lua的引擎和平台 - 其他所有支持lua的引擎和平台
- 其他所有支持js的引擎和平台 - 其他所有支持js的引擎和平台
- 扩展工具
- Excel2TextDiff。将excel转成文本后再diff清晰对比excel版本之间内容变化。
- **[开发中,马上...]LubanAssistant**Luban的Excel插件。支持把json、lua、xml等文本格式的配置数据加载到excel中批量编辑处理最后再保存回原文件较好地解决大型项目中多人合作数据编辑冲突合并的问题较好解决在编辑器中制作的配置难以在excel中批量修改的问题。
## 增强的excel格式 ## 增强的excel格式
luban支持在excel中解析任意复杂的数据结构哪怕复杂如技能、行为树但在实践中一般使用编辑器制作这些数据以json格式保存而不会在excel里填写。下面从简单到复杂展示在luban中配置这些数据的方式。 luban支持在excel中解析任意复杂的数据结构哪怕复杂如技能、行为树但在实践中一般使用编辑器制作这些数据以json格式保存而不会在excel里填写。下面从简单到复杂展示在luban中配置这些数据的方式。
@ -341,6 +345,15 @@ binary格式占空间最小lua其次json最大。
- [TODO] 任意粒度的数据本地化不仅仅是text及记录级别 - [TODO] 任意粒度的数据本地化不仅仅是text及记录级别
### Excel2TextDiff
将excel文件转成text再调用diff工具对比。与TortoiseGit、TortoiseSvn等版本管理工具良好配合。
![pipeline](docs/images/examples/d_70.jpg)
### Luban Excel助手插件
开发中。敬请期待
## 性能测试数据 ## 性能测试数据
硬件: 硬件:
@ -363,7 +376,6 @@ binary格式占空间最小lua其次json最大。
| lua | 17.323 s| 739 ms | 433 K | 212 M | | lua | 17.323 s| 739 ms | 433 K | 212 M |
## 路线图 ## 路线图
- [ ] 新增 unity 内置编辑器 - [ ] 新增 unity 内置编辑器
- [ ] 新增 unreal 内置编辑器 - [ ] 新增 unreal 内置编辑器
- [ ] 补充单元测试 - [ ] 补充单元测试

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@ -53,7 +53,7 @@ impl {{name}}{
#[allow(dead_code)] #[allow(dead_code)]
pub fn get_data_list(self:&{{name}}) -> &Vec<std::rc::Rc<{{rust_define_type value_type}}>> { &self.data_list } pub fn get_data_list(self:&{{name}}) -> &Vec<std::rc::Rc<{{rust_define_type value_type}}>> { &self.data_list }
#[allow(dead_code)] #[allow(dead_code)]
pub fn get(self:&{{name}}, key: {{rust_define_type key_type}}) -> std::option::Option<&std::rc::Rc<{{rust_define_type value_type}}>> { self.data_map.get(&key) } pub fn get(self:&{{name}}, key: &{{rust_define_type key_type}}) -> std::option::Option<&std::rc::Rc<{{rust_define_type value_type}}>> { self.data_map.get(key) }
{{~else~}} {{~else~}}
if !__js.is_array() || __js.len() != 1 { if !__js.is_array() || __js.len() != 1 {
return Err(LoadError{}); return Err(LoadError{});