EventEmitterDelegate
@zylem/game-lib / events / EventEmitterDelegate
Class: EventEmitterDelegate<TEvents>
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:21
Reusable delegate for event emission and subscription. Use via composition in Game, Stage, and Entity classes.
Example
class Game {
private eventDelegate = new EventEmitterDelegate<GameEvents>();
dispatch<K extends keyof GameEvents>(event: K, payload: GameEvents[K]) {
this.eventDelegate.dispatch(event, payload);
}
}
Type Parameters
TEvents
TEvents extends Record<string, unknown>
Constructors
Constructor
new EventEmitterDelegate<
TEvents>():EventEmitterDelegate<TEvents>
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:25
Returns
EventEmitterDelegate<TEvents>
Methods
dispatch()
dispatch<
K>(event,payload):void
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:32
Dispatch an event to all listeners.
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
payload
TEvents[K]
Returns
void
dispose()
dispose():
void
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:62
Clean up all subscriptions.
Returns
void
listen()
listen<
K>(event,handler): () =>void
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:39
Subscribe to an event. Returns an unsubscribe function.
Type Parameters
K
K extends string | number | symbol
Parameters
event
K
handler
(payload) => void
Returns
() => void
listenAll()
listenAll(
handler): () =>void
Defined in: packages/game-lib/src/lib/events/event-emitter-delegate.ts:52
Subscribe to all events.
Parameters
handler
(type, payload) => void
Returns
() => void