这个项目能做什么

Luban 是一个游戏配置解决方案,设计目标是覆盖从小型到超大型游戏项目的配置工作流需求。项目采用 MIT 许可,主要面向游戏策划与程序,用于标准化配置数据的定义、校验与代码/数据生成。 核心能力: - 源数据格式:支持 Excel 族(csv、tsv、xls、xlsx、xlsm)、json、xml、yaml、lua 等。 - 导出格式:可生成 binary、json、bson、xml、lua、yaml 等数据格式。 - 类型系统:支持常见行列表结构,并支持 OOP 类型继承,用于表达行为树、技能、剧情、副本等复杂 GamePlay 数据。 - 代码生成:内置支持 C#、Java、Go、C++、Lua、Python、JavaScript、TypeScript、Rust、PHP、Erlang、Godot 等语言,也可通过 protobuf 等消息方案扩展到其他语言。 - 消息方案:支持 protobuf(schema + binary + json)、flatbuffers(schema + json)、msgpack(binary)。 - 数据校验:提供 ref 引用检查、path 资源路径检查、range 范围检查等。 - 本地化支持。 - 引擎与平台:支持 Unity、Unreal、Cocos2x、Godot、微信小游戏等,可在 Windows、Linux、Mac 运行。 - 热更新方案:支持 hybridclr、ilruntime、{x,t,s}lua、puerts 等。 - 生成的代码不调用反射接口,兼容 Obfuz、Obfuscator、Confuser、.Net Refactor 等混淆加固工具。 - 生成管线模块化、插件化,便于二次开发与定制。 AI Native(5.0.0 起):面向 AI Agent / IDE 提供官方 Skills、机器可读 schema 与报错、`Luban.Agent` CLI(校验 / 查表 / describe)、`Luban.Mcp` MCP Server,以及 `-c schema-json`、`--errorFormat json` 等选项。仓库内 AI 资源位于 `ai/` 目录。 开发与测试:主仓自带 xUnit 集成测试,不依赖外部 luban_examples,可通过 `dotnet test src/Luban.Tests/Luban.Tests.csproj` 运行;夹具与期望输出位于 `tests/fixtures/` 与 `tests/golden/`,可用 `tests/scripts/update-goldens.ps1` 或 `.sh` 刷新,或设置环境变量 `LUBAN_UPDATE_GOLDEN=1` 就地更新。 文档与示例:官方文档与快速上手见 datable.cn,示例项目见 luban_examples 仓库。