NotificationCenter封装了Unity3D的Message机制,直接将 NotificationCenter.cs 脚本拖到项目中就可以用了,
我们建立三个游戏对像A ,B,C,然后分别赋予它们脚本AS,BS,CS,这三个脚本中的内容如下AS BS CS:
void start()
{
NotificationCenter.DefaultCenter.AddObserver(this,"AreYouOk");
}
void AreYouOk()
{
Debug.Log("i am Ok --->" + transform.name);
}
然后再建立一个脚本Caller.cs
void Start()
{
NotificationCenter.DefaultCenter.PostNotification(this,"AreYouOk");
}
建立一个游戏对象,并将Caller.cs赋予之,
现在运行游戏,Console中打印中三条信息,分别是
i am ok ---> A
i am ok ---> B
i am ok ---> C
NotificationCenter.DefaultCenter.AddObserver(this,"AreYouOk");
意思是添加一个监听,我的理解是监听本代码文件中的AreYouOk函数,
当有一个脚本PostNotification的时候,所有的监听者都会得到Post,然后调用自己脚本中相应的函数