Unity3D NotificationCenter

来源:互联网 发布:ubuntu 17.10 qq 编辑:程序博客网 时间:2024/05/24 06:50

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,然后调用自己脚本中相应的函数


原创粉丝点击