عن المشروع
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، وWeChat Mini Games، ويعمل على Windows وLinux وMac.
- حلول التحديث الساخن: يدعم hybridclr، وilruntime، و{x,t,s}lua، وpuerts، وغيرها.
- الأكواد المولّدة لا تستدعي واجهات الانعكاس، وتتوافق مع أدوات التعتيم والتقوية مثل Obfuz، وObfuscator، وConfuser، و.Net Refactor.
- خط التوليد معياري وقابل للتوصيل، مما يسهل التطوير الثانوي والتخصيص.
الذكاء الاصطناعي الأصلي (منذ الإصدار 5.0.0): يوفر Skills رسمية لـ AI Agent / IDE، ومخططًا آليًا قابلًا للقراءة وأخطاء، وCLI `Luban.Agent` (للتحقق / استعلام الجداول / الوصف)، وخادم MCP `Luban.Mcp`، وخيارات مثل `-c schema-json` و`--errorFormat json`. موارد الذكاء الاصطناعي في المستودع موجودة في دليل `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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.