关于 unity-observer-pattern
Unity Observer Pattern (Reactive Properties) 将普通变量封装为可观察属性,供 Unity 项目使用。它同时支持 C# 监听器和 UnityEvents,并提供 Inspector 配置及可保存到场景、Prefab 的编辑模式连接。
主要功能
- 01支持 C# 监听器和 UnityEvents
- 02可观察值的隐式转换
- 03通过 Inspector 配置事件
- 04编辑模式持久化事件连接
- 05结构化事件流日志
适用场景
- 01值变化时通知 UI 方法
- 02在 C# 代码中订阅属性变化
- 03将事件连接保存到场景或 Prefab
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ muharremtozan/ unity-agent-skills --skill unity-observer-pattern安装后在 Claude Code 中输入/unity-observer-pattern确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/code/Observable.cs.txtObservableEditorTools.cs.txtObservableExample.cs.txtreferences/guide.md详细介绍
Unity 观察者模式(响应式属性)
一种强大的观察者模式实现,可将标准变量转变为“智能属性”。基于“Generic Observer”架构,提供完整的 Inspector 支持和编辑模式工具。
核心功能
- 混合路径:既支持标准 C# 监听器(专业路径),也支持 UnityEvents(设计者/轻量路径)。
- 隐式转换:语法简洁流畅,可直接使用
int x = myObservableInt;(无需再写.Value)。 - 编辑器持久化:在编辑模式下通过代码绑定持久化调用,并将其保存到场景/预制件中。
- 诊断日志:内置结构化日志,用于追踪事件流。
核心文件(最多 3 个)
Observable.cs.txt:核心泛型包装器,支持隐式转换和内置编辑器绑定。ObservableEditorTools.cs.txt:用于清除持久化 UnityEvents 的高级反射技巧。ObservableExample.cs.txt:具体示例,演示 UI 绑定和生命周期管理。
用法
选项 A:轻量路径(Inspector)
- 定义字段:
public Observable<int> health;。 - 在 Unity Inspector 中,将 UI 方法拖到
On Value Changed列表中。
选项 B:专业路径(代码)
health.AddListener( val => Debug.Log( val ) );
health.Value = 50; // Automatically triggers notification
选项 C:隐式用法
int currentHealth = health; // Works automatically via implicit operator
清理
始终在 OnDisable 中调用 RemoveListener 或 Dispose,以防止内存泄漏。
评论
支持 Markdown