关于 unity-event-bus
unity-event-bus 为 Unity 开发者提供类型安全的消息中心,用于解耦系统。它采用泛型事件分发和自动初始化,并包含 Play Mode 编辑器安全处理。
主要功能
- 01自动发现并初始化事件
- 02O(1) 泛型事件分发
- 03结构体消息避免运行时分配
- 04退出 Play Mode 时清除静态绑定
适用场景
- 01使用类型化事件消息解耦系统
- 02分发结构体事件并避免运行时垃圾回收
- 03避免 Play Mode 会话间残留静态绑定
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ muharremtozan/ unity-agent-skills --skill unity-event-bus安装后在 Claude Code 中输入/unity-event-bus确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/code/EventBusBootstrapper.cs.txtEventBusCore.cs.txtEventBusExample.cs.txtassets/docs/Checklist.md.txtreferences/guide.md详细介绍
Unity 高级事件总线
此技能为 Unity 项目提供高性能、类型安全的消息中心,适合希望解耦系统且不想承担基于 ScriptableObject 的事件通道开销的开发者。
核心功能
- 反射引导:自动查找所有事件,并在游戏加载时初始化总线。
- 泛型性能:使用静态泛型索引,实现 O(1) 的事件分发性能。
- 零分配:针对结构体进行优化,确保消息不会产生运行时垃圾回收。
- 编辑器安全:退出 Play Mode 时自动清除所有静态绑定,避免编辑器内存泄漏。
核心文件(最多 3 个)
EventBusCore.cs.txt:基础接口和静态泛型总线中心。EventBusBootstrapper.cs.txt:Unity 专用的自动初始化和程序集扫描。EventBusExample.cs.txt:玩家和系统事件的实际实现示例。
用法
定义一个 struct : IEvent,创建一个 EventBinding<T>,并在 OnEnable 中注册。使用 EventBus<T>.Raise() 可在任何位置触发事件。
评论
支持 Markdown