@types/gimloader 1.8.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 +2091 -175
- 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
|
+
}
|
|
123
1044
|
|
|
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
|
-
|
|
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
|
+
}
|
|
1060
|
+
|
|
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 {
|
|
@@ -298,12 +2217,12 @@ declare namespace Gimloader {
|
|
|
298
2217
|
instead(object: any, method: string, callback: PatcherInsteadCallback): () => void;
|
|
299
2218
|
}
|
|
300
2219
|
|
|
301
|
-
type
|
|
2220
|
+
type PatcherAfterCallback = (thisVal: any, args: IArguments, returnVal: any) => any;
|
|
302
2221
|
|
|
303
2222
|
// eslint-disable-next-line @typescript-eslint/no-invalid-void-type
|
|
304
2223
|
type PatcherBeforeCallback = (thisVal: any, args: IArguments) => boolean | void;
|
|
305
2224
|
|
|
306
|
-
type
|
|
2225
|
+
type PatcherInsteadCallback = (thisVal: any, args: IArguments) => void;
|
|
307
2226
|
|
|
308
2227
|
class PatcherApi {
|
|
309
2228
|
/**
|
|
@@ -403,10 +2322,8 @@ declare namespace Gimloader {
|
|
|
403
2322
|
removeStyles(id: string): void;
|
|
404
2323
|
}
|
|
405
2324
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
private readonly defaultGamemode;
|
|
409
|
-
constructor(id: string, defaultGamemode: string[]);
|
|
2325
|
+
interface ScopedNetApi extends BaseNetApi {
|
|
2326
|
+
new(id: string, defaultGamemode: string[]): this;
|
|
410
2327
|
/**
|
|
411
2328
|
* Runs a callback when the game is loaded, or runs it immediately if the game has already loaded.
|
|
412
2329
|
* If the \@gamemode header is set the callback will only fire if the gamemode matches one of the provided gamemodes.
|
|
@@ -417,8 +2334,8 @@ declare namespace Gimloader {
|
|
|
417
2334
|
|
|
418
2335
|
type ConnectionType = "None" | "Colyseus" | "Blueboat";
|
|
419
2336
|
|
|
420
|
-
|
|
421
|
-
|
|
2337
|
+
interface BaseNetApi extends EventEmitter2 {
|
|
2338
|
+
new(): this;
|
|
422
2339
|
/** Which type of server the client is currently connected to */
|
|
423
2340
|
get type(): ConnectionType;
|
|
424
2341
|
/** The id of the gamemode the player is currently playing */
|
|
@@ -431,8 +2348,8 @@ declare namespace Gimloader {
|
|
|
431
2348
|
send(channel: string, message: any): void;
|
|
432
2349
|
}
|
|
433
2350
|
|
|
434
|
-
|
|
435
|
-
|
|
2351
|
+
interface NetApi extends BaseNetApi {
|
|
2352
|
+
new(): this;
|
|
436
2353
|
/**
|
|
437
2354
|
* Runs a callback when the game is loaded, or runs it immediately if the game has already loaded
|
|
438
2355
|
* @returns A function to cancel waiting for load
|
|
@@ -454,8 +2371,7 @@ declare namespace Gimloader {
|
|
|
454
2371
|
* @hidden
|
|
455
2372
|
*/
|
|
456
2373
|
get blueboat(): this;
|
|
457
|
-
|
|
458
|
-
private wrappedListeners;
|
|
2374
|
+
|
|
459
2375
|
/**
|
|
460
2376
|
* @deprecated use net.on
|
|
461
2377
|
* @hidden
|
|
@@ -653,7 +2569,7 @@ declare namespace Gimloader {
|
|
|
653
2569
|
/** Gimkit's internal reactDom instance */
|
|
654
2570
|
static get ReactDOM(): typeof import("react-dom/client");
|
|
655
2571
|
/** A variety of Gimkit internal objects available in 2d gamemodes */
|
|
656
|
-
static get stores():
|
|
2572
|
+
static get stores(): Stores.Stores;
|
|
657
2573
|
/**
|
|
658
2574
|
* Gimkit's notification object, only available when joining or playing a game
|
|
659
2575
|
*
|
|
@@ -722,7 +2638,7 @@ declare namespace Gimloader {
|
|
|
722
2638
|
/** Gimkit's internal reactDom instance */
|
|
723
2639
|
get ReactDOM(): typeof import("react-dom/client");
|
|
724
2640
|
/** A variety of gimkit internal objects available in 2d gamemodes */
|
|
725
|
-
get stores():
|
|
2641
|
+
get stores(): Stores.Stores;
|
|
726
2642
|
/**
|
|
727
2643
|
* Gimkit's notification object, only available when joining or playing a game
|
|
728
2644
|
*
|
|
@@ -743,7 +2659,7 @@ declare namespace Gimloader {
|
|
|
743
2659
|
declare const api: Gimloader.Api;
|
|
744
2660
|
declare const GL: typeof Gimloader.Api;
|
|
745
2661
|
/** @deprecated Use GL.stores */
|
|
746
|
-
declare const stores:
|
|
2662
|
+
declare const stores: Gimloader.Stores.Stores;
|
|
747
2663
|
/** @deprecated No longer supported */
|
|
748
2664
|
declare const platformerPhysics: any;
|
|
749
2665
|
|
|
@@ -751,7 +2667,7 @@ interface Window {
|
|
|
751
2667
|
api: Gimloader.Api;
|
|
752
2668
|
GL: typeof Gimloader.Api;
|
|
753
2669
|
/** @deprecated Use GL.stores */
|
|
754
|
-
stores:
|
|
2670
|
+
stores: Gimloader.Stores.Stores;
|
|
755
2671
|
/** @deprecated No longer supported */
|
|
756
2672
|
platformerPhysics: any;
|
|
757
2673
|
}
|