Unity Delegate Event
2015-09-16 14:31
344 查看
//******************************************************************** // 文件名: DelegateTest.cs // 描述: 玩家 // 作者: 李伟 // 创建时间: 2015-09-16 // //******************************************************************** using UnityEngine; using System.Collections; using System; public delegate void DoHurt(); /// <summary> /// 委托事件模式,就是监听者模式的实现。 /// 一句话解释就是:“我对这个感兴趣,你变化的时候通知我一声,我就不实时关注了”。 /// </summary> public class DelegateTest : MonoBehaviour { void Start() { AddDoHurtEvent(myHurt001); AddDoHurtEvent(myhurt002); AddDoHurtEvent(myhurt003); OnDoHurtEvent(); RemoveDoHurtEvent(myhurt002); OnDoHurtEvent(); } /// <summary> /// 定义一个DoHurt的事件 /// </summary> private event DoHurt DoHurtEventHanlde; /// <summary> /// 执行事件 /// </summary> void OnDoHurtEvent() { if (DoHurtEventHanlde != null) DoHurtEventHanlde(); } /// <summary> /// 添加事件 /// </summary> /// <param name="doHurt"></param> void AddDoHurtEvent(DoHurt doHurt) { DoHurtEventHanlde += doHurt; } /// <summary> /// 移除事件 /// </summary> /// <param name="doHurt"></param> void RemoveDoHurtEvent(DoHurt doHurt) { DoHurtEventHanlde -= doHurt; } public void myHurt001() { Debug.Log("调用1"); } public void myhurt002() { Debug.Log("调用2"); } public void myhurt003() { Debug.Log("调用3"); } }
相关文章推荐
- Toggle开关
- Unity3d 引擎原理详细介绍、Unity3D引擎架构设计
- Unity3D之游戏架构脚本该如何来写
- Unity3D技术之游戏框架设计
- Unity3D研究:Unity3D引擎架构设计
- C# For Unity 编程笔记(委托)
- Unity3D教程宝典之 FX Maker
- FingerGestures研究院之初探Unity手势操作(一)
- Unity笔记 UGUI (画布 锚点 事件 遮罩 )
- unity3d从streamingassets拷贝到persistentassets
- Unity 3D引擎:十大最火的插件推荐
- Unity+NGUI性能优化方法总结
- 【Unity3D_常用模块】 MiniMap 小地图
- 发个招聘贴,魔都求手游C++后端,UNITY前端,开发实习生
- Unity3d Shader FX/Flare
- unity5+Vuforia SDK5实现高通AR在unity下的环境构建
- Unity物理引擎:关节简介(角色关节)
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
- Unity3D在Mac OS X中如何打开两个窗口
- Unity物理引擎:关节简介(弹簧关节)