/** * 事件分发者 */ export default interface IEventDispatcher{ /** * 添加事件 * @param key * @param caller * @param func * @param priority 优先级 数字越小优先级越高 */ AddEvent(key:string,caller:any,func:Function,priority?:number):void; /** * 删除事件监听 * @param key * @param caller * @param func */ RemoveEvent(key:string,caller:any,func:Function):void; /** * 删除指定对象所有的事件处理 * @param caller */ RemoveEventByCaller(caller:any):void; /** * 删除所有事件监听 */ RemoveAllEvent():void; /** * 派发事件 * @param key * @param data */ DispatchEvent(key:string,data?:any):void; /** * 是否有事件监听 * @param key */ HasEvent(key:string):boolean; /** * 是否包含指定函数事件监听 * @param key * @param caller * @param func */ HasEventHandler(key:string,caller:any,func:Function):boolean; }