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

Unity中消息事件的封装与运用

2016-01-07 00:37 302 查看
大家在开发Unity的时候,为了方便开发一般都会采用消息事件,消息事件主要是做啥的?我们如何去封装,如何去运用消息事件处理事情。接下来就给大家介绍一下:

消息事件顾名思义,是通过消息触发的事件。比如大家去完成某个任务,完成后才会触发另一个事件的发生,这种情况我们就会使用消息事件等等吧。

消息事件的使用主要是通过添加消息监听,然后分发消息处理事情。

那我们如何去封装我们的消息系统,在这里我把代码给大家分享一下:

首先我们定义一个消息枚举类型脚本CEventType.cs内容如下:





接下来封装消息事件的基类CBaseEvent.cs













以上是消息基类的定义。那接下来就是封装对外使用的消息接口了。









整个消息事件就完成了,接下来我们介绍如何使用消息事件,举例如下:

比如我们需要接收到数据后,开始加载资源。如果不使用事件系统,我们要每帧都要去监听,而如果我们使用消息事件,我们可以这样写:

可以在Start函数里监听:

void Start()

{

CEventDispatcher.GetInstance().AddEventListener(CEventType.GAME_DATA, LoadData);

}

AddEventListener函数里面第一个参数是其枚举类型,后面是需要调用的函数

这样写:

public void LoadData(CBaseEvent evt)

{

//处理加载数据的逻辑

}

写完监听函数后,事情还没完事,大家可能要问,如何触发这个监听函数,这就需要我们接下来继续操作。

可以在另一个函数里面,这个函数可以不在监听所在的类里,可以在其他类,比如我们在另一个类里写触发函数:

void BeginGame()

{

//处理逻辑

CEventDispatcher.GetInstance().DIspatchEvent(new CBaseEvent(CEvent.GAME_DATA, null));

}

以上就完成了消息事件的监听和分发。方便大家开发,欢迎大家来讨论学习。

本文出自 “海游移动” 博客,请务必保留此出处/article/4237424.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: