2.7 KiB
2.7 KiB
| name | description | version | updated |
|---|---|---|---|
| compile-gameplay-dll | 编译 GamePlay C# 源码为 GamePlay.dll。触发关键词:编译 compile、GamePlay.dll、转换为Dll、build DLL、编译错误、Assembly Definition asmdef。 | 1.0 | 2026-05-08 |
Compile GamePlay DLL
将 GamePlay 源码编译为 GamePlay.dll。
前置知识
- 源码位置:
Assets/Code/Scripts/GamePlay/(独立 Git 仓库) - 产物位置:
Assets/Code/Scripts/GamePlay_Dll/GamePlay.dll(属于 NLDClient 仓库) - 编译菜单:
Tools/文件与路径/转换为Dll(快捷键 F1) - Assembly Definition:
Assets/Code/Scripts/GamePlay/GamePlay.asmdef
不适用场景
- 只修改了
GamePlay/以外的代码(Framework/GameWrapper/UI/ 等)→ 不需要编译 DLL - 只修改了配置表 → 走
luban-config流程即可
编译流程
根据是否有 Unity MCP 可用,选择对应路径:
路径 A:通过 Unity MCP 自动编译(优先)
前置检测:首先确认 Unity MCP (
user-unityMCP) 是否可用。可用则走此路径,不可用则自动降级到路径 B。
前置步骤 — 确保代码最新:
git pullNLDClient 仓库(../../)git pullGamePlay 仓库(Assets/Code/Scripts/GamePlay)- 刷新 Unity:
CallMcpTool: server="user-unityMCP", toolName="refresh_unity", arguments={ "mode": "force", "scope": "all", "compile": "request", "wait_for_ready": true } - 检查编译错误,有错误则停止。
执行编译:
- 调用菜单:
CallMcpTool: server="user-unityMCP", toolName="execute_menu_item", arguments={ "menu_path": "Tools/文件与路径/转换为Dll" } - 等待编译完成 — 轮询
editor_state,检查isCompiling为false。 - 检查错误:
CallMcpTool: server="user-unityMCP", toolName="read_console", arguments={ "action": "get", "types": ["error"], "count": "20" } - 有错误 → 报告并停止;无错误 → 编译成功。
路径 B:提示用户手动编译(无 MCP 时)
请在 Unity Editor 中执行:
- 菜单
Tools/文件与路径/转换为Dll(或快捷键 F1)- 等待编译完成
- 如有编译错误,将错误信息提供给 AI 修复
编译后处理
- 确认
GamePlay_Dll/GamePlay.dll文件时间戳已更新 - 编译成功后 NLDClient 仓库会有变更(更新的 DLL 文件)
- 若需提交,走
batch-git-ops流程(NLDClient + GamePlay 两个仓库)
安全规则
- 编译前确保所有 .cs 文件已保存
- 不要在编译过程中修改源码文件
- 编译失败时优先检查 Assembly Definition 引用是否完整
- DLL 编译成功后如涉及三仓变更,必须走 batch-git-ops 流程