using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
/// <summary>
/// 发送消息的类
/// </summary>
public class MesageInfo
{
public ArrayList Alist;
public MesageInfo(ArrayList alist)
{
Alist = alist;
}
}
/// <summary>
/// 通知中心
/// </summary>
public class NotificationCenter : SingletonClass<NotificationCenter>
{
//定义字典管理消息及行为
private Dictionary<string, Action<MesageInfo>> NotiDic = new Dictionary<string, Action<MesageInfo>>();
/// <summary>
/// 注册成为观察者
/// </summary>
/// <param name="name命令"></param>
/// <param name="action行为动作"></param>
public void RegistObserver(string name, Action<MesageInfo> action)
{
if (NotiDic.ContainsKey(name))
{
NotiDic[name] += action;
}
else
{
NotiDic.Add(name, action);
}
}
/// <summary>
/// 移除观察者
/// </summary>
/// <param name="name"></param>
/// <param name="action"></param>
public void RemoveObserver(string name, Action<MesageInfo> action)
{
if (NotiDic.ContainsKey(name))
{
NotiDic[name] -= action;
if (NotiDic[name] == null)
{
NotiDic.Remove(name);
}
}
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="name命令"></param>
/// <param name="mesage消息"></param>
public void SendNotification(string mesagename, MesageInfo mesageinfo)
{
if (NotiDic.ContainsKey(mesagename))
{
NotiDic[mesagename](mesageinfo);
}
}
}
发送委托信息
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近开发的项目有用到Asyncsocket框架进行TCP通信,遇到了关于如何将socket接收的信息准确发送给请求...
- 图片和音频文件发送的基本思路就是: 先将图片转化成二进制文件,然后将二进制文件进行base64编码,编码后成字符串...
- 今天下班回来后,把包放到凳子上,换鞋。呼啦一生,包掉到地上,里面的东西撒了一地。 没有比这让人感受更糟糕的事情了,...