Common(五)—— 消息系统(二):如何使用
2017-09-16 15:26
92 查看
这一篇来看看怎么用这个EventCenter
首先是一个测试脚本,把它挂到一个空对象上面去即可:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestEventScript : MonoBehaviour { // Use this for initialization void Start () { //这里先添加监听 EventCenter.AddListener (EGameEvent.eGameEvent_UpLv, Test); } // Update is called once per frame void Update () { } void OnDestroy() { //有添加就肯定有销毁 EventCenter.RemoveListener (EGameEvent.eGameEvent_UpLv, Test); } public void Test () { Debug.Log ("没有参数的监听!!!"); } }
然后再场景中创建一个button(button总会用吧),绑定它的点击事件:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ButtonClick : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void ClickButton() { //事件分发 EventCenter.Broadcast (EGameEvent.eGameEvent_UpLv); } }
运行结果:
接下来是传递一个参数的用法:
//这里先添加监听 EventCenter.AddListener<string> (EGameEvent.eGameEvent_UpLv, Test<string>); //有添加就肯定有销毁 EventCenter.RemoveListener<string> (EGameEvent.eGameEvent_UpLv, Test<string>); public void Test<T> (T str1) { Debug.Log ("str1: " + str1); } public void ClickButton() { //事件分发 EventCenter.Broadcast<string> (EGameEvent.eGameEvent_UpLv, str1); }
运行结果:
接下来是传递两个参数的方法:
//这里先添加监听 EventCenter.AddListener<string, int> (EGameEvent.eGameEvent_UpLv, Test<string, int>); //有添加就肯定有销毁 EventCenter.RemoveListener<string, int> (EGameEvent.eGameEvent_UpLv, Test<string, int>); public void Test<T, U> (T str1, U integer2) { Debug.Log ("str1: " + str1 + " " + "integer2:" + integer2.ToString()); } public void ClickButton() { //事件分发 EventCenter.Broadcast<string, int> (EGameEvent.eGameEvent_UpLv, str1, integer2); }
运行结果:
接下来三个参数,四个参数应该也没问题了。
相关文章推荐
- [转]如何使用消息系统避免分布式事务?
- 使用消息系统进行微服务间通讯时,如何保证数据一致性
- 如何使用Netty技术设计一个百万级的消息推送系统
- 交易系统使用storm,在消息高可靠情况下,如何避免消息重复
- 如何使用Qomo的Builder系统
- 使用xmlhttp和Java session监听改善站内消息系统(转)
- Windows系统消息大全使用详细介绍
- 如何让您的新系统使用已存在的认证中心的账户
- VC中如何使用自定义消息?
- 视频捕获 之 如何使用系统设备枚举器
- 介绍一个关于如何使用vs2005构建三层系统的教程
- 如何替换一个当前正被系统使用的系统文件?
- 如何使用Qomo的Builder系统
- 如何获取错误消息说明使用 FormatMessage API
- 如何使用 Convert.exe 将分区转换为 NTFS 文件系统
- 在Linux中如何提高文件系统的使用效率
- 如何使用系统蜂鸣器
- 使用xmlhttp和Java session监听改善站内消息系统
- 如何在嵌入式系统中使用C库(SDT开发环境)
- 系统环境变量与注册表及.net中如何使用系统环境变量