IEventDispatcher.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. namespace DragonBones
  2. {
  3. /**
  4. * @private
  5. */
  6. public delegate void ListenerDelegate<T>(string type, T eventObject);
  7. /**
  8. * @language zh_CN
  9. * 事件接口。
  10. * @version DragonBones 4.5
  11. */
  12. public interface IEventDispatcher<T>
  13. {
  14. /**
  15. * @language zh_CN
  16. * 是否包含指定类型的事件。
  17. * @param type 事件类型。
  18. * @version DragonBones 4.5
  19. */
  20. bool HasEventListener(string type);
  21. /**
  22. * @language zh_CN
  23. * 添加事件。
  24. * @param type 事件类型。
  25. * @param listener 事件回调。
  26. * @version DragonBones 4.5
  27. */
  28. void AddEventListener(string type, ListenerDelegate<T> listener);
  29. /**
  30. * @language zh_CN
  31. * 移除事件。
  32. * @param type 事件类型。
  33. * @param listener 事件回调。
  34. * @version DragonBones 4.5
  35. */
  36. void RemoveEventListener(string type, ListenerDelegate<T> listener);
  37. /**
  38. * @private
  39. */
  40. void DispatchEvent(string type, T eventObject);
  41. void RemoveAllEventListener();
  42. }
  43. }