Reference
Facilitator Runbook
1 小时讲课用逐分钟脚本。目标不是展示 HappyMahjong 有多复杂,而是让产品和后台/全栈知道自己能在哪些车道内开发 Unity 功能。
课前准备
- 打开真实项目路径:
/Users/lionqu/Github/NewHappyMahjongClient/HappyMahjongClient。 - 确认 Unity 版本:
2021.3.15f1。 - 确认启动场景:
Assets/Scenes/AppMainScene.unity;Build Settings 第一项也是它。 - 准备现场选功能的备选列表:从 Safe First Tasks 挑 2–3 个候选,以防听众没有想法。
- 准备一个好 agent 输出:包含真实文件路径、View → Mediator → Command → Service、风险和验证。
- 准备一个坏 agent 输出:建议改
Assets/Scripts/Base/StrangeIoC/、新建 Canvas prefab、绕过 TSDK、或修改AppMainScene.unity。 - 准备一个 Console / stack trace 示例:一条
NullReferenceException或MissingReferenceException,要求学员从第一条红错定位文件和行号。
0–5 min:课程契约
讲: 目标不是“只有客户端才能改 Unity”。目标是产品同学能自研 Green lane,后台/全栈同学能自研 Yellow lane,Red 交给 owner。
问: “你觉得产品/后台可以改 Unity 的哪些部分?哪些一定不该碰?”
板书: 产品 Green 自研 / 后台 Yellow 自研 / Red owner
5–12 min:开发车道
使用 Feature Development Lanes。先建立权限和责任边界。
必须讲清: 产品可以实现体验规则;后台/全栈可以实现数据和接口小逻辑;但启动、框架、构建、复杂 Prefab 仍归客户端 owner。
12–18 min:最低心智模型 + Editor 生存
使用 Lesson 1、Lesson 2 和 Visual Cheatsheets。只讲够用版本:Unity 功能不是只有 C#,还有对象、绑定、资源、生命周期和编辑器资产状态。
Hierarchy / Project / Inspector / Console / Play Mode / Prefab Mode
讲: Play Mode 用来观察和验证;Prefab / Scene / meta 改动会进入 Git,不能无解释出现。
18–28 min:2D UI + 生命周期 + 序列化
使用 Lesson 3、Lesson 4 和 Project Map。讲清 UI 对象、点击绑定、Inspector 引用、异步关闭和事件清理。
AppMainScene → LoadDll → AppMainRoot → AppRoot → AppContext
讲: 这只是定位地图。产品 Green 和后台 Yellow 的日常任务通常不改这条链。
28–40 min:现场选功能 + Live demo
使用 Guided Mission 的 Step 1–6 框架。
现场互动: 让听众提一个最近想做的小功能;如果没有想法,从备选列表里挑一个。
Live demo: 现场带学员走车道判断 → 写验收 → agent 分析 → 判断输出 → 限定范围 → diff review。
产品练习: 写验收,判断是否属于 Green lane。
后台/全栈练习: 按 Yellow lane 标准画链路:View → Mediator → Command → Service / Manager。
共同练习: 写允许修改文件和禁止修改文件。
40–50 min:Agent analysis + implementation + 模块边界
使用 Lesson 5、Prompt Cards 和 Module Development Rules。
展示好输出: 有路径、有链路、有车道判断、有最小修改范围、有禁止项。
展示实现 prompt: 只允许改确认过的 Green / Yellow 可自研文件。
必须落地: 新增模块必须使用 ScriptTemplates;改现有模块先找模块边界;跨模块修改必须审核架构影响。
50–60 min:Console 验证 + PR / Diff lab
使用 Lesson 6、Bad Agent Output Lab 和 Safe Diff Checklist。
收尾问题: “如果任务只是小体验改动,但 diff 里出现 .unity 或 Assets/Scripts/Base/StrangeIoC/,你会怎么做?”
课后作业
- 产品:选择一个 Green lane 体验小需求,自己写任务卡并让 agent 分析可改范围。
- 后台/全栈:选择一个 Yellow lane 数据/接口小需求,让 agent 分析链路并给实现方案。
- 共同:完成一次小 PR,PR 描述包含车道、模块边界、修改文件、验证结果和风险。
今天不用懂
- HybridCLR 和 Bootstrap AB 细节。
- TSDK Native 实现细节。
- AppContext 150+ 绑定的全部含义。
- GameUIView.cs 全部内容。
- AssetBundle 构建流程。
- 历史 NGUI 兼容代码;只需要知道新功能不主动按 NGUI 开发。
- StrangeIoC 源码。