on<U extends WorldEvent> method

EventSubscription<T> on<U extends WorldEvent>(
  1. FutureOr<void> handler(
    1. Event<U>
    )
)

Implementation

EventSubscription<T> on<U extends WorldEvent>(
  FutureOr<void> Function(Event<U>) handler,
) {
  Future<void> wrappedHandler(Event<T> event) async {
    if (event.clientEvent is U) {
      await handler(event.castEvent<U>());
    }
  }

  _handlers.add(wrappedHandler);
  return EventSubscription<T>(this, wrappedHandler);
}