@antha/multiplayer-core 0.14.1 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -89,7 +89,7 @@ export type MultiplayerRoomControllerParams<Message extends JsonCompatibleValue>
89
89
  *
90
90
  * @default accept all connections
91
91
  */
92
- acceptConnection?: ((connectingClientId: ClientId, controller: MultiplayerRoomController<Message>) => MaybePromise<boolean>) | undefined;
92
+ acceptConnection?: ((connectingClientId: ClientId, multiplayerController: MultiplayerRoomController<Message>) => MaybePromise<boolean>) | undefined;
93
93
  }>;
94
94
  /**
95
95
  * Multiplayer mode parameters for {@link MultiplayerRoomController}.
@@ -129,30 +129,30 @@ export type MultiplayerInitParams = {
129
129
  /** If set, this will override the internal multiplayer API. */
130
130
  multiplayerApiClient: Readonly<MultiplayerApiClient>;
131
131
  }>;
132
- declare const ControllerMessageEvent_base: (new (eventInitDict: {
132
+ declare const MultiplayerControllerMessageEvent_base: (new (eventInitDict: {
133
133
  bubbles?: boolean;
134
134
  cancelable?: boolean;
135
135
  composed?: boolean;
136
136
  detail: any;
137
- }) => import("typed-event-target").TypedCustomEvent<any, "controller-message">) & Pick<{
137
+ }) => import("typed-event-target").TypedCustomEvent<any, "multiplayer-controller-message">) & Pick<{
138
138
  new (type: string, eventInitDict?: EventInit): Event;
139
139
  prototype: Event;
140
140
  readonly NONE: 0;
141
141
  readonly CAPTURING_PHASE: 1;
142
142
  readonly AT_TARGET: 2;
143
143
  readonly BUBBLING_PHASE: 3;
144
- }, "prototype" | "NONE" | "CAPTURING_PHASE" | "AT_TARGET" | "BUBBLING_PHASE"> & Pick<import("typed-event-target").TypedCustomEvent<any, "controller-message">, "type">;
144
+ }, "prototype" | "NONE" | "CAPTURING_PHASE" | "AT_TARGET" | "BUBBLING_PHASE"> & Pick<import("typed-event-target").TypedCustomEvent<any, "multiplayer-controller-message">, "type">;
145
145
  /**
146
146
  * This is fired when a room message is received.
147
147
  *
148
148
  * @category Events
149
149
  */
