mcpField
U
unity-event-bus

unity-event-bus

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

关于 unity-event-bus

unity-event-bus 为 Unity 开发者提供类型安全的消息中心,用于解耦系统。它采用泛型事件分发和自动初始化,并包含 Play Mode 编辑器安全处理。

主要功能

  1. 01自动发现并初始化事件
  2. 02O(1) 泛型事件分发
  3. 03结构体消息避免运行时分配
  4. 04退出 Play Mode 时清除静态绑定

适用场景

  1. 01使用类型化事件消息解耦系统
  2. 02分发结构体事件并避免运行时垃圾回收
  3. 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.txt
EventBusCore.cs.txt
EventBusExample.cs.txt
assets/docs/
Checklist.md.txt
references/
guide.md

详细介绍

Unity 高级事件总线

此技能为 Unity 项目提供高性能、类型安全的消息中心,适合希望解耦系统且不想承担基于 ScriptableObject 的事件通道开销的开发者。

核心功能

  1. 反射引导:自动查找所有事件,并在游戏加载时初始化总线。
  2. 泛型性能:使用静态泛型索引,实现 O(1) 的事件分发性能。
  3. 零分配:针对结构体进行优化,确保消息不会产生运行时垃圾回收。
  4. 编辑器安全:退出 Play Mode 时自动清除所有静态绑定,避免编辑器内存泄漏。

核心文件(最多 3 个)

  • EventBusCore.cs.txt:基础接口和静态泛型总线中心。
  • EventBusBootstrapper.cs.txt:Unity 专用的自动初始化和程序集扫描。
  • EventBusExample.cs.txt:玩家和系统事件的实际实现示例。

用法

定义一个 struct : IEvent,创建一个 EventBinding<T>,并在 OnEnable 中注册。使用 EventBus<T>.Raise() 可在任何位置触发事件。

评论

支持 Markdown