Об этом проекте

Luban — это решение для конфигурации игр, цель которого — охватить рабочие процессы конфигурации от небольших до сверхкрупных игровых проектов. Проект распространяется под лицензией MIT и в первую очередь ориентирован на гейм-дизайнеров и программистов для стандартизации определения, проверки и генерации кода/данных конфигурации. Основные возможности: - Форматы исходных данных: поддержка семейства Excel (csv, tsv, xls, xlsx, xlsm), json, xml, yaml, lua и других. - Форматы экспорта: генерация данных в форматах binary, json, bson, xml, lua, yaml и других. - Система типов: поддержка распространенных структур строк и списков, а также наследования типов в стиле ООП для выражения сложных данных 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, WeChat Mini Games и других; работа на Windows, Linux, Mac. - Решения для горячего обновления: поддержка hybridclr, ilruntime, {x,t,s}lua, puerts и других. - Сгенерированный код не вызывает рефлексивные интерфейсы, совместим с инструментами обфускации и защиты, такими как Obfuz, Obfuscator, Confuser, .Net Refactor. - Модульность и плагинность конвейера генерации для удобства вторичной разработки и настройки. AI Native (начиная с версии 5.0.0): официальные Skills для AI Agent / IDE, машиночитаемая схема и сообщения об ошибках, CLI `Luban.Agent` (проверка / поиск по таблицам / describe), MCP-сервер `Luban.Mcp`, а также опции `-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.