| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
借鉴了下的EventBus。对于订阅方,只需要实现事件处理方法后,调用一下订阅方法就可以了。对于发送方,打包好对象,直接发送就行。过程十分简单便捷
特性有如下几种:
普通事件:
主线程事件:
例子如下:
[Subscriber(CallbackPriority = 99)]
public void Rec4(EventBB e)
{
Debug.Log("BB 优先级99,普通订阅事件, 变量a:" + e.a);
}
[SubscriberMain(CallbackPriority = 30, CallbackExecuteType = ExecuteType.UPDATE)]
public void recm2(EventBB e)
{
Debug.Log("BB 优先级30,在update里调用此条事件,变量:a" + e.a);
}
[SubscriberMain(CallbackPriority = 95, CallbackExecuteType = ExecuteType.FIXEDUPDATE)]
public void recf3(EventBB e)
{
Debug.Log("BB 优先级95,在fixedupdate里调用此条事件 变量:a" + e.a);
}
例子如下:
UnityEventBus.Register(this);
例子如下:
var bus = UnityEventBus.Instance; EventAA e = new EventAA(); EventBB e2 = new EventBB(); e.a = 10; e2.a = 20; bus.PostEvent(e);//同步发送事件(对主线程事件类型的回调无作用) bus.PostEventAsync(e2); //异步发送事件(对主线程事件类型的回调无作用)
例子如下:
UnityEventBus.Unregister(this, typeof(EventAA)); //取消注册的普通事件 UnityEventBus.UnregisterMainThread(this, typeof(EventAA));//取消主线程事件 UnityEventBus.UnregisterAll(this, typeof(EventAA));//取消所有事件
| Back | FazBrowse Home | New Git URL |