关于 unity-mvc-pattern
面向 Unity 开发者的 MVC/MVP 架构技能,用于分离游戏数据、视觉呈现和逻辑。提供可观察集合、被动 View、Presenter 生命周期绑定,以及 MMO 快捷栏示例。
主要功能
- 01ObservableList 变更通知
- 02被动式 MonoBehaviour View
- 03由 Presenter 协调绑定
- 04MMO 快捷栏示例
适用场景
- 01构建物品栏界面
- 02实现技能树或设置界面
- 03分离游戏状态与视觉呈现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ muharremtozan/ unity-agent-skills --skill unity-mvc-pattern安装后在 Claude Code 中输入/unity-mvc-pattern确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/code/GenericPresenter.cs.txtMMOHotbarExample.cs.txtObservableList.cs.txt详细介绍
Unity MVC / MVP 模式
此技能实现了“关注点分离”这一架构原则。它将代码划分为三个独立层:模型(数据)、视图(视觉呈现)和 Presenter(逻辑桥梁)。
核心特性
- ObservableList:一个响应式集合,在数据变更时通知监听者(视图)。
- 被动视图:视图是 MonoBehaviour,只关心如何显示数据,而不关心数据来自何处。
- 中介逻辑:Presenter 负责处理“连接”和生命周期,让数据与视觉呈现完全解耦。
- MMO 热键栏模式:对参考文本中描述的多槽位可观察布局的具体实现。
核心文件(最多 3 个)
ObservableList.cs.txt:带结构变更通知的泛型集合包装器。GenericPresenter.cs.txt:用于建立 M-V-P 关系的基类,无需编写样板代码。MMOHotbarExample.cs.txt:实用示例,展示数据如何从模型流向 UI 视图。
用法
1. 模型(数据)
使用 Observable<T> 或 ObservableList<T> 保存状态。它不依赖 Unity UI。
2. 视图(视觉呈现)
一个 MonoBehaviour,公开用于更新其状态的方法(例如 SetHealth(float val))。
3. Presenter(桥梁)
public class MyPresenter : Presenter<MyModel, MyView> {
protected override void Bind() {
model.health.OnChanged += view.SetHealth;
}
}
适用场景
对于复杂 UI(背包、技能树、设置)或逻辑与视觉呈现可能独立变化的高层游戏管理器,请使用此模式。
评论
支持 Markdown