前言
事件系统主要的作用就是便于消息事件的触发、监听、销毁啥的,解耦合,配合对象池,事件也可以复用。
构成
构成脚本就两部分
EventModule
主要是事件系统系统的内部实现。
1.设定一个总的IEventInfo事件消息的数据类,无参的EventInfo数据类和有参的MultipleParameterEventInfo数据类同时实现了IEventInfo接口,有参的MultipleParameterEventInfo的泛型参数用的是多播委托,所以可以同时支持多个参数的。
2.添加事件的监听的方法AddEventListener,包括无参,一个参数和多个参数的方法。添加成功后也放到字典中保存,便于复用。
3.触发事件的方法EventTrigger,包括无参,一个参数和多个参数的方法。直接用action.Invoke取触发。
4.取消事件监听的方法RemoveEventListener,也包括无参,一个参数和多个参数的方法。
5。删除事件,包括删除某个事件,或者是删除全部事件。
EventSystem
主要负责外部调用的接口。
方法的内部实现就是直接调用的EventModule的方法,也包括以下几个方面:
1.添加无参事件,多参数事件。
2.触发事件,触发多参数事件。
3.取消事件的监听,无参数和多参数的。
4.移除事件,移除某个事件,事件全部移除。
总结
把event统一管理,也依赖框架里面的对象池系统,对事件的所有操作,都是依赖于事件的string类型参数。