当前位置:网站首页>事件管理之一
事件管理之一
2022-04-23 06:27:00 【老少年】
public enum EUIMgrEvent
{
onUILogInOpend,
onUILogInClose,
onUIHintOpend,
onUIHintClose,
onUIWorkOpend,
onUIWorkClose,
onUIShopOpend,
onUIShopClose
}
先创建几个事件类型,然后对事件类型进行添加,触发,删除等操作..........
1.创建字典保存事件
Dictionary<EUIMgrEvent, Action<object, object[]>> _phList = new Dictionary<EUIMgrEvent, Action<object, object[]>>();
2.添加事件
public void addEventHandler(EUIMgrEvent eventID,Action<object, object[]> handler)
{
if (_phList == null) return;
if (_phList.ContainsKey(eventID))
{
Debug.LogError(string.Format("error: event[ {0} ] already exists", eventID));
return;
}
_phList[eventID] = handler;
}
3.删除事件
public void delEventHandler(EUIMgrEvent eventID)
{
if (_phList == null) return;
if (!_phList.ContainsKey(eventID))
{
Debug.LogError(string.Format("error: event[ {0} ] not exists", eventID));
return;
}
_phList.Remove(eventID);
}
4.触发事件
public void fireEvent(EUIMgrEvent eventID,object sender ,object[] args)
{
if (_phList == null) return;
if (!_phList.ContainsKey(eventID)){
return;
}
var action = _phList[eventID];
if (action == null) return;
action(sender, args);
}
5.重置事件系统
public void Reset()
{
if (_phList == null) return;
_phList.Clear();
_phList = null;
}
版权声明
本文为[老少年]所创,转载请带上原文链接,感谢
https://blog.csdn.net/laoshaonian/article/details/89315914
边栏推荐
- 王者荣耀-unity学习之旅
- Reflection on the systematic design of Android audio and video caching mechanism
- Hot change scheme and dynamic update strategy of mobile game
- 3. Sort statement
- 对复杂字典Dictionary&lt;T1,T2&gt;排序问题
- 移动Web(字体图标、平面转换、颜色渐变)
- SAP pi / PO rfc2restful publishing RFC interface is a restful example (proxy indirect method)
- 反思 | Android 音视频缓存机制的系统性设计
- js之作用域、作用域链、全局变量和局部变量
- ABAP CDS VIEW WITH ASSOCIATION示例
猜你喜欢
随机推荐
2. Restricted query
14. Transaction processing
Learn to use search engines
层次输出二叉树
系统与软件安全研究(四)
C# 文本文件的查找及替换(WinForm)
【自我激励系列】到底是什么真正阻碍了你?
SAP DEBUG调试FOR IN、REDUCE等复杂的语句
SAP RFC_CVI_EI_INBOUND_MAIN BP主数据创建示例(仅演示客户)
What are the total number of all courses of Mr. Tang Xiaoyang, who is very popular in CSDN (question mark)
SAP pi / PO rfc2soap publishes RFC interface as WS example
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
Design optimization of MySQL database
Ogldev reading notes
利用网页表格导出EXCEL表格加线框及表格内部间距的问题
Two threads print odd and even numbers interactively
防抖和节流
The page displays the current time in real time
将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)
学会使用搜索引擎