事件系统是一个软件中的核心组成部分,是一个软件系统的底层支持模块。今天我们就来讲一讲Cocos的事件分发是如何做的。
所谓的事件,指的是当一个程序逻辑完成后,需要触发的逻辑。与一般的模块直接调用相比,事件可以不依赖于事件响应者的实现而预先定义一组事件类型,甚至可以在响应事件的时候动态添加事件或移除,大大增强了程序逻辑的灵活性。事件分发的逻辑一般是采用订阅者模式实现的。
如图,系统中会有一个统一的调度中心负责事件的收发,订阅者订阅相应的事件,由调度中心存储;当发布者发送事件时,调度中心会查找所有订阅了该事件的订阅者,并按照一定顺序依次调用订阅者的响应函数。Cocos也是采用了这种逻辑。
原文:https://www.cnblogs.com/wickedpriest/p/12240573.html