Send Message 机制
Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种伪监听者模式,利用的是反射机制。
关于消息推送,常用的函数有三个:SendMessage
、SendMessageUpwards
、BroadcastMessage
。这些函数都是 GameObject
或者Component 的成员函数,只要得到一个对象,然后调用它的这三个函数就可以进行一个消息的推送。
SendMessage
: 调用此游戏对象中的每个 MonoBehaviour
上名为 methodName
的方法。注意,不会将消息发送到非活动对象
SendMessageUpwards
: 调用此游戏对象中的每个 MonoBehaviour
上或此行为的每个父级上名为 methodName
的方法。
BroadcastMessage
: 调用此游戏对象或其任何子项中的每个 MonoBehaviour
上名为 methodName
的方法。
不会将消息发送到非活动对象。当unity脚本中的方法为静态方法时,这个方法无效,所以只能调用非静态的方法
Unity Event 机制
与 UGUI 事件机制相同,通过注册和移除监听者,可以在 Inspector 面板中设置相关方法。
C Sharp Event 机制
使用 C Sharp 的 event。