事件
GameFrameX 的 Event 游戏事件系统的组件
Event 游戏事件系统的组件 (Event Component) - 提供游戏事件系统的组件相关的接口。用于管理游戏事件的订阅与派发。
功能
- 事件订阅与取消订阅: 允许你根据事件ID来订阅或取消订阅事件处理回调函数。
- 事件派发: 提供了线程安全的事件派发方法
Fire
,即使在非主线程也能保证在主线程回调事件处理函数,以及立即派发的方法FireNow
。 - 处理函数统计: 可以获取当前已订阅的事件处理函数数量和事件数量。
- 默认事件处理函数设置: 允许设置默认事件处理函数来捕获未明确订阅的事件。
使用方法
获取事件数量和事件处理函数的数量:
csharpint eventHandlerCount = eventComponent.EventHandlerCount; int eventCount = eventComponent.EventCount;
订阅事件:
csharpeventComponent.Subscribe("game_start", OnGameStart);
其中
OnGameStart
是遵循EventHandler<GameEventArgs>
委托的方法。取消订阅事件:
csharpeventComponent.Unsubscribe("game_start", OnGameStart);
抛出事件:
线程安全的方式(在下一帧分发):
csharpeventComponent.Fire(this, new GameEventArgs());
立即模式(立刻分发):
csharpeventComponent.FireNow(this, new GameEventArgs());
设置默认事件处理函数:
csharpeventComponent.SetDefaultHandler(OnDefaultEvent);
其中
OnDefaultEvent
是遵循EventHandler<GameEventArgs>
委托的方法。
通过上述步骤,可以在游戏中有效地使用事件组件进行事件的订阅、取消订阅和派发,从而实现游戏中的事件驱动编程。
使用方式(任选其一)
直接在
manifest.json
的文件中的dependencies
节点下添加以下内容json{"com.gameframex.unity.event": "https://github.com/GameFrameX/com.gameframex.unity.event.git"}
在Unity 的
Packages Manager
中使用Git URL
的方式添加库,地址为:https://github.com/GameFrameX/com.gameframex.unity.event.git直接下载仓库放置到Unity 项目的
Packages
目录下。会自动加载识别