IEventDispatcher.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * 事件分发者
  3. */
  4. export default interface IEventDispatcher{
  5. /**
  6. * 添加事件
  7. * @param key
  8. * @param caller
  9. * @param func
  10. * @param priority 优先级 数字越小优先级越高
  11. */
  12. AddEvent(key:string,caller:any,func:Function,priority?:number):void;
  13. /**
  14. * 删除事件监听
  15. * @param key
  16. * @param caller
  17. * @param func
  18. */
  19. RemoveEvent(key:string,caller:any,func:Function):void;
  20. /**
  21. * 删除指定对象所有的事件处理
  22. * @param caller
  23. */
  24. RemoveEventByCaller(caller:any):void;
  25. /**
  26. * 删除所有事件监听
  27. */
  28. RemoveAllEvent():void;
  29. /**
  30. * 派发事件
  31. * @param key
  32. * @param data
  33. */
  34. DispatchEvent(key:string,data?:any):void;
  35. /**
  36. * 是否有事件监听
  37. * @param key
  38. */
  39. HasEvent(key:string):boolean;
  40. /**
  41. * 是否包含指定函数事件监听
  42. * @param key
  43. * @param caller
  44. * @param func
  45. */
  46. HasEventHandler(key:string,caller:any,func:Function):boolean;
  47. }