您的位置:首页 > 移动开发 > Unity3D

基于Unity的多线程之间的事件派发

2014-01-05 02:42 316 查看
用unity做网游的同学应该不少,其中一个很蛋疼的问题就是主线程中尤其是UI部分很多实例都是不允许子线程修改的,那么我们就只有想办法把这些子线程里的数据缓存起来,让主线程自己拿着这些数据该干嘛干嘛去。

废话少说,先上源码。

使用方法很简单,在随便哪个Monobehaviour脚本里的Update函数里调用EventDispatcher.Instance().OnTick();就可以了。

例:

需要派发事件时:

eventValue可以是任何类型的数据。

在需要的地方监听事件:

其中EventCallback是一个参数为EventBase的函数:

进阶用法:

细心的同学应该发现了,EventDispatcher类的最下面有个ChatEvent,

调用

在监听函数里

酱紫,就可以很方便取出自定义的事件中的多个参数了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: