@types/gimloader 1.7.0 → 1.8.1
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.
- gimloader/README.md +2 -2
- gimloader/index.d.ts +2103 -177
- gimloader/package.json +6 -3
gimloader/index.d.ts
CHANGED
|
@@ -1,173 +1,2092 @@
|
|
|
1
1
|
declare namespace Gimloader {
|
|
2
|
-
type
|
|
3
|
-
|
|
2
|
+
type EventEmitter2 = import("eventemitter2").EventEmitter2;
|
|
3
|
+
namespace Stores {
|
|
4
|
+
type Collider = import("@dimforge/rapier2d-compat").Collider;
|
|
5
|
+
type ColliderDesc = import("@dimforge/rapier2d-compat").ColliderDesc;
|
|
6
|
+
type RigidBody = import("@dimforge/rapier2d-compat").RigidBody;
|
|
7
|
+
type RigidBodyDesc = import("@dimforge/rapier2d-compat").RigidBodyDesc;
|
|
8
|
+
type Vector = import("@dimforge/rapier2d-compat").Vector;
|
|
9
|
+
type BaseScene = import("phaser").Scene;
|
|
4
10
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @default '.'
|
|
13
|
-
* @description the delimiter used to segment namespaces.
|
|
14
|
-
*/
|
|
15
|
-
delimiter?: string;
|
|
16
|
-
/**
|
|
17
|
-
* @default false
|
|
18
|
-
* @description set this to `true` if you want to emit the newListener events.
|
|
19
|
-
*/
|
|
20
|
-
newListener?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* @default false
|
|
23
|
-
* @description set this to `true` if you want to emit the removeListener events.
|
|
24
|
-
*/
|
|
25
|
-
removeListener?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* @default 10
|
|
28
|
-
* @description the maximum amount of listeners that can be assigned to an event.
|
|
29
|
-
*/
|
|
30
|
-
maxListeners?: number;
|
|
31
|
-
/**
|
|
32
|
-
* @default false
|
|
33
|
-
* @description show event name in memory leak message when more than maximum amount of listeners is assigned, default false
|
|
34
|
-
*/
|
|
35
|
-
verboseMemoryLeak?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* @default false
|
|
38
|
-
* @description disable throwing uncaughtException if an error event is emitted and it has no listeners
|
|
39
|
-
*/
|
|
40
|
-
ignoreErrors?: boolean;
|
|
41
|
-
}
|
|
42
|
-
interface ListenerFn {
|
|
43
|
-
(...values: any[]): void;
|
|
44
|
-
}
|
|
45
|
-
interface EventAndListener {
|
|
46
|
-
(event: string | string[], ...values: any[]): void;
|
|
47
|
-
}
|
|
11
|
+
interface Team {
|
|
12
|
+
characters: Map<number, string>;
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
score: number;
|
|
16
|
+
}
|
|
48
17
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
18
|
+
interface Teams {
|
|
19
|
+
teams: Map<string, Team>;
|
|
20
|
+
updateCounter: number;
|
|
21
|
+
}
|
|
52
22
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @default null
|
|
60
|
-
*/
|
|
61
|
-
filter: WaitForFilter;
|
|
62
|
-
/**
|
|
63
|
-
* @default false
|
|
64
|
-
*/
|
|
65
|
-
handleError: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* @default Promise
|
|
68
|
-
*/
|
|
69
|
-
Promise: any;
|
|
70
|
-
/**
|
|
71
|
-
* @default false
|
|
72
|
-
*/
|
|
73
|
-
overload: boolean;
|
|
74
|
-
}
|
|
23
|
+
interface SceneStore {
|
|
24
|
+
currentScene: string;
|
|
25
|
+
gpuTier: number;
|
|
26
|
+
isCursorOverCanvas: boolean;
|
|
27
|
+
}
|
|
75
28
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
29
|
+
interface BackgroundLayersManager {
|
|
30
|
+
layerManager: LayerManager;
|
|
31
|
+
scene: Scene;
|
|
32
|
+
createLayer(options: {
|
|
33
|
+
layerId: string;
|
|
34
|
+
depth: number;
|
|
35
|
+
}): void;
|
|
36
|
+
fill(terrain: TerrainOption): void;
|
|
37
|
+
fillForPlatformer(): void;
|
|
38
|
+
fillForTopDown(terrain: TerrainOption): void;
|
|
39
|
+
removeLayer(options: {
|
|
40
|
+
layerId: string;
|
|
41
|
+
}): void;
|
|
42
|
+
}
|
|
79
43
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
overload: boolean;
|
|
93
|
-
}
|
|
44
|
+
interface LayerManager {
|
|
45
|
+
backgroundLayersManager: BackgroundLayersManager;
|
|
46
|
+
colliders: Map<string, Map<string, string>>;
|
|
47
|
+
layers: Map<string, any>;
|
|
48
|
+
scene: Scene;
|
|
49
|
+
createInitialLayers(): void;
|
|
50
|
+
createLayer(id: string): void;
|
|
51
|
+
fillBottomLayer(terrain: TerrainOption): void;
|
|
52
|
+
getActualLayerDepth(id: string): number;
|
|
53
|
+
moveLayersAboveCharacters(): void;
|
|
54
|
+
onWorldSizeChange(): void;
|
|
55
|
+
}
|
|
94
56
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
57
|
+
interface TileManager {
|
|
58
|
+
cumulTime: number;
|
|
59
|
+
scene: Scene;
|
|
60
|
+
layerManager: LayerManager;
|
|
61
|
+
}
|
|
100
62
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
63
|
+
interface CharacterOptions {
|
|
64
|
+
id: string;
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
scale: number;
|
|
68
|
+
type: string;
|
|
69
|
+
}
|
|
109
70
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
71
|
+
interface Spectating {
|
|
72
|
+
findNewCharacter(): void;
|
|
73
|
+
onBeginSpectating(): void;
|
|
74
|
+
onEndSpectating(): void;
|
|
75
|
+
setShuffle(shuffle: boolean, save?: boolean): void;
|
|
76
|
+
}
|
|
116
77
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
78
|
+
interface CharacterManager {
|
|
79
|
+
characterContainer: import("phaser").GameObjects.Container;
|
|
80
|
+
characters: Map<string, Character>;
|
|
81
|
+
scene: Scene;
|
|
82
|
+
spectating: Spectating;
|
|
83
|
+
addCharacter(options: CharacterOptions): Character;
|
|
84
|
+
cullCharacters(): void;
|
|
85
|
+
removeCharacter(id: string): void;
|
|
86
|
+
update(dt: number): void;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
interface Removal {
|
|
90
|
+
overlay: Overlay;
|
|
91
|
+
prevMouseWasDown: boolean;
|
|
92
|
+
scene: Scene;
|
|
93
|
+
checkForItem(): void;
|
|
94
|
+
createStateListeners(): void;
|
|
95
|
+
removeSelectedItems(): void;
|
|
96
|
+
update(): void;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface PlatformerEditing {
|
|
100
|
+
setTopDownControlsActive(active: boolean): void;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface SelectedDevicesOverlay {
|
|
104
|
+
graphics: import("phaser").GameObjects.Graphics;
|
|
105
|
+
scene: Scene;
|
|
106
|
+
showing: boolean;
|
|
107
|
+
hide(): void;
|
|
108
|
+
show(rects: Rect[]): void;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
interface MultiSelect {
|
|
112
|
+
boundingBoxAroundEverything: Rect | null;
|
|
113
|
+
currentlySelectedDevices: Device[];
|
|
114
|
+
currentlySelectedDevicesIds: string[];
|
|
115
|
+
hidingSelectionForDevices: boolean;
|
|
116
|
+
isSelecting: boolean;
|
|
117
|
+
modifierKeyDown: boolean;
|
|
118
|
+
mouseShifts: Vector[];
|
|
119
|
+
movedOrCopiedDevices: Device[];
|
|
120
|
+
overlay: Overlay;
|
|
121
|
+
scene: Scene;
|
|
122
|
+
selectedDevices: Device[];
|
|
123
|
+
selectedDevicesIds: string[];
|
|
124
|
+
selectedDevicesOverlay: SelectedDevicesOverlay;
|
|
125
|
+
selection: Rect | null;
|
|
126
|
+
addDeviceToSelection(device: Device): void;
|
|
127
|
+
endSelectionRect(): void;
|
|
128
|
+
findSelectedDevices(): void;
|
|
129
|
+
hasSomeSelection(): boolean;
|
|
130
|
+
hideSelection(): void;
|
|
131
|
+
multiselectDeleteKeyHandler(): void;
|
|
132
|
+
multiselectKeyHandler(down: boolean): void;
|
|
133
|
+
onDeviceAdded(device: Device): void;
|
|
134
|
+
onDeviceRemoved(id: string): void;
|
|
135
|
+
setShiftParams(): void;
|
|
136
|
+
startSelectionRect(): void;
|
|
137
|
+
unselectAll(): void;
|
|
138
|
+
update(): void;
|
|
139
|
+
updateSelectedDevicesOverlay(): void;
|
|
140
|
+
updateSelectionRect(): void;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
interface DepthSort {
|
|
144
|
+
overlay: Overlay;
|
|
145
|
+
scene: Scene;
|
|
146
|
+
update(): void;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
interface ActionManager {
|
|
150
|
+
depthSort: DepthSort;
|
|
151
|
+
multiSelect: MultiSelect;
|
|
152
|
+
platformerEditing: PlatformerEditing;
|
|
153
|
+
removal: Removal;
|
|
154
|
+
update(): void;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
interface Projectile {
|
|
158
|
+
id: string;
|
|
159
|
+
startTime: number;
|
|
160
|
+
endTime: number;
|
|
161
|
+
start: Vector;
|
|
162
|
+
end: Vector;
|
|
163
|
+
radius: number;
|
|
164
|
+
appearance: string;
|
|
165
|
+
ownerId: string;
|
|
166
|
+
ownerTeamId: string;
|
|
167
|
+
damage: number;
|
|
168
|
+
hitPos?: Vector;
|
|
169
|
+
hitTime?: number;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
interface Projectiles {
|
|
173
|
+
damageMarkers: any;
|
|
174
|
+
dynamicDevices: Set<Device>;
|
|
175
|
+
fireSlashes: any;
|
|
176
|
+
projectileJSON: Map<string, Projectile>;
|
|
177
|
+
runClientSidePrediction: boolean;
|
|
178
|
+
scene: Scene;
|
|
179
|
+
addProjectile(projectile: Projectile): void;
|
|
180
|
+
fire(pointer: import("phaser").Input.Pointer, snap: boolean): void;
|
|
181
|
+
update(): void;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
interface WorldBoundsCollider {
|
|
185
|
+
body: RigidBody;
|
|
186
|
+
collider: Collider;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
interface BodyBounds {
|
|
190
|
+
minX: number;
|
|
191
|
+
minY: number;
|
|
192
|
+
maxX: number;
|
|
193
|
+
maxY: number;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
interface BodyStatic {
|
|
197
|
+
bounds: BodyBounds;
|
|
198
|
+
cells: Set<string>;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
interface Body {
|
|
202
|
+
collider?: Collider;
|
|
203
|
+
colliderDesc: ColliderDesc;
|
|
204
|
+
rigidBody?: RigidBody;
|
|
205
|
+
rigidBodyDesc: RigidBodyDesc;
|
|
206
|
+
static: BodyStatic;
|
|
207
|
+
device?: {
|
|
208
|
+
id: string;
|
|
209
|
+
};
|
|
210
|
+
terrain?: {
|
|
211
|
+
key: string;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
interface ActiveBodies {
|
|
216
|
+
activeBodies: Set<string>;
|
|
217
|
+
bodyManager: BodyManager;
|
|
218
|
+
currentCoordinateKeys: Set<string>;
|
|
219
|
+
world: World;
|
|
220
|
+
disableBody(id: string): void;
|
|
221
|
+
enable(keys: Set<string>, setAll: boolean): void;
|
|
222
|
+
enableBodiesAlongLine(options: {
|
|
223
|
+
start: Vector;
|
|
224
|
+
end: Vector;
|
|
225
|
+
}): void;
|
|
226
|
+
enableBodiesWithinAreas(options: {
|
|
227
|
+
areas: Rect[];
|
|
228
|
+
disableActiveBodiesOutsideArea: boolean;
|
|
229
|
+
}): void;
|
|
230
|
+
enableBody(id: string): void;
|
|
231
|
+
setDirty(): void;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
interface BodyManager {
|
|
235
|
+
activeBodies: ActiveBodies;
|
|
236
|
+
bodies: Map<string, Body>;
|
|
237
|
+
cells: Map<string, Set<string>>;
|
|
238
|
+
dynamicBodies: Set<string>;
|
|
239
|
+
gridSize: number;
|
|
240
|
+
staticBodies: Set<string>;
|
|
241
|
+
staticSensorBodies: Set<string>;
|
|
242
|
+
_idCount: number;
|
|
243
|
+
find(id: string): Body | undefined;
|
|
244
|
+
findPotentialStaticBodiesWithinArea(area: Rect): Set<string>;
|
|
245
|
+
generateId(): void;
|
|
246
|
+
insert(body: Body): string;
|
|
247
|
+
remove(id: string): void;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
interface PhysicsManager {
|
|
251
|
+
bodies: BodyManager;
|
|
252
|
+
cumulTime: number;
|
|
253
|
+
lastTime: number;
|
|
254
|
+
physicsStep(dt: number): void;
|
|
255
|
+
runPhysicsLoop(dt: number): void;
|
|
256
|
+
world: World;
|
|
257
|
+
worldBoundsColliders: Set<WorldBoundsCollider>;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
interface CreateTileOptions {
|
|
261
|
+
x: number;
|
|
262
|
+
y: number;
|
|
263
|
+
tileIndex: number;
|
|
264
|
+
terrainOption: TerrainOption;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
interface InGameTerrainBuilder {
|
|
268
|
+
afterFailureWithTouch: boolean;
|
|
269
|
+
clearConsumeErrorMessage(): void;
|
|
270
|
+
clearPreviewLayer(): void;
|
|
271
|
+
createPreviewTile(options: CreateTileOptions): void;
|
|
272
|
+
overlay: Overlay;
|
|
273
|
+
previewingTile?: Vector;
|
|
274
|
+
scene: Scene;
|
|
275
|
+
update(): void;
|
|
276
|
+
wasDown: boolean;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
interface WorldInteractives {
|
|
280
|
+
scene: Scene;
|
|
281
|
+
currentDevice?: Device;
|
|
282
|
+
clearCurrentDevice(): void;
|
|
283
|
+
setCurrentDevice(device: Device): void;
|
|
284
|
+
update(devices: Device[]): void;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
interface ShowOverlayOptions {
|
|
288
|
+
x: number;
|
|
289
|
+
y: number;
|
|
290
|
+
width: number;
|
|
291
|
+
height: number;
|
|
292
|
+
depth: number;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
interface Overlay {
|
|
296
|
+
scene: Scene;
|
|
297
|
+
showing: boolean;
|
|
298
|
+
showingDimensions: {
|
|
299
|
+
width: number;
|
|
300
|
+
height: number;
|
|
301
|
+
} | null;
|
|
302
|
+
showingPosition: {
|
|
303
|
+
x: number;
|
|
304
|
+
y: number;
|
|
305
|
+
} | null;
|
|
306
|
+
hide(): void;
|
|
307
|
+
show(options: ShowOverlayOptions): void;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
interface DevicesPreview {
|
|
311
|
+
devicePreviewOverlay: Overlay;
|
|
312
|
+
previousDevices: Device[];
|
|
313
|
+
scene: Scene;
|
|
314
|
+
removePreviousDevices(isBeingReplaced: boolean): void;
|
|
315
|
+
update(): void;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
interface DevicesAction {
|
|
319
|
+
inputManager: InputManager;
|
|
320
|
+
scene: Scene;
|
|
321
|
+
onClick(arg: any): void;
|
|
322
|
+
update(): void;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
interface DeviceProjectiles {
|
|
326
|
+
device: Device;
|
|
327
|
+
addToDynamicDevices(): void;
|
|
328
|
+
collidesWithProjectile(object: Circle): boolean;
|
|
329
|
+
onClientPredictedHit(position: Vector): void;
|
|
330
|
+
removeFromDynamicDevices(): void;
|
|
331
|
+
setDynamic(dynamic: boolean): void;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
interface DeviceTweens {
|
|
335
|
+
list: import("phaser").Tweens.Tween[];
|
|
336
|
+
device: Device;
|
|
337
|
+
add(config: import("phaser").Types.Tweens.TweenBuilderConfig): import("phaser").Tweens.Tween;
|
|
338
|
+
destroy(): void;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
interface WirePoints {
|
|
342
|
+
device: Device;
|
|
343
|
+
end: Vector;
|
|
344
|
+
start: Vector;
|
|
345
|
+
onPointChange(): void;
|
|
346
|
+
setBoth(x: number, y: number): void;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
interface Layers {
|
|
350
|
+
depth: number;
|
|
351
|
+
device: Device;
|
|
352
|
+
layer: string;
|
|
353
|
+
options: any;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
interface ShadowOptions {
|
|
357
|
+
x: number;
|
|
358
|
+
y: number;
|
|
359
|
+
r1: number;
|
|
360
|
+
r2: number;
|
|
361
|
+
alphaMultip: number;
|
|
362
|
+
depth: number;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
interface Shadows {
|
|
366
|
+
device: Device;
|
|
367
|
+
list: ShadowOptions[];
|
|
368
|
+
add(options: ShadowOptions): void;
|
|
369
|
+
destroy(): void;
|
|
370
|
+
forEach(callback: (shadow: ShadowOptions) => void): void;
|
|
371
|
+
hide(): void;
|
|
372
|
+
show(): void;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
interface Circle {
|
|
376
|
+
x: number;
|
|
377
|
+
y: number;
|
|
378
|
+
radius: number;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
interface RotatedCircle extends Circle {
|
|
382
|
+
angle: number;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
interface VisualEditingCircle {
|
|
386
|
+
angle: number;
|
|
387
|
+
rotable: boolean;
|
|
388
|
+
radius: number;
|
|
389
|
+
minRadius: number;
|
|
390
|
+
maxRadius: number;
|
|
391
|
+
onChange(value: RotatedCircle): void;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
interface RotatedRect extends Rect {
|
|
395
|
+
angle: number;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
interface VisualEditingBox {
|
|
399
|
+
width: number;
|
|
400
|
+
height: number;
|
|
401
|
+
angle: number;
|
|
402
|
+
minWidth: number;
|
|
403
|
+
maxWidth: number;
|
|
404
|
+
minHeight: number;
|
|
405
|
+
maxHeight: number;
|
|
406
|
+
keepRatio: boolean;
|
|
407
|
+
rotable: boolean;
|
|
408
|
+
onChange(value: RotatedRect): void;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
interface VisualEditing {
|
|
412
|
+
add: {
|
|
413
|
+
box(options: VisualEditingBox): void;
|
|
414
|
+
circle(options: VisualEditingCircle): void;
|
|
415
|
+
};
|
|
416
|
+
device: Device;
|
|
417
|
+
isActive: boolean;
|
|
418
|
+
shapes: (VisualEditingBox | VisualEditingCircle)[];
|
|
419
|
+
clear(): void;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
interface InteractiveZones {
|
|
423
|
+
add: {
|
|
424
|
+
circle(zone: CircleShort): void;
|
|
425
|
+
rect(zone: Rect): void;
|
|
426
|
+
};
|
|
427
|
+
canInteractThroughColliders: boolean;
|
|
428
|
+
device: Device;
|
|
429
|
+
forceDisabled: boolean;
|
|
430
|
+
zones: (CircleShort | Rect)[];
|
|
431
|
+
contains(x: number, y: number): boolean;
|
|
432
|
+
destroy(): void;
|
|
433
|
+
getCanInteractThroughColliders(): boolean;
|
|
434
|
+
getInfo(): any;
|
|
435
|
+
getMaxDistance(x: number, y: number): number;
|
|
436
|
+
isInteractive(): boolean;
|
|
437
|
+
onPlayerCanInteract(): void;
|
|
438
|
+
onPlayerCantInteractAnyMore(): void;
|
|
439
|
+
setCanInteractThroughColliders(canInteract: boolean): void;
|
|
440
|
+
setForceDisabled(forceDisabled: boolean): void;
|
|
441
|
+
setInfo(info: any): void;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
interface DeviceInput {
|
|
445
|
+
device: Device;
|
|
446
|
+
enabled: boolean;
|
|
447
|
+
hasKeyListeners: boolean;
|
|
448
|
+
isCurrentlyUnderMouse: boolean;
|
|
449
|
+
addDeviceToCursorUnderList(): void;
|
|
450
|
+
createKeyListeners(): void;
|
|
451
|
+
cutCopyHandler(action: string): void;
|
|
452
|
+
disable(): void;
|
|
453
|
+
dispose(): void;
|
|
454
|
+
disposeKeyListeners(): void;
|
|
455
|
+
enable(): void;
|
|
456
|
+
partIsNoLongerUnderMouse(): void;
|
|
457
|
+
partIsUnderMouse(): void;
|
|
458
|
+
removeDeviceFromCursorUnderList(): void;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
interface DeviceUI {
|
|
462
|
+
device: Device;
|
|
463
|
+
close(): void;
|
|
464
|
+
open(options: Record<string, any>): void;
|
|
465
|
+
update(options: Record<string, any>): void;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
interface VFX {
|
|
469
|
+
character: Character;
|
|
470
|
+
damageBoostActive: boolean;
|
|
471
|
+
phaseActive: boolean;
|
|
472
|
+
tintModifierId: string;
|
|
473
|
+
transparencyModifierId: string;
|
|
474
|
+
setTintModifier(id: string): void;
|
|
475
|
+
setTransparencyModifier(id: string): void;
|
|
476
|
+
startDamageBoostAnim(): void;
|
|
477
|
+
startPhaseAnim(): void;
|
|
478
|
+
stopDamageBoostAnim(): void;
|
|
479
|
+
stopPhaseAnim(): void;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
interface TintParams {
|
|
483
|
+
type: string;
|
|
484
|
+
fromColor: string;
|
|
485
|
+
toColor: string;
|
|
486
|
+
duration: number;
|
|
487
|
+
tween?: import("phaser").Tweens.Tween;
|
|
488
|
+
ease(t: number): number;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
interface Tint {
|
|
492
|
+
character: Character;
|
|
493
|
+
scene: Scene;
|
|
494
|
+
phase?: TintParams;
|
|
495
|
+
playerAppearanceModifierDevice?: TintParams;
|
|
496
|
+
immunity?: TintParams;
|
|
497
|
+
damageBoost?: TintParams;
|
|
498
|
+
getTintParams(type: string): TintParams | undefined;
|
|
499
|
+
setTintParams(type: string, tint?: TintParams): void;
|
|
500
|
+
startAnimateTint(params: TintParams): void;
|
|
501
|
+
stopAnimateTint(type: string): void;
|
|
502
|
+
update(): void;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
interface SkinOptions {
|
|
506
|
+
id: string;
|
|
507
|
+
editStyles: Record<string, string>;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
interface Skin {
|
|
511
|
+
character: Character;
|
|
512
|
+
editStyles?: Record<string, string>;
|
|
513
|
+
latestSkinId: string;
|
|
514
|
+
scene: Scene;
|
|
515
|
+
skinId: string;
|
|
516
|
+
applyEditStyles(options: SkinOptions): void;
|
|
517
|
+
setupSkin(position: Vector): void;
|
|
518
|
+
updateSkin(options: SkinOptions): void;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
interface Shadow {
|
|
522
|
+
character: Character;
|
|
523
|
+
image?: import("phaser").GameObjects.Image;
|
|
524
|
+
createShadow(): void;
|
|
525
|
+
destroy(): void;
|
|
526
|
+
update(): void;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
interface TweenScaleOptions {
|
|
530
|
+
type: string;
|
|
531
|
+
scale: number;
|
|
532
|
+
duration: number;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
interface Scale {
|
|
536
|
+
activeScale: number;
|
|
537
|
+
baseScale: number;
|
|
538
|
+
character: Character;
|
|
539
|
+
respawningScale: number;
|
|
540
|
+
scaleX: number;
|
|
541
|
+
scaleY: number;
|
|
542
|
+
scene: Scene;
|
|
543
|
+
spectatorScale: number;
|
|
544
|
+
dependencyScale: number;
|
|
545
|
+
isVisible: boolean;
|
|
546
|
+
getCurrentScale(type: number): void;
|
|
547
|
+
onSkinChange(): void;
|
|
548
|
+
setScale(type: number, scale: number): void;
|
|
549
|
+
tweenScale(options: TweenScaleOptions): void;
|
|
550
|
+
update(): void;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
interface Position {
|
|
554
|
+
character: Character;
|
|
555
|
+
update(dt: number): void;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
interface Network {
|
|
559
|
+
lastAngle?: number;
|
|
560
|
+
lastAngleUpdate: number;
|
|
561
|
+
updateAimAngle(angle: number): void;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
interface Nametag {
|
|
565
|
+
alpha: number;
|
|
566
|
+
character: Character;
|
|
567
|
+
creatingTag: boolean;
|
|
568
|
+
depth: number;
|
|
569
|
+
destroyed: boolean;
|
|
570
|
+
followScale: boolean;
|
|
571
|
+
fragilityTag?: import("phaser").GameObjects.Text;
|
|
572
|
+
healthMode: string;
|
|
573
|
+
name: string;
|
|
574
|
+
scale: number;
|
|
575
|
+
scene: Scene;
|
|
576
|
+
tag: import("phaser").GameObjects.Text;
|
|
577
|
+
teamState: TeamState;
|
|
578
|
+
fontColor: string;
|
|
579
|
+
tags: import("phaser").GameObjects.Text[];
|
|
580
|
+
createFragilityTag(): void;
|
|
581
|
+
createTag(): void;
|
|
582
|
+
destroy(): void;
|
|
583
|
+
makeVisibleChanges(force?: boolean): void;
|
|
584
|
+
playHideAnimation(): void;
|
|
585
|
+
playShowUpAnimation(): void;
|
|
586
|
+
setName(name: string): void;
|
|
587
|
+
update(update: {
|
|
588
|
+
teamState: TeamState;
|
|
589
|
+
}): void;
|
|
590
|
+
updateFontColor(): void;
|
|
591
|
+
updateFragility(fragility: number): void;
|
|
592
|
+
updateTagAlpha(force?: boolean): void;
|
|
593
|
+
updateTagDepth(force?: boolean): void;
|
|
594
|
+
updateTagPosition(force?: boolean): void;
|
|
595
|
+
updateTagScale(force?: boolean): void;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
interface CharacterInput {
|
|
599
|
+
character: Character;
|
|
600
|
+
isListeningForInput: boolean;
|
|
601
|
+
scene: Scene;
|
|
602
|
+
setupInput(): void;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
interface TeamState {
|
|
606
|
+
status: string;
|
|
607
|
+
teamId: string;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
interface Indicator extends Updates {
|
|
611
|
+
character: Character;
|
|
612
|
+
characterHeight: number;
|
|
613
|
+
depth: number;
|
|
614
|
+
image: import("phaser").GameObjects.Image;
|
|
615
|
+
isMain: boolean;
|
|
616
|
+
isSpectated: boolean;
|
|
617
|
+
lastCharacterAlpha: number;
|
|
618
|
+
scene: Scene;
|
|
619
|
+
teamState: TeamState;
|
|
620
|
+
destroy(): void;
|
|
621
|
+
makeIndicator(): void;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
interface ImpactAnimation {
|
|
625
|
+
animations: Map<string, import("phaser").GameObjects.Sprite>;
|
|
626
|
+
character: Character;
|
|
627
|
+
loadedAnimations: Set<string>;
|
|
628
|
+
scene: Scene;
|
|
629
|
+
_play(animation: string): void;
|
|
630
|
+
destroy(): void;
|
|
631
|
+
load(animation: string): void;
|
|
632
|
+
play(animation: string): void;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
interface Immunity {
|
|
636
|
+
character: Character;
|
|
637
|
+
classImmunityActive: boolean;
|
|
638
|
+
spawnImmunityActive: boolean;
|
|
639
|
+
activate(): void;
|
|
640
|
+
activateClassImmunity(): void;
|
|
641
|
+
activateSpawnImmunity(): void;
|
|
642
|
+
deactivate(): void;
|
|
643
|
+
deactivateClassImmunity(): void;
|
|
644
|
+
deactivateSpawnImmunity(): void;
|
|
645
|
+
isActive(): boolean;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
interface Updates {
|
|
649
|
+
update(update: {
|
|
650
|
+
delta: number;
|
|
651
|
+
}): void;
|
|
652
|
+
updateAlpha(): void;
|
|
653
|
+
updateDepth(): void;
|
|
654
|
+
updatePosition(dt: number): void;
|
|
655
|
+
updateScale(): void;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
interface Healthbar extends Updates {
|
|
659
|
+
character: Character;
|
|
660
|
+
depth: number;
|
|
661
|
+
isVisible: boolean;
|
|
662
|
+
scene: Scene;
|
|
663
|
+
destroy(): void;
|
|
664
|
+
makeIndicator(): void;
|
|
665
|
+
updateValue(): void;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
interface Flip {
|
|
669
|
+
character: Character;
|
|
670
|
+
flipXLastX: number;
|
|
671
|
+
isFlipped: boolean;
|
|
672
|
+
lastX: number;
|
|
673
|
+
lastY: number;
|
|
674
|
+
update(): void;
|
|
675
|
+
updateFlipForMainCharacter(): void;
|
|
676
|
+
updateFlipForOthers(): void;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
interface Dimensions {
|
|
680
|
+
character: Character;
|
|
681
|
+
currentDimensionsId: string;
|
|
682
|
+
bottomY: number;
|
|
683
|
+
centerX: number;
|
|
684
|
+
topY: number;
|
|
685
|
+
x: number;
|
|
686
|
+
onPotentialDimensionsChange(): void;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
interface Depth {
|
|
690
|
+
character: Character;
|
|
691
|
+
currentDepth: number;
|
|
692
|
+
lastY: number;
|
|
693
|
+
update(): void;
|
|
694
|
+
updateDepth(): void;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
interface Culling {
|
|
698
|
+
character: Character;
|
|
699
|
+
isInCamera: boolean;
|
|
700
|
+
needsCullUpdate: boolean;
|
|
701
|
+
scene: Scene;
|
|
702
|
+
shouldForceUpdate: boolean;
|
|
703
|
+
forceUpdate(): void;
|
|
704
|
+
hideObject(object: any): void;
|
|
705
|
+
onInCamera(): void;
|
|
706
|
+
onOutCamera(): void;
|
|
707
|
+
showObject(object: any): void;
|
|
708
|
+
updateNeedsUpdate(): void;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
interface TrailParticles {
|
|
712
|
+
frameHeight: number;
|
|
713
|
+
frameWidth: number;
|
|
714
|
+
imageUrl: string;
|
|
715
|
+
numberOfFrames: number;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
interface TrailEmitter {
|
|
719
|
+
frequency: number;
|
|
720
|
+
quantity: number;
|
|
721
|
+
blendMode: number;
|
|
722
|
+
speed: number;
|
|
723
|
+
speedVariation: number;
|
|
724
|
+
lifetime: number;
|
|
725
|
+
lifetimeVariation: number;
|
|
726
|
+
scale: number;
|
|
727
|
+
scaleVariation: number;
|
|
728
|
+
scaleThreshold: number;
|
|
729
|
+
rotationRandomAtStart: boolean;
|
|
730
|
+
rotationChange: number;
|
|
731
|
+
rotationChangeVariation: number;
|
|
732
|
+
rotationAllowNegativeChange: boolean;
|
|
733
|
+
alphaThresholdStart: number;
|
|
734
|
+
alphaThresholdEnd: number;
|
|
735
|
+
gravityY: number;
|
|
736
|
+
yOriginChange: number;
|
|
737
|
+
emitterZone: Partial<Vector>;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
interface TrailAppearance {
|
|
741
|
+
id: string;
|
|
742
|
+
emitter: TrailEmitter;
|
|
743
|
+
particles: TrailParticles;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
interface CharacterTrail {
|
|
747
|
+
character: Character;
|
|
748
|
+
currentAppearance: TrailAppearance;
|
|
749
|
+
currentAppearanceId: string;
|
|
750
|
+
isReady: boolean;
|
|
751
|
+
lastSetAlpha: number;
|
|
752
|
+
destroy(): void;
|
|
753
|
+
followCharacter(): void;
|
|
754
|
+
setNewAppearance(appearance: TrailAppearance): void;
|
|
755
|
+
update(): void;
|
|
756
|
+
updateAppearance(id: string): void;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
interface TweenAlphaOptions {
|
|
760
|
+
alpha: number;
|
|
761
|
+
type: string;
|
|
762
|
+
duration: number;
|
|
763
|
+
ease?: string;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
interface Alpha {
|
|
767
|
+
character: Character;
|
|
768
|
+
cinematicModeAlpha: number;
|
|
769
|
+
currentAlpha: number;
|
|
770
|
+
immunity: number;
|
|
771
|
+
phaseAlpha: number;
|
|
772
|
+
playerAppearanceModifierDeviceAlpha: number;
|
|
773
|
+
scene: Scene;
|
|
774
|
+
getCurrentAlpha(): number;
|
|
775
|
+
setAlpha(type: string, alpha: number): void;
|
|
776
|
+
tweenAlpha(options: TweenAlphaOptions): void;
|
|
777
|
+
update(): void;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
interface EndInfo {
|
|
781
|
+
end: number;
|
|
782
|
+
start: number;
|
|
783
|
+
x: number;
|
|
784
|
+
y: number;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
interface Point {
|
|
788
|
+
endTime: number;
|
|
789
|
+
endX: number;
|
|
790
|
+
endY: number;
|
|
791
|
+
startTime: number;
|
|
792
|
+
startX: number;
|
|
793
|
+
startY: number;
|
|
794
|
+
teleported: boolean;
|
|
795
|
+
usedTeleported: boolean;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
interface Movement {
|
|
799
|
+
character: Character;
|
|
800
|
+
currentPoint: Point;
|
|
801
|
+
currentTime: number;
|
|
802
|
+
nonMainCharacterGrounded: boolean;
|
|
803
|
+
pointMap: Point[];
|
|
804
|
+
targetIsDirty: boolean;
|
|
805
|
+
targetNonMainCharacterGrounded: boolean;
|
|
806
|
+
targetX: number;
|
|
807
|
+
targetY: number;
|
|
808
|
+
teleportCount: number;
|
|
809
|
+
teleported: boolean;
|
|
810
|
+
getCurrentEndInfo(): EndInfo;
|
|
811
|
+
moveToTargetPosition(): void;
|
|
812
|
+
onMainCharacterTeleport(): void;
|
|
813
|
+
postPhysicsUpdate(dt: number): void;
|
|
814
|
+
setNonMainCharacterTargetGrounded(grounded: boolean): void;
|
|
815
|
+
setTargetX(x: number): void;
|
|
816
|
+
setTargetY(y: number): void;
|
|
817
|
+
setTeleportCount(teleportCount: number): void;
|
|
818
|
+
update(dt: number): void;
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
interface NonMainCharacterState {
|
|
822
|
+
grounded: boolean;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
interface Animation {
|
|
826
|
+
availableAnimations: string[];
|
|
827
|
+
blinkTimer: number;
|
|
828
|
+
bodyAnimationLocked: boolean;
|
|
829
|
+
bodyAnimationStartedAt: number;
|
|
830
|
+
character: Character;
|
|
831
|
+
currentBodyAnimation: string;
|
|
832
|
+
currentEyeAnimation: string;
|
|
833
|
+
lastGroundedAnimationAt: number;
|
|
834
|
+
nonMainCharacterState: NonMainCharacterState;
|
|
835
|
+
prevNonMainCharacterState: NonMainCharacterState;
|
|
836
|
+
skinChanged: boolean;
|
|
837
|
+
destroy(): void;
|
|
838
|
+
onAnimationComplete(options: any): void;
|
|
839
|
+
onSkinChanged(): void;
|
|
840
|
+
playAnimationOrClearTrack(animations: string[], track: number): void;
|
|
841
|
+
playBodyAnimation(animation: string): void;
|
|
842
|
+
playBodySupplementalAnimation(animation: string): void;
|
|
843
|
+
playEyeAnimation(animation: string): void;
|
|
844
|
+
playJumpSupplementalAnimation(animation: string): void;
|
|
845
|
+
playMovementSupplementalAnimation(animation: string): void;
|
|
846
|
+
setupAnimations(): void;
|
|
847
|
+
startBlinkAnimation(): void;
|
|
848
|
+
stopBlinkAnimation(): void;
|
|
849
|
+
update(dt: number): void;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
interface ProjectileAppearance {
|
|
853
|
+
imageUrl: string;
|
|
854
|
+
rotateToTarget: boolean;
|
|
855
|
+
scale: number;
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
interface WeaponAsset extends BaseAsset {
|
|
859
|
+
fireFrames: number[];
|
|
860
|
+
fromCharacterCenterRadius: number;
|
|
861
|
+
hideFireSlash: boolean;
|
|
862
|
+
idleFrames: number;
|
|
863
|
+
originX: number;
|
|
864
|
+
originY: number;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
interface BaseAsset {
|
|
868
|
+
frameHeight: number;
|
|
869
|
+
frameRate: number;
|
|
870
|
+
frameWidth: number;
|
|
871
|
+
imageUrl: string;
|
|
872
|
+
scale: number;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
interface ImpactAsset extends BaseAsset {
|
|
876
|
+
frames: number[];
|
|
877
|
+
hideIfNoHit?: boolean;
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
interface SoundEffect {
|
|
881
|
+
path: string;
|
|
882
|
+
volume: number;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
interface CurrentAppearance {
|
|
886
|
+
id: string;
|
|
887
|
+
explosionSfx: SoundEffect[];
|
|
888
|
+
fireSfx: SoundEffect[];
|
|
889
|
+
impact: ImpactAsset;
|
|
890
|
+
projectile: ProjectileAppearance;
|
|
891
|
+
reloadSfx: SoundEffect;
|
|
892
|
+
weapon: WeaponAsset;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
interface AimingAndLookingAround {
|
|
896
|
+
angleTween?: import("phaser").Tweens.Tween;
|
|
897
|
+
character: Character;
|
|
898
|
+
currentAngle?: number;
|
|
899
|
+
currentAppearance?: CurrentAppearance;
|
|
900
|
+
currentWeaponId?: string;
|
|
901
|
+
isAiming: boolean;
|
|
902
|
+
lastUsedAngle: number;
|
|
903
|
+
sprite: import("phaser").GameObjects.Sprite;
|
|
904
|
+
targetAngle?: number;
|
|
905
|
+
characterShouldFlipX(): boolean;
|
|
906
|
+
destroy(): void;
|
|
907
|
+
isCurrentlyAiming(): boolean;
|
|
908
|
+
onInventoryStateChange(): void;
|
|
909
|
+
playFireAnimation(): void;
|
|
910
|
+
setImage(appearance: CurrentAppearance): void;
|
|
911
|
+
setSpriteParams(skipRecalculateAlpha: boolean): void;
|
|
912
|
+
setTargetAngle(angle: number, instant?: boolean): void;
|
|
913
|
+
update(): void;
|
|
914
|
+
updateAnotherCharacter(): void;
|
|
915
|
+
updateMainCharacterMouse(): void;
|
|
916
|
+
updateMainCharacterTouch(): void;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
interface ServerPosition {
|
|
920
|
+
packet: number;
|
|
921
|
+
x: number;
|
|
922
|
+
y: number;
|
|
923
|
+
jsonState: string;
|
|
924
|
+
teleport: boolean;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
interface Bodies {
|
|
928
|
+
character: Character;
|
|
929
|
+
collider: Collider;
|
|
930
|
+
colliderDesc: ColliderDesc;
|
|
931
|
+
rigidBody: RigidBody;
|
|
932
|
+
rigidBodyDesc: RigidBodyDesc;
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
interface PhysicsInput {
|
|
936
|
+
_jumpKeyPressed: boolean;
|
|
937
|
+
activeClassDeviceId: string;
|
|
938
|
+
angle: number;
|
|
939
|
+
ignoredStaticBodies: Set<any>;
|
|
940
|
+
ignoredTileBodies: Set<any>;
|
|
941
|
+
jump: boolean;
|
|
942
|
+
projectileHitForcesQueue: Set<any>;
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
interface MovementState {
|
|
946
|
+
accelerationTicks: number;
|
|
947
|
+
direction: string;
|
|
948
|
+
xVelocity: number;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
interface Jump {
|
|
952
|
+
actuallyJumped: boolean;
|
|
953
|
+
isJumping: boolean;
|
|
954
|
+
jumpCounter: number;
|
|
955
|
+
jumpTicks: number;
|
|
956
|
+
jumpsLeft: number;
|
|
957
|
+
xVelocityAtJumpStart: number;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
interface PhysicsState {
|
|
961
|
+
forces: any[];
|
|
962
|
+
gravity: number;
|
|
963
|
+
grounded: boolean;
|
|
964
|
+
groundedTicks: number;
|
|
965
|
+
jump: Jump;
|
|
966
|
+
lastGroundedAngle: number;
|
|
967
|
+
movement: MovementState;
|
|
968
|
+
velocity: Vector;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
interface Physics {
|
|
972
|
+
character: Character;
|
|
973
|
+
currentPacketId: number;
|
|
974
|
+
frameInputsHistory: Map<number, PhysicsInput>;
|
|
975
|
+
justAppliedProjectileHitForces: Set<any>;
|
|
976
|
+
lastClassDeviceActivationId: number;
|
|
977
|
+
lastPacketSent: number[];
|
|
978
|
+
lastSentClassDeviceActivationId: number;
|
|
979
|
+
lastSentTerrainUpdateId: number;
|
|
980
|
+
lastTerrainUpdateId: number;
|
|
981
|
+
newlyAddedTileBodies: Set<any>;
|
|
982
|
+
phase: boolean;
|
|
983
|
+
physicsBodyId: string;
|
|
984
|
+
prevState: PhysicsState;
|
|
985
|
+
projectileHitForcesHistory: Map<any, any>;
|
|
986
|
+
projectileHitForcesQueue: Set<any>;
|
|
987
|
+
scene: Scene;
|
|
988
|
+
state: PhysicsState;
|
|
989
|
+
tickInput: TickInput;
|
|
990
|
+
destroy(): void;
|
|
991
|
+
getBody(): Bodies;
|
|
992
|
+
postUpdate(dt: number): void;
|
|
993
|
+
preUpdate(): void;
|
|
994
|
+
sendToServer(): void;
|
|
995
|
+
setServerPosition(serverPosition: ServerPosition): void;
|
|
996
|
+
setupBody(x: number, y: number): void;
|
|
997
|
+
updateDebugGraphics(): void;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
interface Character {
|
|
1001
|
+
aimingAndLookingAround: AimingAndLookingAround;
|
|
1002
|
+
alpha: Alpha;
|
|
1003
|
+
animation: Animation;
|
|
1004
|
+
body: Vector;
|
|
1005
|
+
characterTrail: CharacterTrail;
|
|
1006
|
+
culling: Culling;
|
|
1007
|
+
depth: Depth;
|
|
1008
|
+
dimensions: Dimensions;
|
|
1009
|
+
flip: Flip;
|
|
1010
|
+
healthbar: Healthbar;
|
|
1011
|
+
id: string;
|
|
1012
|
+
immunity: Immunity;
|
|
1013
|
+
impactAnimation: ImpactAnimation;
|
|
1014
|
+
indicator: Indicator;
|
|
1015
|
+
input: CharacterInput;
|
|
1016
|
+
isActive: boolean;
|
|
1017
|
+
isDestroyed: boolean;
|
|
1018
|
+
isMain: boolean;
|
|
1019
|
+
movement: Movement;
|
|
1020
|
+
nametag: Nametag;
|
|
1021
|
+
network: Network;
|
|
1022
|
+
physics: Physics;
|
|
1023
|
+
position: Position;
|
|
1024
|
+
prevBody: Vector;
|
|
1025
|
+
scale: Scale;
|
|
1026
|
+
scene: Scene;
|
|
1027
|
+
shadow: Shadow;
|
|
1028
|
+
skin: Skin;
|
|
1029
|
+
spine: any;
|
|
1030
|
+
teamId: string;
|
|
1031
|
+
tint: Tint;
|
|
1032
|
+
type: string;
|
|
1033
|
+
vfx: VFX;
|
|
1034
|
+
destroy(): void;
|
|
1035
|
+
setIsMain(isMain: boolean): void;
|
|
1036
|
+
update(dt: number): void;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
interface UpdateCullOptions {
|
|
1040
|
+
mainCharacter: Character;
|
|
1041
|
+
isPhase: boolean;
|
|
1042
|
+
insideView: boolean;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
interface Cull {
|
|
1046
|
+
device: Device;
|
|
1047
|
+
ignoresCull: boolean;
|
|
1048
|
+
isInsideView: boolean;
|
|
1049
|
+
margin: number;
|
|
1050
|
+
wasInsideView: boolean;
|
|
1051
|
+
getMargin(): number;
|
|
1052
|
+
ignoreCulling(): void;
|
|
1053
|
+
setMargin(margin: number): void;
|
|
1054
|
+
setOnEnterViewCallback(callback: () => void): void;
|
|
1055
|
+
setOnLeaveViewCallback(callback: () => void): void;
|
|
1056
|
+
onEnterViewCallback?(): void;
|
|
1057
|
+
onLeaveViewCallback?(): void;
|
|
1058
|
+
updateCull(options: UpdateCullOptions): void;
|
|
1059
|
+
}
|
|
123
1060
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
1061
|
+
type ColliderOptions = {
|
|
1062
|
+
device: Device;
|
|
1063
|
+
scene: Scene;
|
|
1064
|
+
angle: number;
|
|
1065
|
+
} & DeviceCollider;
|
|
1066
|
+
|
|
1067
|
+
type DeviceCollider = RectShort | CircleShort | Ellipse;
|
|
1068
|
+
|
|
1069
|
+
interface Colliders {
|
|
1070
|
+
add: {
|
|
1071
|
+
box(collider: RectShort): void;
|
|
1072
|
+
circle(collider: CircleShort): void;
|
|
1073
|
+
ellipse(collider: Ellipse): void;
|
|
1074
|
+
};
|
|
1075
|
+
device: Device;
|
|
1076
|
+
list: DeviceCollider[];
|
|
1077
|
+
createOptions(collider: DeviceCollider): ColliderOptions;
|
|
1078
|
+
destroy(): void;
|
|
1079
|
+
forEach(callback: (collider: DeviceCollider) => void): void;
|
|
1080
|
+
hideDebug(): void;
|
|
1081
|
+
showDebug(): void;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
interface Rect {
|
|
1085
|
+
x: number;
|
|
1086
|
+
y: number;
|
|
1087
|
+
width: number;
|
|
1088
|
+
height: number;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
interface BoundingBox {
|
|
1092
|
+
cachedBoundingBox: Rect;
|
|
1093
|
+
device: Device;
|
|
1094
|
+
hardcodedBoundingBox?: Rect;
|
|
1095
|
+
clearCached(): void;
|
|
1096
|
+
clearHardcoded(): void;
|
|
1097
|
+
getBoundingBox(): Rect;
|
|
1098
|
+
isHardcoded(): boolean;
|
|
1099
|
+
isInsideBoundingBox(x: number, y: number): boolean;
|
|
1100
|
+
setHardcoded(rect: Rect): void;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
interface AppearanceVariation {
|
|
1104
|
+
device: Device;
|
|
1105
|
+
resetAppearance(): void;
|
|
1106
|
+
setPreviewAppearance(): void;
|
|
1107
|
+
setRemovalAppearance(): void;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
interface BaseDevice {
|
|
1111
|
+
isPreview: boolean;
|
|
1112
|
+
placedByClient: boolean;
|
|
1113
|
+
isDestroyed: boolean;
|
|
1114
|
+
x: number;
|
|
1115
|
+
y: number;
|
|
1116
|
+
forceUseMyState: boolean;
|
|
1117
|
+
options: Record<string, any>;
|
|
1118
|
+
state: Record<string, any>;
|
|
1119
|
+
prevState: Record<string, any>;
|
|
1120
|
+
name: string;
|
|
1121
|
+
id: string;
|
|
1122
|
+
scene: Scene;
|
|
1123
|
+
deviceOption: DeviceOption;
|
|
1124
|
+
visualEditing: VisualEditing;
|
|
1125
|
+
shadows: Shadows;
|
|
1126
|
+
input: DeviceInput;
|
|
1127
|
+
parts: any;
|
|
1128
|
+
cull: Cull;
|
|
1129
|
+
boundingBox: BoundingBox;
|
|
1130
|
+
appearanceVariation: AppearanceVariation;
|
|
1131
|
+
colliders: Colliders;
|
|
1132
|
+
interactiveZones: InteractiveZones;
|
|
1133
|
+
deviceUI: DeviceUI;
|
|
1134
|
+
layers: Layers;
|
|
1135
|
+
wirePoints: WirePoints;
|
|
1136
|
+
tweens: DeviceTweens;
|
|
1137
|
+
projectiles: DeviceProjectiles;
|
|
1138
|
+
sensors: any;
|
|
1139
|
+
onHide: (() => void) | null;
|
|
1140
|
+
onShow: (() => void) | null;
|
|
1141
|
+
onUpdate: (() => void) | null;
|
|
1142
|
+
initialStateProcessing(state: Record<string, any>): Record<string, any>;
|
|
1143
|
+
getMaxDepth(): number;
|
|
1144
|
+
onStateUpdateFromServer(key: string, value: any): void;
|
|
1145
|
+
getRealKey(key: string): string;
|
|
1146
|
+
onPostUpdate(): void;
|
|
1147
|
+
onInit(): void;
|
|
1148
|
+
onMessage(message: {
|
|
1149
|
+
key: string;
|
|
1150
|
+
data: any;
|
|
1151
|
+
}): void;
|
|
1152
|
+
onStateChange(key: string): void;
|
|
1153
|
+
onDestroy(options: {
|
|
1154
|
+
isBeingReplaced: boolean;
|
|
1155
|
+
}): void;
|
|
1156
|
+
sendToServerDevice(key: string, data: any): void;
|
|
1157
|
+
openDeviceUI(): void;
|
|
1158
|
+
checkIfCollidersEnabled(): boolean;
|
|
1159
|
+
destroy(options: {
|
|
1160
|
+
isBeingReplaced: boolean;
|
|
1161
|
+
}): void;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
type Device = BaseDevice & {
|
|
1165
|
+
[key: string]: any;
|
|
1166
|
+
};
|
|
1167
|
+
|
|
1168
|
+
interface Cameras {
|
|
1169
|
+
allCameras: Device[];
|
|
1170
|
+
allCamerasNeedsUpdate: boolean;
|
|
1171
|
+
camerasPlayerIsInside: any[];
|
|
1172
|
+
scene: Scene;
|
|
1173
|
+
wasInPrePhase: boolean;
|
|
1174
|
+
findNewCameras(allCameras: Device[], x: number, y: number): any;
|
|
1175
|
+
setCurrentCameraSizeDevice(device: Device): void;
|
|
1176
|
+
switchToDefaultCameraSize(reset: boolean): void;
|
|
1177
|
+
update(devices: Device[]): void;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
interface Devices {
|
|
1181
|
+
allDevices: Device[];
|
|
1182
|
+
cameras: Cameras;
|
|
1183
|
+
devicesAction: DevicesAction;
|
|
1184
|
+
devicesPreview: DevicesPreview;
|
|
1185
|
+
devicesToPostUpdate: Set<Device>;
|
|
1186
|
+
devicesToUpdate: Set<Device>;
|
|
1187
|
+
interactives: WorldInteractives;
|
|
1188
|
+
scene: Scene;
|
|
1189
|
+
visualEditingManager: any;
|
|
1190
|
+
addDevice(device: Device): void;
|
|
1191
|
+
cullDevices(): void;
|
|
1192
|
+
findDeviceUnderMouse(): Device | undefined;
|
|
1193
|
+
getDeviceById(id: string): Device | undefined;
|
|
1194
|
+
hasDevice(id: string): boolean;
|
|
1195
|
+
removeDeviceById(id: string, options: {
|
|
1196
|
+
isBeingReplaced: boolean;
|
|
1197
|
+
}): void;
|
|
1198
|
+
update(dt: number): void;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
interface WorldManager {
|
|
1202
|
+
devices: Devices;
|
|
1203
|
+
inGameTerrainBuilder: InGameTerrainBuilder;
|
|
1204
|
+
physics: PhysicsManager;
|
|
1205
|
+
projectiles: Projectiles;
|
|
1206
|
+
scene: Scene;
|
|
1207
|
+
terrain: any;
|
|
1208
|
+
wires: any;
|
|
1209
|
+
update(dt: number): void;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
interface MovementPointer {
|
|
1213
|
+
id: string;
|
|
1214
|
+
x: number;
|
|
1215
|
+
y: number;
|
|
1216
|
+
downX: number;
|
|
1217
|
+
downY: number;
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
interface Mouse {
|
|
1221
|
+
clickListeners: Map<string, (pointer: import("phaser").Input.Pointer) => void>;
|
|
1222
|
+
downX: number;
|
|
1223
|
+
downY: number;
|
|
1224
|
+
isHoldingDown: boolean;
|
|
1225
|
+
movementPointer?: MovementPointer;
|
|
1226
|
+
scene: Scene;
|
|
1227
|
+
stopRunningClickHandlers: boolean;
|
|
1228
|
+
worldX: number;
|
|
1229
|
+
worldY: number;
|
|
1230
|
+
x: number;
|
|
1231
|
+
y: number;
|
|
1232
|
+
addClickListener(options: {
|
|
1233
|
+
callback: (pointer: import("phaser").Input.Pointer) => void;
|
|
1234
|
+
}): () => void;
|
|
1235
|
+
pointerUpdate(pointer: import("phaser").Input.Pointer): void;
|
|
1236
|
+
removeClickListener(id: string): void;
|
|
1237
|
+
shouldBecomeMovementPointer(pointer: import("phaser").Input.Pointer): boolean;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
interface KeyboardState {
|
|
1241
|
+
isHoldingDown: boolean;
|
|
1242
|
+
isHoldingLeft: boolean;
|
|
1243
|
+
isHoldingRight: boolean;
|
|
1244
|
+
isHoldingUp: boolean;
|
|
1245
|
+
isHoldingSpace: boolean;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
interface Keyboard {
|
|
1249
|
+
heldKeys: Set<string>;
|
|
1250
|
+
scene: Scene;
|
|
1251
|
+
state: KeyboardState;
|
|
1252
|
+
createListeners(): void;
|
|
1253
|
+
isKeyDown(key: number): boolean;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
interface PressedKeys {
|
|
1257
|
+
up: boolean;
|
|
1258
|
+
down: boolean;
|
|
1259
|
+
left: boolean;
|
|
1260
|
+
right: boolean;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
interface Cursor {
|
|
1264
|
+
scene: Scene;
|
|
1265
|
+
createStateListeners(): void;
|
|
1266
|
+
updateCursor(): void;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
interface AimCursor {
|
|
1270
|
+
aimCursor: import("phaser").GameObjects.Sprite;
|
|
1271
|
+
aimCursorWorldPos: Vector;
|
|
1272
|
+
centerShiftX: number;
|
|
1273
|
+
centerShiftY: number;
|
|
1274
|
+
scene: Scene;
|
|
1275
|
+
x: number;
|
|
1276
|
+
y: number;
|
|
1277
|
+
update(): void;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
interface TickInput {
|
|
1281
|
+
angle: number | null;
|
|
1282
|
+
jump: boolean;
|
|
1283
|
+
_jumpKeyPressed: boolean;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
interface InputManager {
|
|
1287
|
+
aimCursor: AimCursor;
|
|
1288
|
+
currentInput: TickInput;
|
|
1289
|
+
cursor: Cursor;
|
|
1290
|
+
isListeningForInput: boolean;
|
|
1291
|
+
jumpedSinceLastPhysicsFetch: boolean;
|
|
1292
|
+
keyboard: Keyboard;
|
|
1293
|
+
mouse: Mouse;
|
|
1294
|
+
physicsInputHandledBetweenUpdates: boolean;
|
|
1295
|
+
scene: Scene;
|
|
1296
|
+
getAimingDirection(): Vector;
|
|
1297
|
+
getInputAngle(): number | null;
|
|
1298
|
+
getKeys(): PressedKeys;
|
|
1299
|
+
getMouseWorldXY(): Vector;
|
|
1300
|
+
getPhysicsInput(): TickInput;
|
|
1301
|
+
refreshInput(): void;
|
|
1302
|
+
update(): void;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
interface Scene extends BaseScene {
|
|
1306
|
+
actionManager: ActionManager;
|
|
1307
|
+
cameraHelper: any;
|
|
1308
|
+
characterManager: CharacterManager;
|
|
1309
|
+
dt: number;
|
|
1310
|
+
inputManager: InputManager;
|
|
1311
|
+
resizeManager: any;
|
|
1312
|
+
shadowsManager: any;
|
|
1313
|
+
spine: any;
|
|
1314
|
+
tileManager: TileManager;
|
|
1315
|
+
uiManager: any;
|
|
1316
|
+
worldManager: WorldManager;
|
|
1317
|
+
create(): void;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
interface Phaser {
|
|
1321
|
+
mainCharacter: Character;
|
|
1322
|
+
mainCharacterTeleported: boolean;
|
|
1323
|
+
scene: Scene;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
interface NetworkStore {
|
|
1327
|
+
attemptingToConnect: boolean;
|
|
1328
|
+
attemptingToReconnect: boolean;
|
|
1329
|
+
authId: string;
|
|
1330
|
+
client: any;
|
|
1331
|
+
clientConnectionString: string;
|
|
1332
|
+
error: any;
|
|
1333
|
+
errorFindingServerForGame: boolean;
|
|
1334
|
+
errorJoiningRoom: boolean;
|
|
1335
|
+
failedToReconnect: boolean;
|
|
1336
|
+
findingServerForGame: boolean;
|
|
1337
|
+
hasJoinedRoom: boolean;
|
|
1338
|
+
isOffline: boolean;
|
|
1339
|
+
isUpToDateWithPingPong: boolean;
|
|
1340
|
+
joinedRoom: boolean;
|
|
1341
|
+
phaseBeforeReconnect: string | null;
|
|
1342
|
+
ping: number;
|
|
1343
|
+
room: any;
|
|
1344
|
+
roomIntentErrorMessage: string;
|
|
1345
|
+
syncingAfterReconnection: boolean;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
interface Matchmaker {
|
|
1349
|
+
gameCode: string;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
interface Loading {
|
|
1353
|
+
completedInitialLoad: boolean;
|
|
1354
|
+
loadedInitialDevices: boolean;
|
|
1355
|
+
loadedInitialTerrain: boolean;
|
|
1356
|
+
percentageAssetsLoaded: number;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
interface Hooks {
|
|
1360
|
+
hookJSON: string;
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
interface EditingStore {
|
|
1364
|
+
accessPoints: Map<any, any>;
|
|
1365
|
+
gridSnap: number;
|
|
1366
|
+
showMemoryBarAtAllTimes: boolean;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
interface Assignment {
|
|
1370
|
+
hasSavedProgress: boolean;
|
|
1371
|
+
objective: string;
|
|
1372
|
+
percentageComplete: number;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
interface ActivityFeed {
|
|
1376
|
+
feedItems: {
|
|
1377
|
+
id: string;
|
|
1378
|
+
message: string;
|
|
1379
|
+
}[];
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
interface CustomAssetOption {
|
|
1383
|
+
id: string;
|
|
1384
|
+
maxOnMap: number;
|
|
1385
|
+
memoryCost: number;
|
|
1386
|
+
minimumRoleLevel?: number;
|
|
1387
|
+
validate: any;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
interface TerrainOption {
|
|
1391
|
+
id: string;
|
|
1392
|
+
name: string;
|
|
1393
|
+
maskTilesUrl: string;
|
|
1394
|
+
borderTilesUrl: string;
|
|
1395
|
+
fillUrl: string;
|
|
1396
|
+
blockedMapStyles?: string[];
|
|
1397
|
+
seasonTicketRequired?: boolean;
|
|
1398
|
+
previewUrl: string;
|
|
1399
|
+
health?: number;
|
|
1400
|
+
minimumRoleLevel?: number;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
interface SkinOption {
|
|
1404
|
+
id: string;
|
|
1405
|
+
name: string;
|
|
1406
|
+
minimumRoleLevel?: number;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
interface CircleShort {
|
|
1410
|
+
x: number;
|
|
1411
|
+
y: number;
|
|
1412
|
+
r: number;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
interface RectShort {
|
|
1416
|
+
x: number;
|
|
1417
|
+
y: number;
|
|
1418
|
+
w: number;
|
|
1419
|
+
h: number;
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1422
|
+
interface RotatedRectShort extends RectShort {
|
|
1423
|
+
angle: number;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
interface RotatedEllipse extends Ellipse {
|
|
1427
|
+
angle: number;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
interface Ellipse {
|
|
1431
|
+
x: number;
|
|
1432
|
+
y: number;
|
|
1433
|
+
r1: number;
|
|
1434
|
+
r2: number;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
interface PropOption {
|
|
1438
|
+
id: string;
|
|
1439
|
+
name: string;
|
|
1440
|
+
scaleMultip: number;
|
|
1441
|
+
originX: number;
|
|
1442
|
+
originY: number;
|
|
1443
|
+
imageUrl: string;
|
|
1444
|
+
rectColliders: RotatedRectShort[];
|
|
1445
|
+
circleColliders: CircleShort[];
|
|
1446
|
+
ellipseColliders: RotatedEllipse[];
|
|
1447
|
+
shadows: Ellipse[];
|
|
1448
|
+
seasonTicketRequired?: boolean;
|
|
1449
|
+
minimumRoleLevel?: number;
|
|
1450
|
+
defaultLayer?: string;
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
interface WeaponShared {
|
|
1454
|
+
cooldownBetweenShots: number;
|
|
1455
|
+
allowAutoFire: boolean;
|
|
1456
|
+
startingProjectileDistanceFromCharacter: number;
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
interface Weapon {
|
|
1460
|
+
type: string;
|
|
1461
|
+
appearance: string;
|
|
1462
|
+
shared: WeaponShared;
|
|
1463
|
+
bullet?: {
|
|
1464
|
+
ammoItemId: string;
|
|
1465
|
+
};
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
interface ItemOption {
|
|
1469
|
+
type: string;
|
|
1470
|
+
id: string;
|
|
1471
|
+
name: string;
|
|
1472
|
+
editorName: string;
|
|
1473
|
+
description: string;
|
|
1474
|
+
previewImage: string;
|
|
1475
|
+
rarity?: string;
|
|
1476
|
+
weapon?: Weapon;
|
|
1477
|
+
minimumRoleLevel?: number;
|
|
1478
|
+
useCommand?: string;
|
|
1479
|
+
consumeType?: string;
|
|
1480
|
+
terrainId?: string;
|
|
1481
|
+
maxStackSize?: number;
|
|
1482
|
+
}
|
|
1483
|
+
|
|
1484
|
+
interface OptionSchema {
|
|
1485
|
+
options: any[];
|
|
1486
|
+
categories?: any[];
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1489
|
+
interface DeviceInfo {
|
|
1490
|
+
id: string;
|
|
1491
|
+
name: string;
|
|
1492
|
+
description?: string;
|
|
1493
|
+
optionSchema: OptionSchema;
|
|
1494
|
+
defaultState: any;
|
|
1495
|
+
codeGridSchema: CodeGridSchema;
|
|
1496
|
+
wireConfig?: any;
|
|
1497
|
+
minimumRoleLevel?: number;
|
|
1498
|
+
maxOnMap?: number;
|
|
1499
|
+
initialMemoryCost?: number;
|
|
1500
|
+
subsequentMemoryCost?: number;
|
|
1501
|
+
supportedMapStyles?: string[];
|
|
1502
|
+
seasonTicketRequired?: boolean;
|
|
1503
|
+
maximumRoleLevel?: number;
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
interface CodeGrids {
|
|
1507
|
+
blockCategories: string;
|
|
1508
|
+
customBlocks: string;
|
|
1509
|
+
customBlocksParsed: any[];
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
interface WorldOptions {
|
|
1513
|
+
codeGrids: CodeGrids;
|
|
1514
|
+
customAssetsOptions: CustomAssetOption[];
|
|
1515
|
+
deviceOptions: DeviceInfo[];
|
|
1516
|
+
hasAllProps: boolean;
|
|
1517
|
+
itemOptions: ItemOption[];
|
|
1518
|
+
propsOptions: PropOption[];
|
|
1519
|
+
skinOptions: SkinOption[];
|
|
1520
|
+
terrainOptions: TerrainOption[];
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
interface Limits {
|
|
1524
|
+
blocksPerCodeGrid: number;
|
|
1525
|
+
codeGrids: number;
|
|
1526
|
+
codeGridsPerDevice: number;
|
|
1527
|
+
collidingTiles: number;
|
|
1528
|
+
customAssetOnMapDefault: number;
|
|
1529
|
+
deviceMaxOnMapDefault: number;
|
|
1530
|
+
nonCollidingTiles: number;
|
|
1531
|
+
wires: number;
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
interface Counters {
|
|
1535
|
+
codeGrids: number;
|
|
1536
|
+
collidingTiles: number;
|
|
1537
|
+
customAssets: Map<string, number>;
|
|
1538
|
+
devices: Map<string, number>;
|
|
1539
|
+
nonCollidingTiles: number;
|
|
1540
|
+
wires: number;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
interface Costs {
|
|
1544
|
+
codeGrid: number;
|
|
1545
|
+
collidingTile: number;
|
|
1546
|
+
customAssetDefault: number;
|
|
1547
|
+
deviceInitialDefault: number;
|
|
1548
|
+
deviceSubsequentDefault: number;
|
|
1549
|
+
nonCollidingTile: number;
|
|
1550
|
+
wire: number;
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
interface MemorySystem {
|
|
1554
|
+
costs: Costs;
|
|
1555
|
+
counters: Counters;
|
|
1556
|
+
limits: Limits;
|
|
1557
|
+
maxUsedMemory: number;
|
|
1558
|
+
usedMemoryCost: number;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
interface CharacterData {
|
|
1562
|
+
allowWeaponFire: boolean;
|
|
1563
|
+
existsBeforeReconnect: boolean;
|
|
1564
|
+
fragility: number;
|
|
1565
|
+
health: number;
|
|
1566
|
+
id: string;
|
|
1567
|
+
isActive: boolean;
|
|
1568
|
+
lastPlayersTeamId: string;
|
|
1569
|
+
name: string;
|
|
1570
|
+
permissions: Permissions;
|
|
1571
|
+
score: number;
|
|
1572
|
+
teamId: string;
|
|
1573
|
+
type: string;
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
interface Characters {
|
|
1577
|
+
characters: Map<string, CharacterData>;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
interface Scorebar {
|
|
1581
|
+
teamColors: string[];
|
|
1582
|
+
teams: string[];
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
interface NoneGui {
|
|
1586
|
+
addMenu: {
|
|
1587
|
+
screen: string;
|
|
1588
|
+
};
|
|
1589
|
+
duringGameScreenVisible: boolean;
|
|
1590
|
+
optionsMenu: {
|
|
1591
|
+
screen: string;
|
|
1592
|
+
};
|
|
1593
|
+
screen: string;
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
interface Modals {
|
|
1597
|
+
closeAllModals: () => void;
|
|
1598
|
+
cosmosModalOpen: boolean;
|
|
1599
|
+
switchToRegisterScreenWhenCosmosModalOpens: boolean;
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1602
|
+
interface KnockoutAlert {
|
|
1603
|
+
id: string;
|
|
1604
|
+
name: string;
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
interface GuiSlot {
|
|
1608
|
+
id: string;
|
|
1609
|
+
position: string;
|
|
1610
|
+
text: string;
|
|
1611
|
+
trackedItemId: any;
|
|
1612
|
+
showTrackedItemMaximumAmount: boolean;
|
|
1613
|
+
type: string;
|
|
1614
|
+
priority: number;
|
|
1615
|
+
color: string;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
interface DamageIndicator {
|
|
1619
|
+
show: boolean;
|
|
1620
|
+
/** `h` for red, `s` for blue, and any other string for yellow. */
|
|
1621
|
+
type: string;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
interface BottomInGamePrimaryContent {
|
|
1625
|
+
interactionWantsToBeVisible: boolean;
|
|
1626
|
+
prioritizeInteraction: boolean;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
interface Achievement {
|
|
1630
|
+
id: string;
|
|
1631
|
+
key: string;
|
|
1632
|
+
reset: () => void;
|
|
1633
|
+
update: () => void;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
interface GUI {
|
|
1637
|
+
achievement: Achievement;
|
|
1638
|
+
bottomInGamePrimaryContent: BottomInGamePrimaryContent;
|
|
1639
|
+
damageIndicator: DamageIndicator;
|
|
1640
|
+
guiSlots: GuiSlot[];
|
|
1641
|
+
guiSlotsChangeCounter: number;
|
|
1642
|
+
knockoutAlerts: KnockoutAlert[];
|
|
1643
|
+
modals: Modals;
|
|
1644
|
+
none: NoneGui;
|
|
1645
|
+
openInputBlockingUI: string[];
|
|
1646
|
+
playersManagerUpdateCounter: number;
|
|
1647
|
+
scale: number;
|
|
1648
|
+
scorebar?: Scorebar;
|
|
1649
|
+
selectedPlayerId: string;
|
|
1650
|
+
showingGrid: boolean;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
interface Permissions {
|
|
1654
|
+
adding: boolean;
|
|
1655
|
+
editing: boolean;
|
|
1656
|
+
manageCodeGrids: boolean;
|
|
1657
|
+
removing: boolean;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
interface GameSession {
|
|
1661
|
+
callToAction: any;
|
|
1662
|
+
countdownEnd: number;
|
|
1663
|
+
phase: string;
|
|
1664
|
+
resultsEnd: number;
|
|
1665
|
+
widgets: {
|
|
1666
|
+
widgets: any[];
|
|
1667
|
+
};
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1670
|
+
interface Session {
|
|
1671
|
+
allowGoogleTranslate: boolean;
|
|
1672
|
+
amIGameOwner: boolean;
|
|
1673
|
+
canAddGameTime: boolean;
|
|
1674
|
+
cosmosBlocked: boolean;
|
|
1675
|
+
customTeams: {
|
|
1676
|
+
characterToTeamMap: Map<string, string>;
|
|
1677
|
+
};
|
|
1678
|
+
duringTransition: boolean;
|
|
1679
|
+
gameClockDuration: string;
|
|
1680
|
+
gameOwnerId: string;
|
|
1681
|
+
gameSession: GameSession;
|
|
1682
|
+
gameTime: number;
|
|
1683
|
+
gameTimeLastUpdateAt: number;
|
|
1684
|
+
globalPermissions: Permissions;
|
|
1685
|
+
loadingPhase: boolean;
|
|
1686
|
+
mapCreatorRoleLevel: number;
|
|
1687
|
+
mapStyle: string;
|
|
1688
|
+
modeType: string;
|
|
1689
|
+
ownerRole: string;
|
|
1690
|
+
phase: string;
|
|
1691
|
+
phaseChangedAt: number;
|
|
1692
|
+
version: string;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
interface ZoneDropOverrides {
|
|
1696
|
+
allowItemDrop: boolean;
|
|
1697
|
+
allowResourceDrop: boolean;
|
|
1698
|
+
allowWeaponDrop: boolean;
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
interface XPAddition {
|
|
1702
|
+
amount: number;
|
|
1703
|
+
reason: string;
|
|
1704
|
+
xp: number;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
interface XP {
|
|
1708
|
+
additionTimeouts: Map<string, ReturnType<typeof setTimeout>>;
|
|
1709
|
+
additions: XPAddition[];
|
|
1710
|
+
showingLevelUp: boolean;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
interface MeSpectating {
|
|
1714
|
+
id: string;
|
|
1715
|
+
name: string;
|
|
1716
|
+
shuffle: boolean;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
interface TileToRemove {
|
|
1720
|
+
depth: number;
|
|
1721
|
+
id: string;
|
|
1722
|
+
x: number;
|
|
1723
|
+
y: number;
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
interface Removing {
|
|
1727
|
+
deviceIdToRemove?: string;
|
|
1728
|
+
removingMode: string;
|
|
1729
|
+
removingTilesEraserSize: number;
|
|
1730
|
+
removingTilesLayer: number;
|
|
1731
|
+
removingTilesMode: string;
|
|
1732
|
+
tilesToRemove: TileToRemove[];
|
|
1733
|
+
wireIdToRemove?: string;
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
interface NonDismissMessage {
|
|
1737
|
+
description: string;
|
|
1738
|
+
title: string;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
interface Mood {
|
|
1742
|
+
activeDeviceId: string;
|
|
1743
|
+
vignetteActive: boolean;
|
|
1744
|
+
vignetteStrength: number;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
interface MobileControls {
|
|
1748
|
+
left: boolean;
|
|
1749
|
+
right: boolean;
|
|
1750
|
+
up: boolean;
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
interface InventorySlot {
|
|
1754
|
+
amount: number;
|
|
1755
|
+
existsBeforeReconnect: boolean;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
interface AlertFeed {
|
|
1759
|
+
amount: number;
|
|
1760
|
+
itemId: string;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
interface InteractiveSlot {
|
|
1764
|
+
clipSize: number;
|
|
1765
|
+
count: number;
|
|
1766
|
+
currentClip: number;
|
|
1767
|
+
durability: number;
|
|
1768
|
+
itemId: string;
|
|
1769
|
+
waiting: boolean;
|
|
1770
|
+
waitingEndTime: number;
|
|
1771
|
+
waitingStartTime: number;
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1774
|
+
interface Inventory {
|
|
1775
|
+
activeInteractiveSlot: number;
|
|
1776
|
+
alertFeed?: AlertFeed;
|
|
1777
|
+
alertsFeed: AlertFeed[];
|
|
1778
|
+
currentWaitingEndTime: number;
|
|
1779
|
+
infiniteAmmo: boolean;
|
|
1780
|
+
interactiveSlotErrorMessageTimeouts: Map<string, ReturnType<typeof setTimeout>>;
|
|
1781
|
+
interactiveSlotErrorMessages: Map<string, string>;
|
|
1782
|
+
interactiveSlots: Map<string, InteractiveSlot>;
|
|
1783
|
+
interactiveSlotsOrder: number[];
|
|
1784
|
+
isCurrentWaitingSoundForItem: boolean;
|
|
1785
|
+
lastShotsTimestamps: Map<string, number>;
|
|
1786
|
+
maxSlots: number;
|
|
1787
|
+
slots: Map<string, InventorySlot>;
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
interface InteractiveInfo {
|
|
1791
|
+
action: string;
|
|
1792
|
+
allowedToInteract: boolean;
|
|
1793
|
+
message: string;
|
|
1794
|
+
topHeader?: string;
|
|
1795
|
+
topHeaderColor: string;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
interface Interactives {
|
|
1799
|
+
deviceId: string;
|
|
1800
|
+
info: InteractiveInfo;
|
|
1801
|
+
}
|
|
1802
|
+
|
|
1803
|
+
interface Health {
|
|
1804
|
+
fragility: number;
|
|
1805
|
+
health: number;
|
|
1806
|
+
lives: number;
|
|
1807
|
+
maxHealth: number;
|
|
1808
|
+
maxShield: number;
|
|
1809
|
+
shield: number;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
interface EditingPreferences {
|
|
1813
|
+
cameraZoom: number;
|
|
1814
|
+
movementSpeed: number | null;
|
|
1815
|
+
phase: boolean | null;
|
|
1816
|
+
showGrid: boolean | null;
|
|
1817
|
+
topDownControlsActive: boolean;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
interface CurrentlyEditedDevice {
|
|
1821
|
+
deviceOptionId: string;
|
|
1822
|
+
id: string;
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
interface EditingDevice {
|
|
1826
|
+
currentlyEditedDevice: CurrentlyEditedDevice;
|
|
1827
|
+
currentlyEditedGridId: string;
|
|
1828
|
+
currentlySortedDeviceId: string;
|
|
1829
|
+
screen: string;
|
|
1830
|
+
sortingState: any[];
|
|
1831
|
+
usingMultiselect: boolean;
|
|
1832
|
+
visualEditing: any;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
interface Editing {
|
|
1836
|
+
device: EditingDevice;
|
|
1837
|
+
preferences: EditingPreferences;
|
|
1838
|
+
wire: {
|
|
1839
|
+
currentlyEditedWireId: string;
|
|
1840
|
+
};
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
interface MeDeviceUI {
|
|
1844
|
+
current: {
|
|
1845
|
+
deviceId: string;
|
|
1846
|
+
props: any;
|
|
1847
|
+
};
|
|
1848
|
+
desiredOpenDeviceId?: string;
|
|
1849
|
+
serverVersionOpenDeviceId: string;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
interface MeCustomAssets {
|
|
1853
|
+
currentData?: {
|
|
1854
|
+
shapes: Shapes;
|
|
1855
|
+
};
|
|
1856
|
+
currentIcon: string;
|
|
1857
|
+
currentId: string;
|
|
1858
|
+
currentName: string;
|
|
1859
|
+
currentOptionId: string;
|
|
1860
|
+
isUIOpen: boolean;
|
|
1861
|
+
openOptionId: string | null;
|
|
1862
|
+
pendingDeleteId: string | null;
|
|
1863
|
+
showDeleteConfirm: boolean;
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1866
|
+
interface Context {
|
|
1867
|
+
cursorIsOverCharacterId: string;
|
|
1868
|
+
__devicesUnderCursor: string[];
|
|
1869
|
+
__wiresUnderCursor: Set<string>;
|
|
1870
|
+
cursorIsOverDevice: boolean;
|
|
1871
|
+
cursorIsOverWire: boolean;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
interface ClassDesigner {
|
|
1875
|
+
activeClassDeviceId: string;
|
|
1876
|
+
lastActivatedClassDeviceId: string;
|
|
1877
|
+
lastClassDeviceActivationId: number;
|
|
1878
|
+
}
|
|
1879
|
+
|
|
1880
|
+
interface CinematicMode {
|
|
1881
|
+
charactersVisible: boolean;
|
|
1882
|
+
enabled: boolean;
|
|
1883
|
+
followingMainCharacter: boolean;
|
|
1884
|
+
hidingGUI: boolean;
|
|
1885
|
+
mainCharacterVisible: boolean;
|
|
1886
|
+
nameTagsVisible: boolean;
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
interface AddingWires {
|
|
1890
|
+
hoveringOverSupportedDevice: boolean;
|
|
1891
|
+
pointUnderMouseDeviceId?: string;
|
|
1892
|
+
startDeviceSelected: boolean;
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
interface AddingTerrain {
|
|
1896
|
+
brushSize: number;
|
|
1897
|
+
buildTerrainAsWall: boolean;
|
|
1898
|
+
currentlySelectedTerrain: string;
|
|
1899
|
+
currentlySelectedTerrainDepth: number;
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
interface ExistingDevice {
|
|
1903
|
+
action: string;
|
|
1904
|
+
id: string;
|
|
1905
|
+
shiftX: number;
|
|
1906
|
+
shiftY: number;
|
|
1907
|
+
use: boolean;
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
interface AddingDevices {
|
|
1911
|
+
currentlySelectedProp: string;
|
|
1912
|
+
existingDevice: ExistingDevice;
|
|
1913
|
+
selectedDeviceType: string;
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
interface Adding {
|
|
1917
|
+
devices: AddingDevices;
|
|
1918
|
+
terrain: AddingTerrain;
|
|
1919
|
+
wires: AddingWires;
|
|
1920
|
+
mode: string;
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
interface Me {
|
|
1924
|
+
adding: Adding;
|
|
1925
|
+
cinematicMode: CinematicMode;
|
|
1926
|
+
classDesigner: ClassDesigner;
|
|
1927
|
+
completedInitialPlacement: boolean;
|
|
1928
|
+
context: Context;
|
|
1929
|
+
currentAction: string;
|
|
1930
|
+
customAssets: MeCustomAssets;
|
|
1931
|
+
deviceUI: MeDeviceUI;
|
|
1932
|
+
editing: Editing;
|
|
1933
|
+
gotKicked: boolean;
|
|
1934
|
+
health: Health;
|
|
1935
|
+
interactives: Interactives;
|
|
1936
|
+
inventory: Inventory;
|
|
1937
|
+
isRespawning: boolean;
|
|
1938
|
+
mobileControls: MobileControls;
|
|
1939
|
+
mood: Mood;
|
|
1940
|
+
movementSpeed: number;
|
|
1941
|
+
myTeam: string;
|
|
1942
|
+
nonDismissMessage: NonDismissMessage;
|
|
1943
|
+
phase: boolean;
|
|
1944
|
+
preferences: {
|
|
1945
|
+
startGameWithMode: string;
|
|
1946
|
+
};
|
|
1947
|
+
properties: Map<string, any>;
|
|
1948
|
+
removing: Removing;
|
|
1949
|
+
roleLevel: number;
|
|
1950
|
+
spawnPosition: Vector;
|
|
1951
|
+
spectating: MeSpectating;
|
|
1952
|
+
teleportCount: number;
|
|
1953
|
+
unredeemeedXP: number;
|
|
1954
|
+
xp: XP;
|
|
1955
|
+
zoneDropOverrides: ZoneDropOverrides;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
interface QueuedTile {
|
|
1959
|
+
timestamp: number;
|
|
1960
|
+
removedBodyIds: string[];
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
interface Tile {
|
|
1964
|
+
collides: boolean;
|
|
1965
|
+
depth: number;
|
|
1966
|
+
terrain: string;
|
|
1967
|
+
x: number;
|
|
1968
|
+
y: number;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
interface Terrain {
|
|
1972
|
+
currentTerrainUpdateId: number;
|
|
1973
|
+
modifiedHealth: Map<string, number>;
|
|
1974
|
+
queuedTiles: Map<number, QueuedTile>;
|
|
1975
|
+
teamColorTiles: Map<string, string>;
|
|
1976
|
+
tiles: Map<string, Tile>;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
interface DeviceState {
|
|
1980
|
+
deviceId: string;
|
|
1981
|
+
properties: Map<string, any>;
|
|
1982
|
+
}
|
|
1983
|
+
|
|
1984
|
+
interface CodeGridItem {
|
|
1985
|
+
createdAt: number;
|
|
1986
|
+
existsBeforeReconnect: boolean;
|
|
1987
|
+
json: string;
|
|
1988
|
+
triggerType: string;
|
|
1989
|
+
owner?: string;
|
|
1990
|
+
triggerValue?: string;
|
|
1991
|
+
visitors: string[];
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1994
|
+
interface CodeGrid {
|
|
1995
|
+
existsBeforeReconnect: boolean;
|
|
1996
|
+
items: Map<string, CodeGridItem>;
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
interface CodeGridSchema {
|
|
2000
|
+
allowChannelGrids: boolean;
|
|
2001
|
+
customBlocks: any[];
|
|
2002
|
+
triggers: any[];
|
|
2003
|
+
}
|
|
2004
|
+
|
|
2005
|
+
interface DeviceOption {
|
|
2006
|
+
codeGridSchema: CodeGridSchema;
|
|
2007
|
+
defaultState: any;
|
|
2008
|
+
id: string;
|
|
2009
|
+
optionSchema: {
|
|
2010
|
+
options: any[];
|
|
2011
|
+
};
|
|
2012
|
+
wireConfig: any;
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
interface DeviceData {
|
|
2016
|
+
depth: number;
|
|
2017
|
+
deviceOption: DeviceOption;
|
|
2018
|
+
existsBeforeReconnect: boolean;
|
|
2019
|
+
hooks: any;
|
|
2020
|
+
id: string;
|
|
2021
|
+
isPreview: boolean;
|
|
2022
|
+
layerId: string;
|
|
2023
|
+
name: any;
|
|
2024
|
+
options: Record<string, any>;
|
|
2025
|
+
props: any;
|
|
2026
|
+
x: number;
|
|
2027
|
+
y: number;
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
interface WorldDevices {
|
|
2031
|
+
codeGrids: Map<string, CodeGrid>;
|
|
2032
|
+
devices: Map<string, DeviceData>;
|
|
2033
|
+
states: Map<string, DeviceState>;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
interface Shapes {
|
|
2037
|
+
circles: number[][];
|
|
2038
|
+
lines: number[][];
|
|
2039
|
+
paths: number[][];
|
|
2040
|
+
rects: number[][];
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2043
|
+
interface CustomAsset {
|
|
2044
|
+
data: {
|
|
2045
|
+
shapes: Shapes;
|
|
2046
|
+
};
|
|
2047
|
+
icon: string;
|
|
2048
|
+
id: string;
|
|
2049
|
+
name: string;
|
|
2050
|
+
optionId: string;
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
|
+
interface WorldCustomAssets {
|
|
2054
|
+
customAssets: Map<string, CustomAsset>;
|
|
2055
|
+
isUIOpen: boolean;
|
|
2056
|
+
updateCounter: number;
|
|
2057
|
+
}
|
|
2058
|
+
|
|
2059
|
+
interface World {
|
|
2060
|
+
customAssets: WorldCustomAssets;
|
|
2061
|
+
devices: WorldDevices;
|
|
2062
|
+
height: number;
|
|
2063
|
+
width: number;
|
|
2064
|
+
mapOptionsJSON: string;
|
|
2065
|
+
terrain: Terrain;
|
|
2066
|
+
wires: {
|
|
2067
|
+
wires: Map<any, any>;
|
|
2068
|
+
};
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
interface Stores {
|
|
2072
|
+
activityFeed: ActivityFeed;
|
|
2073
|
+
assignment: Assignment;
|
|
2074
|
+
characters: Characters;
|
|
2075
|
+
editing: EditingStore;
|
|
2076
|
+
gui: GUI;
|
|
2077
|
+
hooks: Hooks;
|
|
2078
|
+
loading: Loading;
|
|
2079
|
+
matchmaker: Matchmaker;
|
|
2080
|
+
me: Me;
|
|
2081
|
+
memorySystem: MemorySystem;
|
|
2082
|
+
network: NetworkStore;
|
|
2083
|
+
phaser: Phaser;
|
|
2084
|
+
scene: SceneStore;
|
|
2085
|
+
session: Session;
|
|
2086
|
+
teams: Teams;
|
|
2087
|
+
world: World;
|
|
2088
|
+
worldOptions: WorldOptions;
|
|
2089
|
+
}
|
|
171
2090
|
}
|
|
172
2091
|
|
|
173
2092
|
class PluginsApi {
|
|
@@ -188,6 +2107,7 @@ declare namespace Gimloader {
|
|
|
188
2107
|
needsLib: string[];
|
|
189
2108
|
optionalLib: string[];
|
|
190
2109
|
syncEval: string;
|
|
2110
|
+
gamemode: string[];
|
|
191
2111
|
hasSettings: string;
|
|
192
2112
|
};
|
|
193
2113
|
/** Gets the exported values of a plugin, if it has been enabled */
|
|
@@ -219,6 +2139,7 @@ declare namespace Gimloader {
|
|
|
219
2139
|
needsLib: string[];
|
|
220
2140
|
optionalLib: string[];
|
|
221
2141
|
syncEval: string;
|
|
2142
|
+
gamemode: string[];
|
|
222
2143
|
hasSettings: string;
|
|
223
2144
|
};
|
|
224
2145
|
/** Gets the exported values of a library */
|
|
@@ -296,12 +2217,12 @@ declare namespace Gimloader {
|
|
|
296
2217
|
instead(object: any, method: string, callback: PatcherInsteadCallback): () => void;
|
|
297
2218
|
}
|
|
298
2219
|
|
|
299
|
-
type
|
|
2220
|
+
type PatcherAfterCallback = (thisVal: any, args: IArguments, returnVal: any) => any;
|
|
300
2221
|
|
|
301
2222
|
// eslint-disable-next-line @typescript-eslint/no-invalid-void-type
|
|
302
2223
|
type PatcherBeforeCallback = (thisVal: any, args: IArguments) => boolean | void;
|
|
303
2224
|
|
|
304
|
-
type
|
|
2225
|
+
type PatcherInsteadCallback = (thisVal: any, args: IArguments) => void;
|
|
305
2226
|
|
|
306
2227
|
class PatcherApi {
|
|
307
2228
|
/**
|
|
@@ -401,22 +2322,24 @@ declare namespace Gimloader {
|
|
|
401
2322
|
removeStyles(id: string): void;
|
|
402
2323
|
}
|
|
403
2324
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
constructor(id: string);
|
|
2325
|
+
interface ScopedNetApi extends BaseNetApi {
|
|
2326
|
+
new(id: string, defaultGamemode: string[]): this;
|
|
407
2327
|
/**
|
|
408
|
-
* Runs a callback when the game is loaded, or runs it immediately if the game has already loaded
|
|
2328
|
+
* Runs a callback when the game is loaded, or runs it immediately if the game has already loaded.
|
|
2329
|
+
* If the \@gamemode header is set the callback will only fire if the gamemode matches one of the provided gamemodes.
|
|
409
2330
|
* @returns A function to cancel waiting for load
|
|
410
2331
|
*/
|
|
411
|
-
onLoad(callback: (type: ConnectionType) => void): () => void;
|
|
2332
|
+
onLoad(callback: (type: ConnectionType, gamemode: string) => void, gamemode?: string | string[]): () => void;
|
|
412
2333
|
}
|
|
413
2334
|
|
|
414
2335
|
type ConnectionType = "None" | "Colyseus" | "Blueboat";
|
|
415
2336
|
|
|
416
|
-
|
|
417
|
-
|
|
2337
|
+
interface BaseNetApi extends EventEmitter2 {
|
|
2338
|
+
new(): this;
|
|
418
2339
|
/** Which type of server the client is currently connected to */
|
|
419
2340
|
get type(): ConnectionType;
|
|
2341
|
+
/** The id of the gamemode the player is currently playing */
|
|
2342
|
+
get gamemode(): string;
|
|
420
2343
|
/** The room that the client is connected to, or null if there is no connection */
|
|
421
2344
|
get room(): any;
|
|
422
2345
|
/** Whether the user is the one hosting the current game */
|
|
@@ -425,13 +2348,17 @@ declare namespace Gimloader {
|
|
|
425
2348
|
send(channel: string, message: any): void;
|
|
426
2349
|
}
|
|
427
2350
|
|
|
428
|
-
|
|
429
|
-
|
|
2351
|
+
interface NetApi extends BaseNetApi {
|
|
2352
|
+
new(): this;
|
|
430
2353
|
/**
|
|
431
2354
|
* Runs a callback when the game is loaded, or runs it immediately if the game has already loaded
|
|
432
2355
|
* @returns A function to cancel waiting for load
|
|
433
2356
|
*/
|
|
434
|
-
onLoad(
|
|
2357
|
+
onLoad(
|
|
2358
|
+
id: string,
|
|
2359
|
+
callback: (type: ConnectionType, gamemode: string) => void,
|
|
2360
|
+
gamemode?: string | string[],
|
|
2361
|
+
): () => void;
|
|
435
2362
|
/** Cancels any calls to {@link onLoad} with the same id */
|
|
436
2363
|
offLoad(id: string): void;
|
|
437
2364
|
/**
|
|
@@ -444,8 +2371,7 @@ declare namespace Gimloader {
|
|
|
444
2371
|
* @hidden
|
|
445
2372
|
*/
|
|
446
2373
|
get blueboat(): this;
|
|
447
|
-
|
|
448
|
-
private wrappedListeners;
|
|
2374
|
+
|
|
449
2375
|
/**
|
|
450
2376
|
* @deprecated use net.on
|
|
451
2377
|
* @hidden
|
|
@@ -643,7 +2569,7 @@ declare namespace Gimloader {
|
|
|
643
2569
|
/** Gimkit's internal reactDom instance */
|
|
644
2570
|
static get ReactDOM(): typeof import("react-dom/client");
|
|
645
2571
|
/** A variety of Gimkit internal objects available in 2d gamemodes */
|
|
646
|
-
static get stores():
|
|
2572
|
+
static get stores(): Stores.Stores;
|
|
647
2573
|
/**
|
|
648
2574
|
* Gimkit's notification object, only available when joining or playing a game
|
|
649
2575
|
*
|
|
@@ -712,7 +2638,7 @@ declare namespace Gimloader {
|
|
|
712
2638
|
/** Gimkit's internal reactDom instance */
|
|
713
2639
|
get ReactDOM(): typeof import("react-dom/client");
|
|
714
2640
|
/** A variety of gimkit internal objects available in 2d gamemodes */
|
|
715
|
-
get stores():
|
|
2641
|
+
get stores(): Stores.Stores;
|
|
716
2642
|
/**
|
|
717
2643
|
* Gimkit's notification object, only available when joining or playing a game
|
|
718
2644
|
*
|
|
@@ -733,7 +2659,7 @@ declare namespace Gimloader {
|
|
|
733
2659
|
declare const api: Gimloader.Api;
|
|
734
2660
|
declare const GL: typeof Gimloader.Api;
|
|
735
2661
|
/** @deprecated Use GL.stores */
|
|
736
|
-
declare const stores:
|
|
2662
|
+
declare const stores: Gimloader.Stores.Stores;
|
|
737
2663
|
/** @deprecated No longer supported */
|
|
738
2664
|
declare const platformerPhysics: any;
|
|
739
2665
|
|
|
@@ -741,7 +2667,7 @@ interface Window {
|
|
|
741
2667
|
api: Gimloader.Api;
|
|
742
2668
|
GL: typeof Gimloader.Api;
|
|
743
2669
|
/** @deprecated Use GL.stores */
|
|
744
|
-
stores:
|
|
2670
|
+
stores: Gimloader.Stores.Stores;
|
|
745
2671
|
/** @deprecated No longer supported */
|
|
746
2672
|
platformerPhysics: any;
|
|
747
2673
|
}
|