UnityAction 、UnityEvent、 EventTrigger

UnityAction是 void的带一个参数的委托

UnityEvent是对UnityAction的封装  Addlistener相当于+=   Remove相当于-=

EventTrigger是一个实现了所有点击拖拽等等接口的组件

添加了他就等于实现了所有接口。

但是他的回调注册机制很奇怪,此类的内部有一个Entry的list

Entry是一个struct,保存两个东西,一个是事件类型的枚举,另一个是UnityEvent

类外部通过点出这个list,然后添加Entry的方式进行回调注册(可能这么实现是为了方便编辑器?)

但是他在触发事件的回调中要运行那个被注册的回调是不是就要遍历所有的Entry呢?虽然数量也不多...

强迫症患者可以考虑自己实现一个EventTrigger 把回调公开出去直接注册,但是等于会拦截掉你没有注册过的事件

所以UniRx 了解一下

猜你喜欢

转载自blog.csdn.net/zwlstc/article/details/84801147