Interface EventDispatcherContext<EventType extends Enum<EventType>,Target,E extends Event<EventType,? super Target>>

All Known Subinterfaces:
EventDispatcherProvider<EventType,Target,E>
All Known Implementing Classes:
AssetPoolEventDispatcher, Entity, EventDispatcher, Node, NodeEventDispatcher, SimpleEventDispatcher

@ContextOf(EventDispatcher.class) public interface EventDispatcherContext<EventType extends Enum<EventType>,Target,E extends Event<EventType,? super Target>>
  • Method Details

    • on

      default EventListener<E> on(EventType eventType, EventListener<E> listener)
    • off

      default void off(EventType eventType, EventListener<E> listener)
    • once

      default EventListener<E> once(EventType eventType, EventListener<E> listener)
      Equivalent of addListener(Enum, EventListener, boolean), where the last argument is true.
    • addTargetedListener

      default EventListener<E> addTargetedListener(EventType eventType, Target target, EventListener<E> listener)
      Adds a listener that only listens to events of a given type with the given target.
      Parameters:
      eventType - The type of event to listen to
      target - The target of the event
      listener - The listener that handles events with the given target
      Returns:
      The targeted listener that was added.
    • addListener

      default EventListener<E> addListener(EventType eventType, EventListener<E> listener, boolean once)
      Adds a listener that listens to a given type of event.

      Unicity is not required. If a listener is added multiple times, it will be called multiple times per event.

      Parameters:
      eventType - The type of event to listen to
      listener - The listener to add
      once - When set to true, the event listener will be removed after the first event of the given type
      Returns:
      The listener that was added.
    • addListener

      EventListener<E> addListener(EventType eventType, EventListener<E> listener)
      Adds a listener that listens to a given type of event.

      Unicity is not required. If a listener is added multiple times, it will be called multiple times per event.

      Parameters:
      eventType - The type of event to listen to
      listener - The listener to add
      Returns:
      The listener that was added.
    • removeListener

      void removeListener(EventType eventType, EventListener<E> listener)
      Removes a listener that was listening to a given type of event.
      Parameters:
      eventType - The type of event that was being listened to
      listener - The listener to remove
    • invoke

      void invoke(EventType eventType, Target target)
      Invokes the event of a given type with a given target.
      Parameters:
      eventType - The type of event to invoke
      target - The target of the event