# Mission: Unity 2D Agent Coding Onboarding

## Why
在 1 小时内让产品同学具备开发 Green lane 功能的最低能力，让后台/全栈同学具备开发 Yellow lane 功能的最低能力：自己写验收、让 agent 分析链路、限定修改范围、实际改功能、完成验证并提交可 review 的 diff。真实项目路径是 `/Users/lionqu/Github/NewHappyMahjongClient/HappyMahjongClient`，启动场景是 `Assets/Scenes/AppMainScene.unity`，框架是 StrangeIoC / MVCS。

## Success looks like
- 产品同学能作为“需求方 + 实现者”，独立完成 Green lane 的文案、提示、校验、空状态、防重复点击等小功能。
- 后台/全栈同学能作为“接口方 + 实现者”，独立完成 Yellow lane 的 DTO/Model 容错、Service/Command 小逻辑、已有通道接口接入和验证，并提交更完整的链路证据、风险说明和验证结果。
- 学员能在 Unity Editor 中使用 Hierarchy、Project、Inspector、Console、Play Mode 和 Prefab Mode 定位对象、配置、错误和资产改动边界。
- 学员能让 agent 输出 HappyMahjong 的 View → Mediator → Command → Service / Model 链路，并要求所有结论附文件路径。
- 学员能说清 HappyMahjong 启动链路的最小版本：`AppMainScene` → `LoadDll` → `AppMainRoot` → `AppRoot` → `AppContext`，并知道普通小任务不应修改这些启动文件。
- 学员能判断 UI 点击绑定方式：UGUI Button、`UIEventListener`、`Empty Click` / `EmptyClick`，并要求 agent 沿用 `UIUtil`、`PopUpManager` 和项目现有写法。
- 学员能识别必须拒绝的 agent 输出：改 StrangeIoC 框架源码、新造 UI 框架、绕过 TSDK / 项目网络层、无故改 `.unity` / `.prefab` / `.meta` / `Packages` / `ProjectSettings`。
- 学员能用 Green / Yellow / Red 车道判断：产品是否可按 Green 自助开发、后台/全栈是否可按 Yellow 自助开发、是否已越界到必须交给客户端 owner 的 Red。
- 学员能遵守模块开发规则：新增模块必须使用 `Assets/Editor/Prefab2Code/Scripts/ScriptTemplates/` 模板；改现有模块必须先定位模块边界并限制在模块内；跨模块修改必须审核架构影响。
- 学员能用 Console 第一条红错、stack trace、手动验证清单和 Safe Diff Checklist 判断一次改动能否继续，并提交包含验证和风险说明的 PR。

## Constraints
- 课程时长约 60 分钟。
- 听众以产品和后台为主；默认没有系统 Unity 开发经验。
- 他们主要通过 Codex、Claude Code、Cursor 等 agent 编码。
- 先聚焦产品 Green lane 与后台/全栈 Yellow lane 的安全 agent loop；避免把课堂变成架构全景展示。
- 教学材料需要可独立打开、可复习、可打印。

## Out of scope
- 3D 摄像机、光照、材质、Shader、渲染管线。
- 动画状态机、复杂特效、物理系统。
- ECS / DOTS、Job System、多线程性能专项。
- Unity 版本升级、Package 大规模升级、Addressables 迁移。
- 大型 Scene / Prefab 重构。
- StrangeIoC 框架源码改造；本课只讲如何沿用现有 Context / Binder / View-Mediator / Command 结构。
- HybridCLR、Bootstrap AB、TSDK Native、AssetBundle 构建流程、AppContext 全量绑定解释。