150
- export declare class ControllerMessageEvent<Message extends JsonCompatibleValue> extends ControllerMessageEvent_base {
150
+ export declare class MultiplayerControllerMessageEvent<Message extends JsonCompatibleValue> extends MultiplayerControllerMessageEvent_base {
151
151
  readonly sourceClientId: ClientId;
152
152
  detail: Message;
153
153
  constructor(sourceClientId: ClientId, detail: Message);
154
154
  }
155
- declare const ControllerRoomListEvent_base: (new (eventInitDict: {
155
+ declare const MultiplayerControllerRoomListEvent_base: (new (eventInitDict: {
156
156
  bubbles?: boolean;
157
157
  cancelable?: boolean;
158
158
  composed?: boolean;
@@ -167,7 +167,7 @@ declare const ControllerRoomListEvent_base: (new (eventInitDict: {
167
167
  roomName: string;
168
168
  clientCount: number;
169
169
  hasRoomPassword: boolean;
170
- }>>>, "controller-room-list">) & Pick<{
170
+ }>>>, "multiplayer-controller-room-list">) & Pick<{
171
171
  new (type: string, eventInitDict?: EventInit): Event;
172
172
  prototype: Event;
173
173
  readonly NONE: 0;
@@ -179,7 +179,7 @@ declare const ControllerRoomListEvent_base: (new (eventInitDict: {
179
179
  roomName: string;
180
180
  clientCount: number;
181
181
  hasRoomPassword: boolean;
182
- }>>>, "controller-room-list">, "type">;
182
+ }>>>, "multiplayer-controller-room-list">, "type">;
183
183
  /**
184
184
  * This is called whenever the room list updates, even if there were no changes to the room list. By
185
185
  * default, room list updates are off. Use `MultiplayerRoomController.startRoomUpdates` to start
@@ -187,15 +187,15 @@ declare const ControllerRoomListEvent_base: (new (eventInitDict: {
187
187
  *
188
188
  * @category Events
189
189
  */
190
- export declare class ControllerRoomListEvent extends ControllerRoomListEvent_base {
190
+ export declare class MultiplayerControllerRoomListEvent extends MultiplayerControllerRoomListEvent_base {
191
191
  }
192
192
  /**
193
193
  * Callback fired whenever the room list is fetched from the multiplayer API.
194
194
  *
195
195
  * @category Internal
196
196
  */
197
- export type ControllerRoomListListener = (rooms: Readonly<MultiplayerClientRooms>) => MaybePromise<void>;
198
- declare const ControllerClientEvent_base: (new (eventInitDict: {
197
+ export type MultiplayerControllerRoomListListener = (rooms: Readonly<MultiplayerClientRooms>) => MaybePromise<void>;
198
+ declare const MultiplayerControllerClientEvent_base: (new (eventInitDict: {
199
199
  bubbles?: boolean;
200
200
  cancelable?: boolean;
201
201
  composed?: boolean;
@@ -250,7 +250,7 @@ declare const ControllerClientEvent_base: (new (eventInitDict: {
250
250
  newMember: ClientId;
251
251
  lostHost: ClientId;
252
252
  lostMember: ClientId;
253
- }, "newHost" | "newMember" | "lostHost" | "lostMember">>, "controller-client">) & Pick<{
253
+ }, "newHost" | "newMember" | "lostHost" | "lostMember">>, "multiplayer-controller-client">) & Pick<{
254
254
  new (type: string, eventInitDict?: EventInit): Event;
255
255
  prototype: Event;
256
256
  readonly NONE: 0;
@@ -282,7 +282,7 @@ declare const ControllerClientEvent_base: (new (eventInitDict: {
282
282
  newMember: ClientId;
283
283
  lostHost: ClientId;
284
284
  lostMember: ClientId;
285
- }, "newHost" | "newMember" | "lostHost" | "lostMember">>, "controller-client">, "type">;
285
+ }, "newHost" | "newMember" | "lostHost" | "lostMember">>, "multiplayer-controller-client">, "type">;
286
286
  /**
287
287
  * This is fired in the following situations:
288
288
  *
@@ -293,34 +293,34 @@ declare const ControllerClientEvent_base: (new (eventInitDict: {
293
293
  *
294
294
  * @category Events
295
295
  */
296
- export declare class ControllerClientEvent extends ControllerClientEvent_base {
296
+ export declare class MultiplayerControllerClientEvent extends MultiplayerControllerClientEvent_base {
297
297
  }
298
- declare const ControllerConnectionEvent_base: (new (eventInitDict: {
298
+ declare const MultiplayerControllerConnectionEvent_base: (new (eventInitDict: {
299
299
  bubbles?: boolean;
300
300
  cancelable?: boolean;
301
301
  composed?: boolean;
302
302
  detail: ApiAndRoomConnectionState;
303
- }) => import("typed-event-target").TypedCustomEvent<ApiAndRoomConnectionState, "controller-connection">) & Pick<{
303
+ }) => import("typed-event-target").TypedCustomEvent<ApiAndRoomConnectionState, "multiplayer-controller-connection">) & Pick<{
304
304
  new (type: string, eventInitDict?: EventInit): Event;
305
305
  prototype: Event;
306
306
  readonly NONE: 0;
307
307
  readonly CAPTURING_PHASE: 1;
308
308
  readonly AT_TARGET: 2;
309
309
  readonly BUBBLING_PHASE: 3;
310
- }, "prototype" | "NONE" | "CAPTURING_PHASE" | "AT_TARGET" | "BUBBLING_PHASE"> & Pick<import("typed-event-target").TypedCustomEvent<ApiAndRoomConnectionState, "controller-connection">, "type">;
310
+ }, "prototype" | "NONE" | "CAPTURING_PHASE" | "AT_TARGET" | "BUBBLING_PHASE"> & Pick<import("typed-event-target").TypedCustomEvent<ApiAndRoomConnectionState, "multiplayer-controller-connection">, "type">;
311
311
  /**
312
312
  * Fires when the controller's connection state is updated.
313
313
  *
314
314
  * @category Events
315
315
  */
316
- export declare class ControllerConnectionEvent extends ControllerConnectionEvent_base {
316
+ export declare class MultiplayerControllerConnectionEvent extends MultiplayerControllerConnectionEvent_base {
317
317
  }
318
318
  /**
319
319
  * All events emitted by this controller.
320
320
  *
321
321
  * @category Internal
322
322
  */
323
- export type AllMultiplayerRoomControllerEvents<Message extends JsonCompatibleValue> = ControllerMessageEvent<Message> | ControllerRoomListEvent | ControllerClientEvent | ControllerConnectionEvent;
323
+ export type AllMultiplayerRoomControllerEvents<Message extends JsonCompatibleValue> = MultiplayerControllerMessageEvent<Message> | MultiplayerControllerRoomListEvent | MultiplayerControllerClientEvent | MultiplayerControllerConnectionEvent;
324
324
  /**
325
325
  * A generic multiplayer room controller. It manages API connectivity, room discovery, WebRTC
326
326
  * signaling, and generic room messages. It does not impose a game-state synchronization strategy.
@@ -331,17 +331,17 @@ export declare class MultiplayerRoomController<Message extends JsonCompatibleVal
331
331
  protected readonly params: MultiplayerRoomControllerParams<Message>;
332
332
  /** All events emitted by this controller. */
333
333
  static readonly events: {
334
- ControllerMessageEvent: typeof ControllerMessageEvent;
335
- ControllerRoomListEvent: typeof ControllerRoomListEvent;
336
- ControllerClientEvent: typeof ControllerClientEvent;
337
- ControllerConnectionEvent: typeof ControllerConnectionEvent;
334
+ MultiplayerControllerMessageEvent: typeof MultiplayerControllerMessageEvent;
335
+ MultiplayerControllerRoomListEvent: typeof MultiplayerControllerRoomListEvent;
336
+ MultiplayerControllerClientEvent: typeof MultiplayerControllerClientEvent;
337
+ MultiplayerControllerConnectionEvent: typeof MultiplayerControllerConnectionEvent;
338
338
  };
339
339
  /** All events emitted by this controller. */
340
340
  readonly events: {
341
- ControllerMessageEvent: typeof ControllerMessageEvent;
342
- ControllerRoomListEvent: typeof ControllerRoomListEvent;
343
- ControllerClientEvent: typeof ControllerClientEvent;
344
- ControllerConnectionEvent: typeof ControllerConnectionEvent;
341
+ MultiplayerControllerMessageEvent: typeof MultiplayerControllerMessageEvent;
342
+ MultiplayerControllerRoomListEvent: typeof MultiplayerControllerRoomListEvent;
343
+ MultiplayerControllerClientEvent: typeof MultiplayerControllerClientEvent;
344
+ MultiplayerControllerConnectionEvent: typeof MultiplayerControllerConnectionEvent;
345
345
  };
346
346
  static readonly knownErrors: {
347
347
  RoomRejectionError: typeof RoomRejectionError;
@@ -404,9 +404,9 @@ export declare class MultiplayerRoomController<Message extends JsonCompatibleVal
404
404
  *
405
405
  * If a callback is provided, it is called each time the room list is updated.
406
406
  */
407
- startRoomUpdates(callback: ControllerRoomListListener): RemoveListenerCallback;
407
+ startRoomUpdates(callback: MultiplayerControllerRoomListListener): RemoveListenerCallback;
408
408
  startRoomUpdates(callback?: undefined): undefined;
409
- startRoomUpdates(callback?: ControllerRoomListListener | undefined): RemoveListenerCallback | undefined;
409
+ startRoomUpdates(callback?: MultiplayerControllerRoomListListener | undefined): RemoveListenerCallback | undefined;
410
410
  /** Turn off room list updates and remove callbacks added via `startRoomUpdates`. */
411
411
  stopRoomUpdates(): void;
412
412
  /** Send a generic message to the current room. */
@@ -32,7 +32,7 @@ export const emptyApiAndRoomConnectionState = {
32
32
  *
33
33
  * @category Events
34
34
  */
35
- export class ControllerMessageEvent extends defineTypedCustomEvent()('controller-message') {
35
+ export class MultiplayerControllerMessageEvent extends defineTypedCustomEvent()('multiplayer-controller-message') {
36
36
  sourceClientId;
37
37
  constructor(sourceClientId, detail) {
38
38
  super({
@@ -48,7 +48,7 @@ export class ControllerMessageEvent extends defineTypedCustomEvent()('controller
48
48
  *
49
49
  * @category Events
50
50
  */
51
- export class ControllerRoomListEvent extends defineTypedCustomEvent()('controller-room-list') {
51
+ export class MultiplayerControllerRoomListEvent extends defineTypedCustomEvent()('multiplayer-controller-room-list') {
52
52
  }
53
53
  /**
54
54
  * This is fired in the following situations:
@@ -60,14 +60,14 @@ export class ControllerRoomListEvent extends defineTypedCustomEvent()('controlle
60
60
  *
61
61
  * @category Events
62
62
  */
63
- export class ControllerClientEvent extends defineTypedCustomEvent()('controller-client') {
63
+ export class MultiplayerControllerClientEvent extends defineTypedCustomEvent()('multiplayer-controller-client') {
64
64
  }
65
65
  /**
66
66
  * Fires when the controller's connection state is updated.
67
67
  *
68
68
  * @category Events
69
69
  */
70
- export class ControllerConnectionEvent extends defineTypedCustomEvent()('controller-connection') {
70
+ export class MultiplayerControllerConnectionEvent extends defineTypedCustomEvent()('multiplayer-controller-connection') {
71
71
  }
72
72
  /**
73
73
  * A generic multiplayer room controller. It manages API connectivity, room discovery, WebRTC
@@ -79,10 +79,10 @@ export class MultiplayerRoomController extends ListenTarget {
79
79
  params;
80
80
  /** All events emitted by this controller. */
81
81
  static events = {
82
- ControllerMessageEvent,
83
- ControllerRoomListEvent,
84
- ControllerClientEvent,
85
- ControllerConnectionEvent,
82
+ MultiplayerControllerMessageEvent,
83
+ MultiplayerControllerRoomListEvent,
84
+ MultiplayerControllerClientEvent,
85
+ MultiplayerControllerConnectionEvent,
86
86
  };
87
87
  /** All events emitted by this controller. */
88
88
  events = MultiplayerRoomController.events;
@@ -182,7 +182,7 @@ export class MultiplayerRoomController extends ListenTarget {
182
182
  this.isListeningToRoomUpdates = true;
183
183
  this.startRoomInterval();
184
184
  if (callback) {
185
- return this.listen(ControllerRoomListEvent, async (event) => {
185
+ return this.listen(MultiplayerControllerRoomListEvent, async (event) => {
186
186
  await callback(event.detail);
187
187
  });
188
188
  }
@@ -239,10 +239,10 @@ export class MultiplayerRoomController extends ListenTarget {
239
239
  }
240
240
  : undefined);
241
241
  currentConnection.listen((WebrtcMultiplayerMessageEvent), (event) => {
242
- this.dispatch(new ControllerMessageEvent(event.sourceClientId, event.detail));
242
+ this.dispatch(new MultiplayerControllerMessageEvent(event.sourceClientId, event.detail));
243
243
  });
244
244
  currentConnection.listen(WebrtcMultiplayerConnectionUpdateEvent, (event) => {
245
- this.dispatch(new ControllerClientEvent({
245
+ this.dispatch(new MultiplayerControllerClientEvent({
246
246
  detail: event.detail,
247
247
  }));
248
248
  });
@@ -311,7 +311,7 @@ export class MultiplayerRoomController extends ListenTarget {
311
311
  if (state.room) {
312
312
  makeWritable(this).roomConnectionState = state.room;
313
313
  }
314
- this.dispatch(new ControllerConnectionEvent({
314
+ this.dispatch(new MultiplayerControllerConnectionEvent({
315
315
  detail: {
316
316
  room: this.roomConnectionState,
317
317
  api: this.apiConnectionState,
@@ -342,7 +342,7 @@ export class MultiplayerRoomController extends ListenTarget {
342
342
  },
343
343
  });
344
344
  if (output.Ok) {
345
- this.dispatch(new ControllerRoomListEvent({
345
+ this.dispatch(new MultiplayerControllerRoomListEvent({
346
346
  detail: output.Ok.responseData,
347
347
  }));
348
348
  }
@@ -156,9 +156,9 @@ export type RoomInput = Pick<Extract<MultiplayerConnectClientMessage, {
156
156
  *
157
157
  * @category Internal
158
158
  */
159
- export type ShouldAllowConnectionCheck<Controller> = (data: {
159
+ export type ShouldAllowConnectionCheck<MultiplayerController> = (data: {
160
160
  connectingClientId: ClientId;
161
- controller: Controller;
161
+ multiplayerController: MultiplayerController;
162
162
  }) => MaybePromise<boolean>;
163
163
  /**
164
164
  * A controller that connects to the multiplayer api and establishes a WebRTC connection to the
@@ -306,7 +306,7 @@ export class WebrtcMultiplayerController extends ListenTarget {
306
306
  await this.connectionQueue.add(async () => {
307
307
  if (!this.shouldAllowConnectionCheck({
308
308
  connectingClientId: message.clientId,
309
- controller: this,
309
+ multiplayerController: this,
310
310
  })) {
311
311
  log.warning('offer rejected');
312
312
  webSocket.send({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antha/multiplayer-core",
3
- "version": "0.14.1",
3
+ "version": "0.14.2",
4
4
  "description": "Core functionalities for Antha multiplayer mods.",
5
5
  "keywords": [
6
6
  "vir",