- 委托(delegate)
event / Action 的底层实现,适用性最广。 - 事件(event / UnityEvent)
对委托的封装,受限制的委托。具体表现为:
(1)定义事件的类中,才可以进行 =null / Invoke() 操作。
(2)外部类可以进行 += / -= 操作,但不能进行 =null / Invoke() 操作。 - Action / Function
Action:无参数无返回值的委托,相当于一个语法糖(定义无参数无返回值的委托时,如果懒的取名字就用它)。
Func:与 Action 类似,但是可以有返回值。
- UnityEvent / UnityAction
UnityEvent:Unity 封装事件(好处是脚本挂载到对象后可在 Inspector 面板添加处理函数)
- 参考文档
委托与事件