mcpField
U
unity-mvc-pattern

unity-mvc-pattern

github.com/muharremtozan开发1755 次安装22 周前更新
代码仓库

关于 unity-mvc-pattern

面向 Unity 开发者的 MVC/MVP 架构技能,用于分离游戏数据、视觉呈现和逻辑。提供可观察集合、被动 View、Presenter 生命周期绑定,以及 MMO 快捷栏示例。

主要功能

  1. 01ObservableList 变更通知
  2. 02被动式 MonoBehaviour View
  3. 03由 Presenter 协调绑定
  4. 04MMO 快捷栏示例

适用场景

  1. 01构建物品栏界面
  2. 02实现技能树或设置界面
  3. 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.txt
MMOHotbarExample.cs.txt
ObservableList.cs.txt

详细介绍

Unity MVC / MVP 模式

此技能实现了“关注点分离”这一架构原则。它将代码划分为三个独立层:模型(数据)、视图(视觉呈现)和 Presenter(逻辑桥梁)。

核心特性

  1. ObservableList:一个响应式集合,在数据变更时通知监听者(视图)。
  2. 被动视图:视图是 MonoBehaviour,只关心如何显示数据,而不关心数据来自何处。
  3. 中介逻辑:Presenter 负责处理“连接”和生命周期,让数据与视觉呈现完全解耦。
  4. 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