Unity程序框架总结归置系列(3)——事件中心
上一篇——Unity程序框架总结归置系列(2)——对象池
依然是话不多说,直接肝。
/// <summary>
/// 事件中心
/// </summary>
public class EventsCenter : SingleTon<EventsCenter>
{private EventsCenter(){eventsDic = new Dictionary<string, UnityAction<object>>();}private Dictionary<string, UnityAction<object>> eventsDic;/// <summary>/// 添加监听/// </summary>/// <param name="eventname"></param>/// <param name="action"></param>public void AddListener(string eventname, UnityAction<object> action){if (eventsDic.ContainsKey(eventname)){eventsDic[eventname] += action;}else{eventsDic.Add(eventname, action);}}/// <summary>/// 移除监听/// </summary>/// <param name="eventname"></param>/// <param name="action"></param>public void RemoveListener(string eventname, UnityAction<object> action){if (eventsDic.ContainsKey(eventname)){eventsDic[eventname] -= action;}}/// <summary>/// 触发/// </summary>/// <param name="name"></param>/// <param name="obj"></param>public void EventTrigger(string name, object obj){eventsDic[name]?.Invoke(obj);}/// <summary>/// 清空事件/// </summary>public void Clear(){eventsDic.Clear();}}
同样的,这是最简单的事件中心。我们在项目里用的要比这个复杂很多。但基本原理都是观察者模式,看懂这个其实再复杂的也只是对这个的补充和细化优化。
下一篇,我打算归置mono模块。
下一篇——Unity程序框架总结归置系列(4)——mono模块
Unity程序框架总结归置系列(3)——事件中心相关推荐
- Unity程序框架总结归置系列(2)——对象池
上一篇--Unity程序框架总结归置系列(1)--单例基类 该说的,上一篇也说了.话不多说,直接开肝. unity对象池模块 先直接上源码: using System.Collections.Gene ...
- Unity程序框架总结归置系列(4)——mono模块
上一篇--Unity程序框架总结归置系列(3)--事件中心 肝. 哦,这次有点不一样了,这次我们有两个脚本. 先看第一个: /// <summary> /// mono控制器,用于给没有继 ...
- Unity程序框架总结归置系列(5)——场景切换模块
上一篇--Unity程序框架总结归置系列(4)--mono模块 肝啊肝. 因为这个东西也很简单,直接上:(代码中的GameConst在下面) /// <summary> /// 场景转换模 ...
- Unity程序框架总结归置系列(1)——单例基类
写在前面的话 这个系列的博客,是博主准备用来记录总结unity开发手游要用到的最基本的公共模块,也可以说是程序框架.当然,我只会在这里给出最基本的框架版本,希望能帮助自己理清思绪,向主程靠近. 因为每 ...
- 微信小程序框架探究和解析
2019独角兽企业重金招聘Python工程师标准>>> 何为框架 你对微信小程序的技术框架了解多少? 对wepy 框架进行一系列的深入了解 微信小程序框架解析和探究 小程序组件化框架 ...
- Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1
Sharepoin学习笔记-架构系列-Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1 Sharepoint服务是Sha ...
- Unity程序基础框架__音效管理模块
音效管理模块 作用:统一管理音乐音效相关 以前处理音效播放的时候就是哪儿需要播放音效就在哪儿去添加相关的代码段,弄得项目代码不简洁,也很冗杂,为了解决这个问题,整理了一个音效管理的模块,我们在哪儿需要 ...
- Unity游戏框架学习笔记——03基于观察者模式的事件中心
Unity游戏框架学习笔记--03基于观察者模式的事件中心 基于观察者模式的事件中心 一如既往指路牌:https://www.bilibili.com/video/BV1C441117wU?p=5. ...
- Sharepoin学习笔记—架构系列—06 Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 1
Sharepoint服务是Sharepoint的重要组成,可以说Sharepoint的许多网站功能都是基于这些服务构架起来的.这里把Sharepoint服务的相关要点总结一下. 1.什么是 Share ...
最新文章
- “互联网+”谋定文物市场-国情讲坛·宗佩山:构建共享平台
- iptables 实际操作 之 规则查询 2
- 【MFC】BitBlt详解
- 《算法竞赛入门经典》 习题4-1(象棋 Xiangqi ACM ICPC Fuzhou 2011,UVa1589)——仅提供大体方法
- oracle数据库某一年的数据总量_Liunx静默安装Oracle数据库
- linux关闭远程服务器,linux – 远程主机关闭SSH连接
- python 串口_如何使用Python开发串口通讯上位机(一)
- python选课系统作业_Python 大作业4:选课系统
- 怎么把pdf的背景去掉_PDF试卷有页眉还有水印,打印出来一片花,怎么办?
- [Bzoj2049][Sdoi2008]Cave 洞穴勘测
- postman 第4节 切换环境和设置读取变量(转)
- 第三天:完善数据层(controller)真正对接数据库Mysql
- 自动驾驶 4-1 二维运动学建模Kinematic Modeling in 2D
- rs232 linux驱动程序,rs232驱动,USB-RS232驱动程序安装说明
- 23届计算机专业毕设Java选题参考
- java 计算周_java学期周数的计算,求算法
- ssoj3991: 雪人(snowman)
- excel汇总软件如何快速汇总多个表格数据
- 天创速盈:拼多多推广效果不好,哪里需要改善?
- 您应该了解的云管理知识