何为观察者模式,大家都比较形象的例子,和报纸的订阅差不多,订阅者就属于观察者,我想要订阅报纸了,然后就像报刊社订阅报纸,然后每天都有邮递员向您这送报纸,不想订阅了,就自己取消,然后第二天就不会有人给你送报纸。我们来利用Delegate实现一个简单的观察着模式.
创建一个消息封装体Class,用来传递需要的消息
using System;
using UnityEngine;
namespace UniEventDispatcher{
//时间分发着
public class Notification
{
public GameObject m_sender;
public object m_param;
public Notification (GameObject sender,object param)
{
m_sender = sender;
m_param = param;
}
public Notification (object param)
{
m_sender = null;
m_param = param;
}
public string getSring()
{
return string.Format("sender = {0},param = {1}",m_sender,m_param);
}
}
}
创建一个单例的主题。