@league-of-foundry-developers/foundry-vtt-types 9.255.2 → 9.255.3
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.
- package/package.json +1 -1
- package/src/foundry/common/types.mjs.d.ts +2 -5
- package/src/foundry/foundry.js/applications/basePlaceableHUDs/tokenHUD.d.ts +7 -3
- package/src/foundry/foundry.js/applications/cameraViews.d.ts +3 -3
- package/src/foundry/foundry.js/applications/formApplication.d.ts +5 -0
- package/src/foundry/foundry.js/applications/hotbar.d.ts +7 -3
- package/src/foundry/foundry.js/pixi/containers/index.d.ts +1 -0
- package/src/foundry/foundry.js/pixi/containers/objectHUD.d.ts +82 -0
- package/src/foundry/foundry.js/pixi/containers/placeableObjects/measuredTemplate.d.ts +52 -15
- package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +216 -62
- package/src/foundry/foundry.js/pixi/containers/placeableObjects/wall.d.ts +107 -16
- package/src/foundry/foundry.js/textEditor.d.ts +266 -231
- package/src/types/utils.d.ts +5 -0
@@ -25,22 +25,37 @@ declare global {
|
|
25
25
|
protected _validPosition: { x: number; y: number };
|
26
26
|
|
27
27
|
/**
|
28
|
-
* Track the set of User
|
28
|
+
* Track the set of User documents which are currently targeting this Token
|
29
29
|
*/
|
30
30
|
targeted: Set<User>;
|
31
31
|
|
32
32
|
/**
|
33
|
-
* A reference to the
|
33
|
+
* A reference to the VisionSource object which defines this vision source area of effect
|
34
34
|
*/
|
35
35
|
vision: VisionSource;
|
36
36
|
|
37
37
|
/**
|
38
|
-
* A reference to the
|
38
|
+
* A reference to the LightSource object which defines this light source area of effect
|
39
39
|
*/
|
40
40
|
light: LightSource;
|
41
41
|
|
42
|
+
/**
|
43
|
+
* A linked ObjectHUD element which is synchronized with the location and visibility of this Token
|
44
|
+
* @defaultValue `new ObjectHUD(this);`
|
45
|
+
*/
|
46
|
+
hud: Token.ObjectHUD;
|
47
|
+
|
48
|
+
/** @defaultValue `undefined` */
|
49
|
+
texture?: PIXI.Texture | null;
|
50
|
+
|
51
|
+
/** @defaultValue `undefined` */
|
52
|
+
border?: PIXI.Graphics;
|
53
|
+
|
54
|
+
/** @defaultValue `undefined` */
|
55
|
+
icon?: PIXI.Sprite;
|
56
|
+
|
42
57
|
/** @override */
|
43
|
-
static
|
58
|
+
static embeddedName: 'Token';
|
44
59
|
|
45
60
|
/**
|
46
61
|
* Establish an initial velocity of the token based on it's direction of facing.
|
@@ -95,6 +110,16 @@ declare global {
|
|
95
110
|
*/
|
96
111
|
get center(): ReturnType<this['getCenter']>;
|
97
112
|
|
113
|
+
/**
|
114
|
+
* The HTML source element for the primary Tile texture
|
115
|
+
*/
|
116
|
+
get sourceElement(): HTMLImageElement | HTMLVideoElement | undefined;
|
117
|
+
|
118
|
+
/**
|
119
|
+
* Does this Tile depict an animated video texture?
|
120
|
+
*/
|
121
|
+
get isVideo(): boolean;
|
122
|
+
|
98
123
|
/**
|
99
124
|
* An indicator for whether or not this token is currently involved in the active combat encounter.
|
100
125
|
*/
|
@@ -121,6 +146,11 @@ declare global {
|
|
121
146
|
*/
|
122
147
|
get isVisible(): boolean;
|
123
148
|
|
149
|
+
/**
|
150
|
+
* The animation name used for Token movement
|
151
|
+
*/
|
152
|
+
get movementAnimationName(): string;
|
153
|
+
|
124
154
|
/**
|
125
155
|
* Test whether the Token has sight (or blindness) at any radius
|
126
156
|
*/
|
@@ -155,23 +185,43 @@ declare global {
|
|
155
185
|
|
156
186
|
/**
|
157
187
|
* Update the light and vision source objects associated with this Token
|
158
|
-
* @param
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
*
|
188
|
+
* @param options - (default: `{}}`)
|
189
|
+
*/
|
190
|
+
updateSource(options?: Token.UpdateSourceOptions | undefined): void;
|
191
|
+
|
192
|
+
/**
|
193
|
+
* Update an emitted light source associated with this Token.
|
194
|
+
* @param options - (default `{}`)
|
195
|
+
*/
|
196
|
+
updateLightSource(options?: Token.UpdateLightSourceOptions | undefined): void;
|
197
|
+
|
198
|
+
/**
|
199
|
+
* Update an Token vision source associated for this token.
|
200
|
+
* @param options - (default `{}`)
|
164
201
|
*/
|
165
|
-
|
202
|
+
updateVisionSource(options?: Token.UpdateVisionSourceOptions | undefined): void;
|
166
203
|
|
167
204
|
/**
|
168
205
|
* Test whether this Token is a viable vision source for the current User
|
206
|
+
* @internal
|
169
207
|
*/
|
170
208
|
protected _isVisionSource(): boolean;
|
171
209
|
|
210
|
+
/** @override */
|
211
|
+
clear(): this;
|
212
|
+
|
172
213
|
/** @override */
|
173
214
|
draw(): Promise<this>;
|
174
215
|
|
216
|
+
/**
|
217
|
+
* Draw the HUD container which provides an interface for managing this Token
|
218
|
+
* @internal
|
219
|
+
*/
|
220
|
+
protected _drawHUD(): Token.InitializedObjectHUD;
|
221
|
+
|
222
|
+
/** @override */
|
223
|
+
destroy(options?: Parameters<PlaceableObject['destroy']>[0]): void;
|
224
|
+
|
175
225
|
/**
|
176
226
|
* Apply initial sanitizations to the provided input data to ensure that a Token has valid required attributes.
|
177
227
|
*/
|
@@ -187,6 +237,22 @@ declare global {
|
|
187
237
|
*/
|
188
238
|
protected _drawIcon(): Promise<PIXI.Sprite>;
|
189
239
|
|
240
|
+
/**
|
241
|
+
* Play video for this Token (if applicable).
|
242
|
+
* @param playing - Should the Token video be playing?
|
243
|
+
* (default: `true`)
|
244
|
+
* @param options - Additional options for modifying video playback
|
245
|
+
* (default: `{}`)
|
246
|
+
*/
|
247
|
+
play(playing?: boolean | undefined, options?: Token.PlayOptions | undefined): void;
|
248
|
+
|
249
|
+
/**
|
250
|
+
* Unlink the playback of this video token from the playback of other tokens which are using the same base texture.
|
251
|
+
* @param source - The video element source
|
252
|
+
* @internal
|
253
|
+
*/
|
254
|
+
protected _unlinkVideoPlayback(source: HTMLVideoElement): Promise<void>;
|
255
|
+
|
190
256
|
/**
|
191
257
|
* Update display of the Token, pulling latest data and re-rendering the display of Token components
|
192
258
|
*/
|
@@ -194,24 +260,33 @@ declare global {
|
|
194
260
|
|
195
261
|
/**
|
196
262
|
* Draw the Token border, taking into consideration the grid type and border color
|
263
|
+
* @internal
|
197
264
|
*/
|
198
265
|
protected _refreshBorder(): void;
|
199
266
|
|
200
267
|
/**
|
201
268
|
* Get the hex color that should be used to render the Token border
|
202
269
|
* @returns The hex color used to depict the border color
|
270
|
+
* @internal
|
203
271
|
*/
|
204
272
|
protected _getBorderColor(): number | null;
|
205
273
|
|
274
|
+
/**
|
275
|
+
* Refresh the display of the Token HUD interface.
|
276
|
+
*/
|
277
|
+
refreshHUD(): void;
|
278
|
+
|
206
279
|
/**
|
207
280
|
* Refresh the target indicators for the Token.
|
208
281
|
* Draw both target arrows for the primary User as well as indicator pips for other Users targeting the same Token.
|
282
|
+
* @internal
|
209
283
|
*/
|
210
284
|
protected _refreshTarget(): void;
|
211
285
|
|
212
286
|
/**
|
213
287
|
* Refresh the display of Token attribute bars, rendering latest resource data
|
214
288
|
* If the bar attribute is valid (has a value and max), draw the bar. Otherwise hide it.
|
289
|
+
* @internal
|
215
290
|
*/
|
216
291
|
drawBars(): void;
|
217
292
|
|
@@ -221,7 +296,7 @@ declare global {
|
|
221
296
|
* @param bar - The Bar container
|
222
297
|
* @param data - Resource data for this bar
|
223
298
|
*/
|
224
|
-
protected _drawBar(number: number, bar: PIXI.Graphics, data: ReturnType<
|
299
|
+
protected _drawBar(number: number, bar: PIXI.Graphics, data: ReturnType<TokenDocument['getBarAttribute']>): void;
|
225
300
|
|
226
301
|
/**
|
227
302
|
* Draw the token's nameplate as a text object
|
@@ -231,14 +306,18 @@ declare global {
|
|
231
306
|
|
232
307
|
/**
|
233
308
|
* Draw a text tooltip for the token which can be used to display Elevation or a resource value
|
309
|
+
* @returns The text object used to render the tooltip
|
310
|
+
* @internal
|
234
311
|
*/
|
235
|
-
|
312
|
+
protected _drawTooltip(): PreciseText;
|
236
313
|
|
237
314
|
/**
|
238
315
|
* Return the text which should be displayed in a token's tooltip field
|
316
|
+
* @internal
|
239
317
|
*/
|
240
318
|
protected _getTooltipText(): string;
|
241
319
|
|
320
|
+
/** @internal */
|
242
321
|
protected _getTextStyle(): PIXI.TextStyle;
|
243
322
|
|
244
323
|
/**
|
@@ -248,11 +327,14 @@ declare global {
|
|
248
327
|
|
249
328
|
/**
|
250
329
|
* Draw the overlay effect icon
|
330
|
+
* @param options - (default: `{}`)
|
331
|
+
* @internal
|
251
332
|
*/
|
252
|
-
protected _drawOverlay(
|
333
|
+
protected _drawOverlay(options?: Token.DrawOverlayOptions | undefined): Promise<void>;
|
253
334
|
|
254
335
|
/**
|
255
336
|
* Draw a status effect icon
|
337
|
+
* @internal
|
256
338
|
*/
|
257
339
|
protected _drawEffect(src: string, i: number, bg: PIXI.Graphics, w: number, tint: number): Promise<void>;
|
258
340
|
|
@@ -260,6 +342,7 @@ declare global {
|
|
260
342
|
* Helper method to determine whether a token attribute is viewable under a certain mode
|
261
343
|
* @param mode - The mode from CONST.TOKEN_DISPLAY_MODES
|
262
344
|
* @returns Is the attribute viewable?
|
345
|
+
* @internal
|
263
346
|
*/
|
264
347
|
protected _canViewMode(mode: foundry.CONST.TOKEN_DISPLAY_MODES): boolean;
|
265
348
|
|
@@ -271,6 +354,7 @@ declare global {
|
|
271
354
|
|
272
355
|
/**
|
273
356
|
* Animate the continual revealing of Token vision during a movement animation
|
357
|
+
* @internal
|
274
358
|
*/
|
275
359
|
protected _onMovementFrame(
|
276
360
|
dt: number,
|
@@ -288,6 +372,7 @@ declare global {
|
|
288
372
|
* @param source - (default: `false`)
|
289
373
|
* @param sound - (default: `false`)
|
290
374
|
* @param fog - (default: `false`)
|
375
|
+
* @internal
|
291
376
|
*/
|
292
377
|
protected _animatePerceptionFrame({
|
293
378
|
source,
|
@@ -314,6 +399,7 @@ declare global {
|
|
314
399
|
/**
|
315
400
|
* @param releaseOthers - (default: `true`)
|
316
401
|
* @param pan - (default: `false`)
|
402
|
+
* @override
|
317
403
|
*/
|
318
404
|
protected _onControl({ releaseOthers, pan }?: { releaseOthers?: boolean; pan?: boolean }): void;
|
319
405
|
|
@@ -345,13 +431,14 @@ declare global {
|
|
345
431
|
* (defaultValue: `{}`)
|
346
432
|
* @returns The Token after animation has completed
|
347
433
|
*/
|
348
|
-
setPosition(x: number, y: number, options?: PositionOptions): Promise<this>;
|
434
|
+
setPosition(x: number, y: number, options?: Token.PositionOptions): Promise<this>;
|
349
435
|
|
350
436
|
/**
|
351
437
|
* Update the Token velocity auto-regressively, shifting increasing weight towards more recent movement
|
352
438
|
* Employ a magic constant chosen to minimize (effectively zero) the likelihood of trigonometric edge cases
|
353
439
|
* @param ray - The proposed movement ray
|
354
440
|
* @returns An updated velocity with directional memory
|
441
|
+
* @internal
|
355
442
|
*/
|
356
443
|
protected _updateVelocity(ray: Ray): Token.Velocity;
|
357
444
|
|
@@ -387,7 +474,7 @@ declare global {
|
|
387
474
|
toggleCombat(combat?: InstanceType<ConfiguredDocumentClass<typeof Combat>>): Promise<this>;
|
388
475
|
|
389
476
|
/**
|
390
|
-
* Toggle an active effect by
|
477
|
+
* Toggle an active effect by its texture path.
|
391
478
|
* Copy the existing Array in order to ensure the update method detects the data as changed.
|
392
479
|
*
|
393
480
|
* @param effect - The texture file-path of the effect icon to toggle on the Token.
|
@@ -397,19 +484,12 @@ declare global {
|
|
397
484
|
*/
|
398
485
|
toggleEffect(
|
399
486
|
effect: string | ConstructorParameters<ConfiguredDocumentClassForName<'ActiveEffect'>>[0],
|
400
|
-
options?: EffectToggleOptions
|
401
|
-
): Promise<boolean>;
|
402
|
-
|
403
|
-
/**
|
404
|
-
* A helper function to toggle a status effect which includes an Active Effect template
|
405
|
-
*/
|
406
|
-
protected _toggleActiveEffect(
|
407
|
-
effectData: ConstructorParameters<ConfiguredDocumentClassForName<'ActiveEffect'>>[0],
|
408
|
-
{ overlay }?: { overlay?: boolean }
|
487
|
+
options?: Token.EffectToggleOptions | undefined
|
409
488
|
): Promise<boolean>;
|
410
489
|
|
411
490
|
/**
|
412
491
|
* A helper function to toggle the overlay status icon on the Token
|
492
|
+
* @internal
|
413
493
|
*/
|
414
494
|
protected _toggleOverlayEffect(texture: string, { active }?: { active: boolean }): Promise<this>;
|
415
495
|
|
@@ -442,8 +522,9 @@ declare global {
|
|
442
522
|
/**
|
443
523
|
* Extend the PlaceableObject.rotate method to prevent rotation if the Token is in the midst of a movement animation
|
444
524
|
* @returns Actually a Promise<void>
|
525
|
+
* @remarks The return type is `Promise<this> | undefined` but this breaks the interface of PlaceableObject, see https://gitlab.com/foundrynet/foundryvtt/-/issues/6876
|
445
526
|
*/
|
446
|
-
rotate(
|
527
|
+
rotate(...args: Parameters<PlaceableObject['rotate']>): any;
|
447
528
|
|
448
529
|
/** @override */
|
449
530
|
protected _onCreate(
|
@@ -509,22 +590,8 @@ declare global {
|
|
509
590
|
/** @override */
|
510
591
|
protected _onDragLeftMove(event: PIXI.InteractionEvent): void;
|
511
592
|
|
512
|
-
/**
|
513
|
-
|
514
|
-
*/
|
515
|
-
static fromActor(
|
516
|
-
actor: InstanceType<ConfiguredDocumentClass<typeof Actor>>,
|
517
|
-
tokenData?: InstanceType<ConfiguredDocumentClass<typeof TokenDocument>>['data']['_source']
|
518
|
-
): never;
|
519
|
-
|
520
|
-
/**
|
521
|
-
* @deprecated since 0.8.0
|
522
|
-
*/
|
523
|
-
getBarAttribute(
|
524
|
-
barName: string,
|
525
|
-
{ alternative }?: { alternative?: string }
|
526
|
-
): ReturnType<this['document']['getBarAttribute']>;
|
527
|
-
|
593
|
+
/** @override */
|
594
|
+
protected _onDragLeftCancel(event: MouseEvent): void;
|
528
595
|
/**
|
529
596
|
* @remarks This does not exist in foundry. It marks the controlIcon as not used because `Token` does never store a value here.
|
530
597
|
*/
|
@@ -542,27 +609,114 @@ declare global {
|
|
542
609
|
dy: number;
|
543
610
|
sy: number;
|
544
611
|
}
|
545
|
-
}
|
546
|
-
}
|
547
612
|
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
*/
|
553
|
-
animate?: boolean;
|
554
|
-
}
|
613
|
+
/** The UI frame container which depicts Token metadata and status, displayed in the ControlsLayer. */
|
614
|
+
interface ObjectHUD extends globalThis.ObjectHUD {
|
615
|
+
/** Token health bars */
|
616
|
+
bars?: PIXI.Container;
|
555
617
|
|
556
|
-
|
557
|
-
|
558
|
-
* Force a certain active state for the effect
|
559
|
-
* @defaultValue `false`
|
560
|
-
*/
|
561
|
-
active?: boolean;
|
618
|
+
/** Token nameplate */
|
619
|
+
nameplate?: PreciseText;
|
562
620
|
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
621
|
+
/** Token elevation tooltip */
|
622
|
+
tooltip?: PreciseText;
|
623
|
+
|
624
|
+
/** Token status effects */
|
625
|
+
effects?: PIXI.Container;
|
626
|
+
|
627
|
+
/** Token target marker */
|
628
|
+
target?: PIXI.Graphics;
|
629
|
+
}
|
630
|
+
|
631
|
+
type InitializedObjectHUD = RequiredProps<ObjectHUD, 'bars' | 'nameplate' | 'tooltip' | 'effects' | 'target'>;
|
632
|
+
|
633
|
+
interface UpdateLightSourceOptions {
|
634
|
+
/**
|
635
|
+
* Defer refreshing the LightingLayer to manually call that refresh later.
|
636
|
+
* @defaultValue `false`
|
637
|
+
*/
|
638
|
+
defer?: boolean | undefined;
|
639
|
+
|
640
|
+
/**
|
641
|
+
* Indicate that this light source has been deleted.
|
642
|
+
* @defaultValue `false`
|
643
|
+
*/
|
644
|
+
deleted?: boolean | undefined;
|
645
|
+
}
|
646
|
+
|
647
|
+
interface UpdateVisionSourceOptions {
|
648
|
+
/**
|
649
|
+
* Defer refreshing the SightLayer to manually call that refresh later.
|
650
|
+
* @defaultValue `false`
|
651
|
+
*/
|
652
|
+
defer?: boolean | undefined;
|
653
|
+
|
654
|
+
/**
|
655
|
+
* Indicate that this vision source has been deleted.
|
656
|
+
* @defaultValue `false`
|
657
|
+
*/
|
658
|
+
deleted?: boolean | undefined;
|
659
|
+
|
660
|
+
/**
|
661
|
+
* Never update the Fog exploration progress for this update.
|
662
|
+
* @defaultValue `false`
|
663
|
+
*/
|
664
|
+
skipUpdateFog?: boolean | undefined;
|
665
|
+
}
|
666
|
+
|
667
|
+
type UpdateSourceOptions = UpdateLightSourceOptions & UpdateVisionSourceOptions;
|
668
|
+
|
669
|
+
interface PlayOptions {
|
670
|
+
/**
|
671
|
+
* Should the video loop?
|
672
|
+
* @defaultValue `true`
|
673
|
+
*/
|
674
|
+
loop?: boolean | undefined;
|
675
|
+
|
676
|
+
/**
|
677
|
+
* A specific timestamp between 0 and the video duration to begin playback
|
678
|
+
* @defaultValue `0`
|
679
|
+
*/
|
680
|
+
offset?: number | undefined;
|
681
|
+
|
682
|
+
/**
|
683
|
+
* Desired volume level of the video's audio channel (if any)
|
684
|
+
* @defaultValue `0`
|
685
|
+
*/
|
686
|
+
volume?: number | undefined;
|
687
|
+
}
|
688
|
+
|
689
|
+
interface DrawOverlayOptions {
|
690
|
+
src?: string | undefined;
|
691
|
+
tint?: number | undefined;
|
692
|
+
}
|
693
|
+
|
694
|
+
interface PositionOptions {
|
695
|
+
/**
|
696
|
+
* Animate the movement path
|
697
|
+
* @defaultValue `true`
|
698
|
+
*/
|
699
|
+
animate?: boolean;
|
700
|
+
|
701
|
+
/**
|
702
|
+
* Automatically re-center the view if token movement goes off-screen
|
703
|
+
* @defaultValue `true`
|
704
|
+
*/
|
705
|
+
recenter?: boolean | undefined;
|
706
|
+
}
|
707
|
+
|
708
|
+
interface EffectToggleOptions {
|
709
|
+
/**
|
710
|
+
* Force a certain active state for the effect
|
711
|
+
* @defaultValue `false`
|
712
|
+
*/
|
713
|
+
active?: boolean | undefined;
|
714
|
+
|
715
|
+
/**
|
716
|
+
* Whether to set the effect as the overlay effect?
|
717
|
+
* @defaultValue `false`
|
718
|
+
*/
|
719
|
+
overlay?: boolean | undefined;
|
720
|
+
}
|
721
|
+
}
|
568
722
|
}
|
@@ -1,6 +1,10 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
ConfiguredDocumentClass,
|
3
|
+
ConfiguredDocumentClassForName,
|
4
|
+
ConfiguredObjectClassForName
|
5
|
+
} from '../../../../../types/helperTypes';
|
2
6
|
import type { DocumentModificationOptions } from '../../../../common/abstract/document.mjs';
|
3
|
-
import type {
|
7
|
+
import type { LineIntersection } from '../../../../common/utils/geometry.mjs';
|
4
8
|
import type { HoverInOptions } from '../placeableObject';
|
5
9
|
|
6
10
|
declare global {
|
@@ -20,36 +24,83 @@ declare global {
|
|
20
24
|
controlIcon: null;
|
21
25
|
|
22
26
|
/**
|
23
|
-
*
|
27
|
+
* An reference the Door Control icon associated with this Wall, if any
|
28
|
+
* @internal
|
29
|
+
* @defaultValue `undefined`
|
24
30
|
*/
|
25
|
-
|
31
|
+
doorControl: DoorControl | undefined | null;
|
26
32
|
|
27
|
-
|
33
|
+
/**
|
34
|
+
* A reference to an overhead Tile that is a roof, interior to which this wall is contained
|
35
|
+
* @defaultValue `undefined`
|
36
|
+
*/
|
37
|
+
roof: InstanceType<ConfiguredObjectClassForName<'Tile'>> | undefined;
|
28
38
|
|
29
39
|
/**
|
30
|
-
*
|
31
|
-
|
40
|
+
* A set which tracks other Wall instances that this Wall intersects with (excluding shared endpoints)
|
41
|
+
*/
|
42
|
+
intersectsWith: Map<InstanceType<ConfiguredObjectClassForName<'Wall'>>, LineIntersection>;
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Cached representation of this wall's endpoints as {@link PolygonVertex}es.
|
32
46
|
* @defaultValue `null`
|
47
|
+
* @internal
|
33
48
|
*/
|
34
|
-
|
49
|
+
protected _vertices: { a: PolygonVertex; b: PolygonVertex } | null;
|
35
50
|
|
36
51
|
/**
|
37
|
-
*
|
38
|
-
* @defaultValue `
|
52
|
+
* Cached representation of the set of this wall's vertices.
|
53
|
+
* @defaultValue `null`
|
54
|
+
* @internal
|
39
55
|
*/
|
40
|
-
|
56
|
+
protected _wallKeys: Set<string> | null;
|
41
57
|
|
42
58
|
/** @override */
|
43
|
-
static
|
59
|
+
static embeddedName: 'Wall';
|
44
60
|
|
45
61
|
/**
|
46
62
|
* A convenience reference to the coordinates Array for the Wall endpoints, [x0,y0,x1,y1].
|
47
63
|
*/
|
48
64
|
get coords(): Wall['data']['c'];
|
49
65
|
|
66
|
+
/**
|
67
|
+
* The initial endpoint of the Wall
|
68
|
+
*/
|
69
|
+
get A(): Point;
|
70
|
+
|
71
|
+
/**
|
72
|
+
* The second endpoint of the Wall
|
73
|
+
*/
|
74
|
+
get B(): Point;
|
75
|
+
|
76
|
+
/**
|
77
|
+
* The endpoints of the wall as {@link PolygonVertex}es.
|
78
|
+
*/
|
79
|
+
get vertices(): { a: PolygonVertex; b: PolygonVertex };
|
80
|
+
|
81
|
+
/**
|
82
|
+
* The set of keys for this wall's endpoints.
|
83
|
+
*/
|
84
|
+
get wallKeys(): Set<string>;
|
85
|
+
|
50
86
|
/** @override */
|
51
87
|
get bounds(): NormalizedRectangle;
|
52
88
|
|
89
|
+
/**
|
90
|
+
* A boolean for whether this wall contains a door
|
91
|
+
*/
|
92
|
+
get isDoor(): boolean;
|
93
|
+
|
94
|
+
/**
|
95
|
+
* A boolean for whether the wall contains an open door
|
96
|
+
*/
|
97
|
+
get isOpen(): boolean;
|
98
|
+
|
99
|
+
/**
|
100
|
+
* Is this Wall interior to a non-occluded roof Tile?
|
101
|
+
*/
|
102
|
+
get hasActiveRoof(): boolean;
|
103
|
+
|
53
104
|
/**
|
54
105
|
* Return the coordinates [x,y] at the midpoint of the wall segment
|
55
106
|
*/
|
@@ -73,6 +124,19 @@ declare global {
|
|
73
124
|
/** @override */
|
74
125
|
draw(): Promise<this>;
|
75
126
|
|
127
|
+
/**
|
128
|
+
* Draw a control icon that is used to manipulate the door's open/closed state
|
129
|
+
*/
|
130
|
+
createDoorControl(): DoorControl;
|
131
|
+
|
132
|
+
/**
|
133
|
+
* Determine the orientation of this wall with respect to a reference point
|
134
|
+
* @param point - Some reference point, relative to which orientation is determined
|
135
|
+
* @returns An orientation in CONST.WALL_DIRECTIONS which indicates whether the Point is left,
|
136
|
+
* right, or collinear (both) with the Wall
|
137
|
+
*/
|
138
|
+
orientPoint(point: Point): number;
|
139
|
+
|
76
140
|
/** @override */
|
77
141
|
protected _createInteractionManager(): NonNullable<this['mouseInteractionManager']>;
|
78
142
|
|
@@ -82,6 +146,7 @@ declare global {
|
|
82
146
|
/**
|
83
147
|
* Draw a directional prompt icon for one-way walls to illustrate their direction of effect.
|
84
148
|
* @returns The drawn icon
|
149
|
+
* @internal
|
85
150
|
*/
|
86
151
|
protected _drawDirection(): PIXI.Sprite | null;
|
87
152
|
|
@@ -113,7 +178,7 @@ declare global {
|
|
113
178
|
protected _onRelease(options?: PlaceableObject.ReleaseOptions): void;
|
114
179
|
|
115
180
|
/** @override */
|
116
|
-
destroy(options?: Parameters<
|
181
|
+
destroy(options?: Parameters<PlaceableObject['destroy']>[0]): void;
|
117
182
|
|
118
183
|
/**
|
119
184
|
* Test whether the Wall direction lies between two provided angles
|
@@ -137,15 +202,41 @@ declare global {
|
|
137
202
|
getLinkedSegments(): {
|
138
203
|
ids: string[];
|
139
204
|
walls: WallsLayer['placeables'];
|
140
|
-
endpoints: Array<[number, number]>;
|
205
|
+
endpoints: Array<[x: number, y: number]>;
|
141
206
|
};
|
142
207
|
|
208
|
+
/**
|
209
|
+
* Determine whether this wall is beneath a roof tile, and is considered "interior", or not.
|
210
|
+
*/
|
211
|
+
identifyInteriorState(): void;
|
212
|
+
|
213
|
+
/**
|
214
|
+
* Update any intersections with this wall.
|
215
|
+
*/
|
216
|
+
updateIntersections(): void;
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Record the intersection points between this wall and another, if any.
|
220
|
+
* @param other - The other wall.
|
221
|
+
*/
|
222
|
+
protected _identifyIntersectionsWith(other: InstanceType<ConfiguredDocumentClassForName<'Wall'>>): void;
|
223
|
+
|
224
|
+
/**
|
225
|
+
* Remove this wall's intersections.
|
226
|
+
* @internal
|
227
|
+
*/
|
228
|
+
protected _removeIntersections(): void;
|
229
|
+
|
143
230
|
/** @override */
|
144
|
-
protected _onCreate(
|
231
|
+
protected _onCreate(
|
232
|
+
data: foundry.data.WallData['_source'],
|
233
|
+
options: DocumentModificationOptions,
|
234
|
+
userId: string
|
235
|
+
): void;
|
145
236
|
|
146
237
|
/** @override */
|
147
238
|
protected _onUpdate(
|
148
|
-
changed: DeepPartial<WallData['_source']>,
|
239
|
+
changed: DeepPartial<foundry.data.WallData['_source']>,
|
149
240
|
options?: DocumentModificationOptions,
|
150
241
|
userId?: string
|
151
242
|
): void;
|