hytopia
Version:
The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.
364 lines (158 loc) • 4.62 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [server](./server.md) > [EventRouter](./server.eventrouter.md)
## EventRouter class
Routes events to listeners in local, world, or global scope.
When to use: event-driven hooks within server subsystems. Do NOT use for: high-frequency per-entity updates; prefer direct method calls for hot paths.
**Signature:**
```typescript
export default class EventRouter
```
## Remarks
Provides local emission, world-scoped emission, and a shared global instance. Pattern: use `EventRouter.emitWithWorld()` for world-scoped events and `final()` to install a single terminal listener. Anti-pattern: installing multiple final listeners for the same event type; only one is supported.
\*\*Category:\*\* Events
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[globalInstance](./server.eventrouter.globalinstance.md)
</td><td>
`static`
`readonly`
</td><td>
[EventRouter](./server.eventrouter.md)
</td><td>
The global event router instance.
\*\*Category:\*\* Events
</td></tr>
</tbody></table>
## Methods
<table><thead><tr><th>
Method
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[emit(eventType, payload)](./server.eventrouter.emit.md)
</td><td>
</td><td>
Emit an event, invoking all registered listeners for the event type.
</td></tr>
<tr><td>
[emit(eventType, payload)](./server.eventrouter.emit_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[emitWithGlobal(eventType, payload)](./server.eventrouter.emitwithglobal.md)
</td><td>
</td><td>
Emits an event to the local and global server instance event routers.
</td></tr>
<tr><td>
[emitWithGlobal(eventType, payload)](./server.eventrouter.emitwithglobal_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[emitWithWorld(world, eventType, payload)](./server.eventrouter.emitwithworld.md)
</td><td>
</td><td>
Emits an event to local and provided world event routers.
</td></tr>
<tr><td>
[emitWithWorld(world, eventType, payload)](./server.eventrouter.emitwithworld_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[final(eventType, listener)](./server.eventrouter.final_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[hasListeners(eventType)](./server.eventrouter.haslisteners.md)
</td><td>
</td><td>
Check if there are listeners for a specific event type.
</td></tr>
<tr><td>
[hasListeners(eventType)](./server.eventrouter.haslisteners_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[listenerCount(eventType)](./server.eventrouter.listenercount.md)
</td><td>
</td><td>
Get the number of listeners for a specific event type.
</td></tr>
<tr><td>
[listenerCount(eventType)](./server.eventrouter.listenercount_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[listeners(eventType)](./server.eventrouter.listeners.md)
</td><td>
</td><td>
Get all listeners for a specific event type.
</td></tr>
<tr><td>
[listeners(eventType)](./server.eventrouter.listeners_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[off(eventType, listener)](./server.eventrouter.off.md)
</td><td>
</td><td>
Remove a listener for a specific event type.
</td></tr>
<tr><td>
[off(eventType, listener)](./server.eventrouter.off_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[offAll(eventType)](./server.eventrouter.offall.md)
</td><td>
</td><td>
Remove all listeners or all listeners for a provided event type.
</td></tr>
<tr><td>
[offAll(eventType)](./server.eventrouter.offall_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[on(eventType, listener)](./server.eventrouter.on.md)
</td><td>
</td><td>
Register a listener for a specific event type.
</td></tr>
<tr><td>
[on(eventType, listener)](./server.eventrouter.on_1.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[once(eventType, listener)](./server.eventrouter.once.md)
</td><td>
</td><td>
Register a listener for a specific event type that will be invoked once.
</td></tr>
<tr><td>
[once(eventType, listener)](./server.eventrouter.once_1.md)
</td><td>
</td><td>
</td></tr>
</tbody></table>