bard-legends-framework 1.8.2 → 1.9.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.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as actions_lib from 'actions-lib';
2
- import { IDAttachable, Attachable, AttachmentID, IdleSingleEvent, IdleSequence, Variable, Reducer, Sequence, SingleNotifier, Notifier, SingleEvent, Action, ClassID, NotifierCallbackFunction, IAttachment } from 'actions-lib';
2
+ import { IDAttachable, AttachmentID, Attachable, IdleSingleEvent, IdleSequence, Variable, Reducer, Sequence, SingleNotifier, Notifier, SingleEvent, Action, ClassID, NotifierCallbackFunction, IAttachment } from 'actions-lib';
3
3
  import { Vector, DynamicID, Vec2, RGBColor, Radian, Rectangle, Grid, GridNeighborType, Line } from 'helpers-lib';
4
4
  import p2$1 from 'p2';
5
5
  import * as Pixi from 'pixi.js';
@@ -26,10 +26,14 @@ declare function ControllerDecorator<TController>(gateway: new () => TController
26
26
  type EntityClassType<T extends Entity = Entity> = (new (...args: any[]) => T) & {
27
27
  id: number;
28
28
  };
29
+ type EntityID<T extends Entity> = AttachmentID & {
30
+ readonly __entity: T;
31
+ };
29
32
  declare function EntityDecorator(): <T extends Entity>(EntityClass: EntityClassType<T>) => any;
30
33
  declare abstract class Entity extends IDAttachable {
31
- static getInstanceByID<T extends Entity>(this: EntityClassType<T>, entityID: number | undefined): T | undefined;
32
- static getInstanceByIDOrFail<T extends Entity>(this: EntityClassType<T>, entityID: number): T;
34
+ readonly id: EntityID<this>;
35
+ static getInstanceByID<T extends Entity>(this: EntityClassType<T>, entityID: EntityID<T> | undefined): T | undefined;
36
+ static getInstanceByIDOrFail<T extends Entity>(this: EntityClassType<T>, entityID: EntityID<T>): T;
33
37
  static getEntities<T extends Entity>(this: EntityClassType<T>): T[];
34
38
  constructor();
35
39
  destroy(): void;
@@ -144,7 +148,7 @@ declare abstract class View extends IDAttachable {
144
148
  }
145
149
 
146
150
  type AudioAppearTransitionType = 'ease' | 'instant';
147
- declare const SOUND_TRANSITION_DURATION = 800;
151
+ declare const SOUND_TRANSITION_DURATION = 1000;
148
152
  declare class Audio {
149
153
  private constructor();
150
154
  setVolumes(volumes: {
@@ -1062,38 +1066,40 @@ declare abstract class PhysicsEntity extends Entity {
1062
1066
  get area(): number;
1063
1067
  get mass(): number;
1064
1068
  get collisions(): readonly CollisionReport[];
1065
- readonly physicsWorldID: number;
1069
+ readonly physicsWorldID: PhysicsWorldID;
1066
1070
  readonly physicsBodyGroup: PhysicsBodyGroup;
1067
1071
  readonly includeInPathfinding: boolean;
1068
1072
  protected readonly type: 'dynamic' | 'static';
1069
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
1073
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
1070
1074
  abstract convertToDTO(): PhysicsBodyDTO;
1071
1075
  destroy(): void;
1072
1076
  canCollideWith(target: PhysicsEntity): boolean;
1073
1077
  }
1074
1078
 
1075
- declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
1076
- readonly position: Vector;
1077
- readonly rotation: Radian;
1078
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition);
1079
- convertToDTO(): PhysicsBodyDTO;
1080
- }
1081
-
1082
- declare abstract class MovableEntity extends Entity {
1083
- readonly position: Variable<Vector>;
1084
- readonly rotation: Variable<Radian>;
1085
- readonly velocity: Variable<Vector>;
1086
- readonly rotationalSpeed: Variable<number>;
1087
- constructor();
1088
- }
1089
-
1090
- declare abstract class MovablePhysicsEntity extends PhysicsEntity {
1091
- readonly position: Variable<Vector>;
1092
- readonly rotation: Variable<Radian>;
1093
- readonly velocity: Variable<Vector>;
1094
- readonly rotationalSpeed: Variable<number>;
1095
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition);
1096
- convertToDTO(): PhysicsBodyDTO;
1079
+ type PhysicsWorldID = EntityID<PhysicsWorldEntity>;
1080
+ declare class PhysicsWorldEntity extends Entity {
1081
+ readonly mapSize: Vector;
1082
+ readonly mapSizeCenter: Vector;
1083
+ readonly modifyUpdateCycle: boolean;
1084
+ readonly p2World: p2$1.World;
1085
+ readonly materials: Readonly<Map<string, p2$1.Material>>;
1086
+ readonly materialDefinitions: Map<string, MaterialDefinition>;
1087
+ readonly physicsBodyGroupToP2Group: Map<string, number>;
1088
+ readonly physicsBodyGroupToP2Mask: Map<string, number>;
1089
+ readonly availabilityGridCache: Map<number, Map<PhysicsBodyGroup, Grid<boolean>>>;
1090
+ readonly vectorFieldCache: Map<string, VectorFieldPathFinder>;
1091
+ readonly bodiesInContactWith: Map<number, {
1092
+ p2Body: p2$1.Body;
1093
+ entity: PhysicsEntity;
1094
+ }>;
1095
+ readonly collisionReports: Map<number, CollisionReport[]>;
1096
+ readonly paused: Variable<boolean>;
1097
+ readonly lastP2Time: Variable<number>;
1098
+ readonly onPhysicsStep: Action<{
1099
+ time: number;
1100
+ delta: number;
1101
+ }>;
1102
+ constructor(mapSize: Vector, modifyUpdateCycle: boolean, p2World: p2$1.World, materials: Map<string, p2$1.Material>, materialContactDefinitions: Map<string, MaterialDefinition>, physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>, physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>);
1097
1103
  }
1098
1104
 
1099
1105
  declare const BORDER_MATERIAL_NAME = "border";
@@ -1169,38 +1175,13 @@ interface MapSizeDTO {
1169
1175
  readonly center: Vector;
1170
1176
  }
1171
1177
 
1172
- declare class PhysicsWorldEntity extends Entity {
1173
- readonly mapSize: Vector;
1174
- readonly mapSizeCenter: Vector;
1175
- readonly modifyUpdateCycle: boolean;
1176
- readonly p2World: p2$1.World;
1177
- readonly materials: Readonly<Map<string, p2$1.Material>>;
1178
- readonly materialDefinitions: Map<string, MaterialDefinition>;
1179
- readonly physicsBodyGroupToP2Group: Map<string, number>;
1180
- readonly physicsBodyGroupToP2Mask: Map<string, number>;
1181
- readonly availabilityGridCache: Map<number, Map<PhysicsBodyGroup, Grid<boolean>>>;
1182
- readonly vectorFieldCache: Map<string, VectorFieldPathFinder>;
1183
- readonly bodiesInContactWith: Map<number, {
1184
- p2Body: p2$1.Body;
1185
- entity: PhysicsEntity;
1186
- }>;
1187
- readonly collisionReports: Map<number, CollisionReport[]>;
1188
- readonly paused: Variable<boolean>;
1189
- readonly lastP2Time: Variable<number>;
1190
- readonly onPhysicsStep: Action<{
1191
- time: number;
1192
- delta: number;
1193
- }>;
1194
- constructor(mapSize: Vector, modifyUpdateCycle: boolean, p2World: p2$1.World, materials: Map<string, p2$1.Material>, materialContactDefinitions: Map<string, MaterialDefinition>, physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>, physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>);
1195
- }
1196
-
1197
1178
  declare class PhysicsBodyGroupService {
1198
1179
  createBodyGroupsAndMasks(physicsBodyGroups: readonly PhysicsBodyGroup[], interactingBodyGroups: InteractingBodyGroups): {
1199
1180
  readonly physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>;
1200
1181
  readonly physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>;
1201
1182
  };
1202
- getGroupConstant(physicsWorldID: number, group: PhysicsBodyGroup): number;
1203
- getMaskConstant(physicsWorldID: number, group: PhysicsBodyGroup): number;
1183
+ getGroupConstant(physicsWorldID: PhysicsWorldID, group: PhysicsBodyGroup): number;
1184
+ getMaskConstant(physicsWorldID: PhysicsWorldID, group: PhysicsBodyGroup): number;
1204
1185
  canCollide(physicsWorld: PhysicsWorldEntity, groupType1: PhysicsBodyGroup, groupType2: PhysicsBodyGroup): boolean;
1205
1186
  }
1206
1187
 
@@ -1224,16 +1205,16 @@ declare class AvailabilityGridService {
1224
1205
 
1225
1206
  declare class PathFinderService {
1226
1207
  constructor(_physicsAvailabilityGrid: AvailabilityGridService);
1227
- findPathAStar(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, options?: {
1208
+ findPathAStar(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, options?: {
1228
1209
  neighborType?: GridNeighborType;
1229
1210
  gridCellSize?: number;
1230
1211
  }): PathFinderResult;
1231
- findPathDirection(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
1212
+ findPathDirection(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
1232
1213
  }
1233
1214
 
1234
1215
  declare class TestVisualsService {
1235
1216
  constructor(_availabilityGridService: AvailabilityGridService, _pathFinderService: PathFinderService);
1236
- printPathfindingTestGrid(physicsWorldID: number, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
1217
+ printPathfindingTestGrid(physicsWorldID: PhysicsWorldID, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
1237
1218
  createExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerID: number, rayCasts: RayCast[], explosionCenter: Vector, radius: number, duration?: number): void;
1238
1219
  createElipticExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerID: number, rayCasts: RayCast[], explosionCenter: Vector, rotation: Radian, size: Vector, duration?: number): void;
1239
1220
  createPhysicsEntityShapeVisual(p2Body: p2$1.Body, testLayerID: number, options?: {
@@ -1254,7 +1235,7 @@ declare class CollisionsService {
1254
1235
  }
1255
1236
 
1256
1237
  declare class BorderService {
1257
- createBorders(physicsWorldID: AttachmentID, mapSize: Vector, borderBodyGroup: PhysicsBodyGroup): void;
1238
+ createBorders(physicsWorldID: PhysicsWorldID, mapSize: Vector, borderBodyGroup: PhysicsBodyGroup): void;
1258
1239
  }
1259
1240
 
1260
1241
  declare class MaterialsService {
@@ -1262,16 +1243,16 @@ declare class MaterialsService {
1262
1243
  materials: Map<string, p2$1.Material>;
1263
1244
  materialDefinitions: Map<string, MaterialDefinition>;
1264
1245
  };
1265
- getMaterial(physicsWorldID: number, name: string): p2$1.Material;
1266
- getMaterialDefinition(physicsWorldID: number, name: string): MaterialDefinition;
1246
+ getMaterial(physicsWorldID: PhysicsWorldID, name: string): p2$1.Material;
1247
+ getMaterialDefinition(physicsWorldID: PhysicsWorldID, name: string): MaterialDefinition;
1267
1248
  }
1268
1249
 
1269
1250
  declare class PhysicsWorldService {
1270
1251
  constructor(_materialsService: MaterialsService, _borderService: BorderService, _availabilityGridService: AvailabilityGridService, _collisionsService: CollisionsService, _physicsBodyGroupService: PhysicsBodyGroupService);
1271
- createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): number;
1272
- addBody(physicsWorldID: number, body: p2$1.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
1273
- removeBody(physicsWorldID: number, body: p2$1.Body): void;
1274
- setPaused(pause: boolean, physicsWorldID: number): void;
1252
+ createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): PhysicsWorldID;
1253
+ addBody(physicsWorldID: PhysicsWorldID, body: p2$1.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
1254
+ removeBody(physicsWorldID: PhysicsWorldID, body: p2$1.Body): void;
1255
+ setPaused(pause: boolean, physicsWorldID: PhysicsWorldID): void;
1275
1256
  }
1276
1257
 
1277
1258
  declare class RayCastingService {
@@ -1292,17 +1273,17 @@ declare class RayCastHitConverterService {
1292
1273
 
1293
1274
  declare class ElipticExplosionService {
1294
1275
  constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
1295
- createElipticExplosion(physicsWorldID: number, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1276
+ createElipticExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1296
1277
  }
1297
1278
 
1298
1279
  declare class ExplosionService {
1299
1280
  constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
1300
- createExplosion(physicsWorldID: number, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1281
+ createExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1301
1282
  }
1302
1283
 
1303
1284
  declare class PhysicsQueryService {
1304
- getMapSize(physicsWorldID: number): MapSizeDTO;
1305
- subscribeToPhysicsStep(physicsWorldID: number, callback: NotifierCallbackFunction<{
1285
+ getMapSize(physicsWorldID: PhysicsWorldID): MapSizeDTO;
1286
+ subscribeToPhysicsStep(physicsWorldID: PhysicsWorldID, callback: NotifierCallbackFunction<{
1306
1287
  time: number;
1307
1288
  delta: number;
1308
1289
  }>): IAttachment;
@@ -1310,20 +1291,44 @@ declare class PhysicsQueryService {
1310
1291
 
1311
1292
  declare class PhysicsController {
1312
1293
  constructor(_physicsWorldService: PhysicsWorldService, _pathFinderService: PathFinderService, _testVisualsService: TestVisualsService, _explosionService: ExplosionService, _elipticExplosionService: ElipticExplosionService, _hitTestService: HitTestService, _physicsQueryService: PhysicsQueryService, _impactService: ImpactService);
1313
- createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): number;
1314
- getMapSize(physicsWorldID: number): MapSizeDTO;
1315
- setPaused(pause: boolean, physicsWorldID: number): void;
1294
+ createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): PhysicsWorldID;
1295
+ getMapSize(physicsWorldID: PhysicsWorldID): MapSizeDTO;
1296
+ setPaused(pause: boolean, physicsWorldID: PhysicsWorldID): void;
1316
1297
  hitTest(physicsEntityID: number, options?: Partial<HitTestOptions>): boolean;
1317
- findPath(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, neighborType: GridNeighborType): PathFinderResult;
1318
- findPathDirection(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup): Radian | undefined;
1298
+ findPath(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, neighborType: GridNeighborType): PathFinderResult;
1299
+ findPathDirection(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup): Radian | undefined;
1319
1300
  applyImpulse(physicsEntityID: number, hitPosition: Vector, hitDirection: Vector, severity: number): void;
1320
- createExplosion(physicsWorldID: number, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1321
- createElipticExplosion(physicsWorldID: number, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1322
- printPathfindingTestGrid(physicsWorldID: number, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize?: number): void;
1301
+ createExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1302
+ createElipticExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1303
+ printPathfindingTestGrid(physicsWorldID: PhysicsWorldID, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize?: number): void;
1323
1304
  }
1324
1305
 
1325
1306
  declare const PhysicsGateway_base: new () => PhysicsController;
1326
1307
  declare class PhysicsGateway extends PhysicsGateway_base {
1327
1308
  }
1328
1309
 
1329
- export { AdvancedSound, type AdvancedSoundOptions, AnimationFlicker, AnimationInterpolationFunctions, type AnimationOptions, Animations, AnimationsCompletionHandlingType, Animator, type AnimatorAnimation, type AssetDefinition, type AudioAppearTransitionType, BORDER_MATERIAL_NAME, BardLegendsHardReset, BlendMode, type BorderProperties, Camera, CameraGateway, type CircleShapeData, ClosestAvailableSpaceHelper, type CollisionDetails, type CollisionReport, Container, ContainerEventType, ControllerDecorator, type CreateDashedLineOptions, type CreatePhysicsWorldRequestDTO, Cursor, DEFAULT_SHADER_RESOLUTION, DeltaTime, DisplayObjectArray, type DisplayObjectArrayOptions, type DropShadowOptions, Entity, EntityDecorator, type ExplosionHit, FadeInContent, type FadeInContentOptions, FocusingAnimation, Game, Gateway, type GlowEffectOptions, type GlowOptions, type GlowingShapeDefinition, Graphics, type HitTestOptions, ImmovablePhysicsEntity, type InteractingBodyGroups, type KeyboardKeyInfo, KeyboardService, type MapSizeDTO, type MaterialContactDefinition, type MaterialDefinition, MenuEntity, type MenuOptions, MenuUI, MenuView, MouseService, MouseTargetFocusService, MovableEntity, MovablePhysicsEntity, Music, MusicPlayer, type MusicPlayerOptions, type PartialTextOptions, PathFinder, type PathFinderResult, type PhysicsBodyDTO, PhysicsEntity, type PhysicsEntityDefinition, type PhysicsExplosionOptions, PhysicsGateway, PhysicsShapeType, Placeholder, type PolygonDefinition, type PolygonShapeData, ROTATIONAL_SPEED_LIMIT, type RayCast, type RayCastHit, ReAnimateHandlingType, type RectangleShapeData, RichText, type RichTextOptions, type RichTextRectangleCut, type RichTextStyles, SOUND_TRANSITION_DURATION, SPEED_LIMIT, Scene, SceneDecorator, ScrollAreaUI, ScrollDirection, type ScrollInContentOptions, ScrollMaskUI, Service, ServiceDecorator, type SetParentOptions, type ShapeDefinition, SingletonEntity, SlideInContent, SlideInContentByIndex, SlideStateAnimation, SlideStateAnimationState, Sound, type SoundDefinition, type SoundID, type SoundIDRegistry, type SoundOptions, Sprite, type SpriteDefinition, type SpriteID, type SpriteIDRegistry, StateAnimation, type StateAnimationOptions, type StateAnimationState, Text, type TextAlignment, type TextOptions, ThroughEmptyStateAnimation, UpdatableContainer, UpdateCycle, VectorFieldPathFinder, VectorSet, View, ViewDecorator, type ViewDecoratorMeta };
1310
+ declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
1311
+ readonly position: Vector;
1312
+ readonly rotation: Radian;
1313
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition);
1314
+ convertToDTO(): PhysicsBodyDTO;
1315
+ }
1316
+
1317
+ declare abstract class MovableEntity extends Entity {
1318
+ readonly position: Variable<Vector>;
1319
+ readonly rotation: Variable<Radian>;
1320
+ readonly velocity: Variable<Vector>;
1321
+ readonly rotationalSpeed: Variable<number>;
1322
+ constructor();
1323
+ }
1324
+
1325
+ declare abstract class MovablePhysicsEntity extends PhysicsEntity {
1326
+ readonly position: Variable<Vector>;
1327
+ readonly rotation: Variable<Radian>;
1328
+ readonly velocity: Variable<Vector>;
1329
+ readonly rotationalSpeed: Variable<number>;
1330
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition);
1331
+ convertToDTO(): PhysicsBodyDTO;
1332
+ }
1333
+
1334
+ export { AdvancedSound, type AdvancedSoundOptions, AnimationFlicker, AnimationInterpolationFunctions, type AnimationOptions, Animations, AnimationsCompletionHandlingType, Animator, type AnimatorAnimation, type AssetDefinition, type AudioAppearTransitionType, BORDER_MATERIAL_NAME, BardLegendsHardReset, BlendMode, type BorderProperties, Camera, CameraGateway, type CircleShapeData, ClosestAvailableSpaceHelper, type CollisionDetails, type CollisionReport, Container, ContainerEventType, ControllerDecorator, type CreateDashedLineOptions, type CreatePhysicsWorldRequestDTO, Cursor, DEFAULT_SHADER_RESOLUTION, DeltaTime, DisplayObjectArray, type DisplayObjectArrayOptions, type DropShadowOptions, Entity, EntityDecorator, type EntityID, type ExplosionHit, FadeInContent, type FadeInContentOptions, FocusingAnimation, Game, Gateway, type GlowEffectOptions, type GlowOptions, type GlowingShapeDefinition, Graphics, type HitTestOptions, ImmovablePhysicsEntity, type InteractingBodyGroups, type KeyboardKeyInfo, KeyboardService, type MapSizeDTO, type MaterialContactDefinition, type MaterialDefinition, MenuEntity, type MenuOptions, MenuUI, MenuView, MouseService, MouseTargetFocusService, MovableEntity, MovablePhysicsEntity, Music, MusicPlayer, type MusicPlayerOptions, type PartialTextOptions, PathFinder, type PathFinderResult, type PhysicsBodyDTO, PhysicsEntity, type PhysicsEntityDefinition, type PhysicsExplosionOptions, PhysicsGateway, PhysicsShapeType, type PhysicsWorldID, Placeholder, type PolygonDefinition, type PolygonShapeData, ROTATIONAL_SPEED_LIMIT, type RayCast, type RayCastHit, ReAnimateHandlingType, type RectangleShapeData, RichText, type RichTextOptions, type RichTextRectangleCut, type RichTextStyles, SOUND_TRANSITION_DURATION, SPEED_LIMIT, Scene, SceneDecorator, ScrollAreaUI, ScrollDirection, type ScrollInContentOptions, ScrollMaskUI, Service, ServiceDecorator, type SetParentOptions, type ShapeDefinition, SingletonEntity, SlideInContent, SlideInContentByIndex, SlideStateAnimation, SlideStateAnimationState, Sound, type SoundDefinition, type SoundID, type SoundIDRegistry, type SoundOptions, Sprite, type SpriteDefinition, type SpriteID, type SpriteIDRegistry, StateAnimation, type StateAnimationOptions, type StateAnimationState, Text, type TextAlignment, type TextOptions, ThroughEmptyStateAnimation, UpdatableContainer, UpdateCycle, VectorFieldPathFinder, VectorSet, View, ViewDecorator, type ViewDecoratorMeta };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as actions_lib from 'actions-lib';
2
- import { IDAttachable, Attachable, AttachmentID, IdleSingleEvent, IdleSequence, Variable, Reducer, Sequence, SingleNotifier, Notifier, SingleEvent, Action, ClassID, NotifierCallbackFunction, IAttachment } from 'actions-lib';
2
+ import { IDAttachable, AttachmentID, Attachable, IdleSingleEvent, IdleSequence, Variable, Reducer, Sequence, SingleNotifier, Notifier, SingleEvent, Action, ClassID, NotifierCallbackFunction, IAttachment } from 'actions-lib';
3
3
  import { Vector, DynamicID, Vec2, RGBColor, Radian, Rectangle, Grid, GridNeighborType, Line } from 'helpers-lib';
4
4
  import p2$1 from 'p2';
5
5
  import * as Pixi from 'pixi.js';
@@ -26,10 +26,14 @@ declare function ControllerDecorator<TController>(gateway: new () => TController
26
26
  type EntityClassType<T extends Entity = Entity> = (new (...args: any[]) => T) & {
27
27
  id: number;
28
28
  };
29
+ type EntityID<T extends Entity> = AttachmentID & {
30
+ readonly __entity: T;
31
+ };
29
32
  declare function EntityDecorator(): <T extends Entity>(EntityClass: EntityClassType<T>) => any;
30
33
  declare abstract class Entity extends IDAttachable {
31
- static getInstanceByID<T extends Entity>(this: EntityClassType<T>, entityID: number | undefined): T | undefined;
32
- static getInstanceByIDOrFail<T extends Entity>(this: EntityClassType<T>, entityID: number): T;
34
+ readonly id: EntityID<this>;
35
+ static getInstanceByID<T extends Entity>(this: EntityClassType<T>, entityID: EntityID<T> | undefined): T | undefined;
36
+ static getInstanceByIDOrFail<T extends Entity>(this: EntityClassType<T>, entityID: EntityID<T>): T;
33
37
  static getEntities<T extends Entity>(this: EntityClassType<T>): T[];
34
38
  constructor();
35
39
  destroy(): void;
@@ -144,7 +148,7 @@ declare abstract class View extends IDAttachable {
144
148
  }
145
149
 
146
150
  type AudioAppearTransitionType = 'ease' | 'instant';
147
- declare const SOUND_TRANSITION_DURATION = 800;
151
+ declare const SOUND_TRANSITION_DURATION = 1000;
148
152
  declare class Audio {
149
153
  private constructor();
150
154
  setVolumes(volumes: {
@@ -1062,38 +1066,40 @@ declare abstract class PhysicsEntity extends Entity {
1062
1066
  get area(): number;
1063
1067
  get mass(): number;
1064
1068
  get collisions(): readonly CollisionReport[];
1065
- readonly physicsWorldID: number;
1069
+ readonly physicsWorldID: PhysicsWorldID;
1066
1070
  readonly physicsBodyGroup: PhysicsBodyGroup;
1067
1071
  readonly includeInPathfinding: boolean;
1068
1072
  protected readonly type: 'dynamic' | 'static';
1069
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
1073
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
1070
1074
  abstract convertToDTO(): PhysicsBodyDTO;
1071
1075
  destroy(): void;
1072
1076
  canCollideWith(target: PhysicsEntity): boolean;
1073
1077
  }
1074
1078
 
1075
- declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
1076
- readonly position: Vector;
1077
- readonly rotation: Radian;
1078
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition);
1079
- convertToDTO(): PhysicsBodyDTO;
1080
- }
1081
-
1082
- declare abstract class MovableEntity extends Entity {
1083
- readonly position: Variable<Vector>;
1084
- readonly rotation: Variable<Radian>;
1085
- readonly velocity: Variable<Vector>;
1086
- readonly rotationalSpeed: Variable<number>;
1087
- constructor();
1088
- }
1089
-
1090
- declare abstract class MovablePhysicsEntity extends PhysicsEntity {
1091
- readonly position: Variable<Vector>;
1092
- readonly rotation: Variable<Radian>;
1093
- readonly velocity: Variable<Vector>;
1094
- readonly rotationalSpeed: Variable<number>;
1095
- constructor(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition);
1096
- convertToDTO(): PhysicsBodyDTO;
1079
+ type PhysicsWorldID = EntityID<PhysicsWorldEntity>;
1080
+ declare class PhysicsWorldEntity extends Entity {
1081
+ readonly mapSize: Vector;
1082
+ readonly mapSizeCenter: Vector;
1083
+ readonly modifyUpdateCycle: boolean;
1084
+ readonly p2World: p2$1.World;
1085
+ readonly materials: Readonly<Map<string, p2$1.Material>>;
1086
+ readonly materialDefinitions: Map<string, MaterialDefinition>;
1087
+ readonly physicsBodyGroupToP2Group: Map<string, number>;
1088
+ readonly physicsBodyGroupToP2Mask: Map<string, number>;
1089
+ readonly availabilityGridCache: Map<number, Map<PhysicsBodyGroup, Grid<boolean>>>;
1090
+ readonly vectorFieldCache: Map<string, VectorFieldPathFinder>;
1091
+ readonly bodiesInContactWith: Map<number, {
1092
+ p2Body: p2$1.Body;
1093
+ entity: PhysicsEntity;
1094
+ }>;
1095
+ readonly collisionReports: Map<number, CollisionReport[]>;
1096
+ readonly paused: Variable<boolean>;
1097
+ readonly lastP2Time: Variable<number>;
1098
+ readonly onPhysicsStep: Action<{
1099
+ time: number;
1100
+ delta: number;
1101
+ }>;
1102
+ constructor(mapSize: Vector, modifyUpdateCycle: boolean, p2World: p2$1.World, materials: Map<string, p2$1.Material>, materialContactDefinitions: Map<string, MaterialDefinition>, physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>, physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>);
1097
1103
  }
1098
1104
 
1099
1105
  declare const BORDER_MATERIAL_NAME = "border";
@@ -1169,38 +1175,13 @@ interface MapSizeDTO {
1169
1175
  readonly center: Vector;
1170
1176
  }
1171
1177
 
1172
- declare class PhysicsWorldEntity extends Entity {
1173
- readonly mapSize: Vector;
1174
- readonly mapSizeCenter: Vector;
1175
- readonly modifyUpdateCycle: boolean;
1176
- readonly p2World: p2$1.World;
1177
- readonly materials: Readonly<Map<string, p2$1.Material>>;
1178
- readonly materialDefinitions: Map<string, MaterialDefinition>;
1179
- readonly physicsBodyGroupToP2Group: Map<string, number>;
1180
- readonly physicsBodyGroupToP2Mask: Map<string, number>;
1181
- readonly availabilityGridCache: Map<number, Map<PhysicsBodyGroup, Grid<boolean>>>;
1182
- readonly vectorFieldCache: Map<string, VectorFieldPathFinder>;
1183
- readonly bodiesInContactWith: Map<number, {
1184
- p2Body: p2$1.Body;
1185
- entity: PhysicsEntity;
1186
- }>;
1187
- readonly collisionReports: Map<number, CollisionReport[]>;
1188
- readonly paused: Variable<boolean>;
1189
- readonly lastP2Time: Variable<number>;
1190
- readonly onPhysicsStep: Action<{
1191
- time: number;
1192
- delta: number;
1193
- }>;
1194
- constructor(mapSize: Vector, modifyUpdateCycle: boolean, p2World: p2$1.World, materials: Map<string, p2$1.Material>, materialContactDefinitions: Map<string, MaterialDefinition>, physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>, physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>);
1195
- }
1196
-
1197
1178
  declare class PhysicsBodyGroupService {
1198
1179
  createBodyGroupsAndMasks(physicsBodyGroups: readonly PhysicsBodyGroup[], interactingBodyGroups: InteractingBodyGroups): {
1199
1180
  readonly physicsBodyGroupToP2Group: Map<PhysicsBodyGroup, number>;
1200
1181
  readonly physicsBodyGroupToP2Mask: Map<PhysicsBodyGroup, number>;
1201
1182
  };
1202
- getGroupConstant(physicsWorldID: number, group: PhysicsBodyGroup): number;
1203
- getMaskConstant(physicsWorldID: number, group: PhysicsBodyGroup): number;
1183
+ getGroupConstant(physicsWorldID: PhysicsWorldID, group: PhysicsBodyGroup): number;
1184
+ getMaskConstant(physicsWorldID: PhysicsWorldID, group: PhysicsBodyGroup): number;
1204
1185
  canCollide(physicsWorld: PhysicsWorldEntity, groupType1: PhysicsBodyGroup, groupType2: PhysicsBodyGroup): boolean;
1205
1186
  }
1206
1187
 
@@ -1224,16 +1205,16 @@ declare class AvailabilityGridService {
1224
1205
 
1225
1206
  declare class PathFinderService {
1226
1207
  constructor(_physicsAvailabilityGrid: AvailabilityGridService);
1227
- findPathAStar(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, options?: {
1208
+ findPathAStar(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, options?: {
1228
1209
  neighborType?: GridNeighborType;
1229
1210
  gridCellSize?: number;
1230
1211
  }): PathFinderResult;
1231
- findPathDirection(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
1212
+ findPathDirection(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
1232
1213
  }
1233
1214
 
1234
1215
  declare class TestVisualsService {
1235
1216
  constructor(_availabilityGridService: AvailabilityGridService, _pathFinderService: PathFinderService);
1236
- printPathfindingTestGrid(physicsWorldID: number, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
1217
+ printPathfindingTestGrid(physicsWorldID: PhysicsWorldID, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
1237
1218
  createExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerID: number, rayCasts: RayCast[], explosionCenter: Vector, radius: number, duration?: number): void;
1238
1219
  createElipticExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerID: number, rayCasts: RayCast[], explosionCenter: Vector, rotation: Radian, size: Vector, duration?: number): void;
1239
1220
  createPhysicsEntityShapeVisual(p2Body: p2$1.Body, testLayerID: number, options?: {
@@ -1254,7 +1235,7 @@ declare class CollisionsService {
1254
1235
  }
1255
1236
 
1256
1237
  declare class BorderService {
1257
- createBorders(physicsWorldID: AttachmentID, mapSize: Vector, borderBodyGroup: PhysicsBodyGroup): void;
1238
+ createBorders(physicsWorldID: PhysicsWorldID, mapSize: Vector, borderBodyGroup: PhysicsBodyGroup): void;
1258
1239
  }
1259
1240
 
1260
1241
  declare class MaterialsService {
@@ -1262,16 +1243,16 @@ declare class MaterialsService {
1262
1243
  materials: Map<string, p2$1.Material>;
1263
1244
  materialDefinitions: Map<string, MaterialDefinition>;
1264
1245
  };
1265
- getMaterial(physicsWorldID: number, name: string): p2$1.Material;
1266
- getMaterialDefinition(physicsWorldID: number, name: string): MaterialDefinition;
1246
+ getMaterial(physicsWorldID: PhysicsWorldID, name: string): p2$1.Material;
1247
+ getMaterialDefinition(physicsWorldID: PhysicsWorldID, name: string): MaterialDefinition;
1267
1248
  }
1268
1249
 
1269
1250
  declare class PhysicsWorldService {
1270
1251
  constructor(_materialsService: MaterialsService, _borderService: BorderService, _availabilityGridService: AvailabilityGridService, _collisionsService: CollisionsService, _physicsBodyGroupService: PhysicsBodyGroupService);
1271
- createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): number;
1272
- addBody(physicsWorldID: number, body: p2$1.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
1273
- removeBody(physicsWorldID: number, body: p2$1.Body): void;
1274
- setPaused(pause: boolean, physicsWorldID: number): void;
1252
+ createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): PhysicsWorldID;
1253
+ addBody(physicsWorldID: PhysicsWorldID, body: p2$1.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
1254
+ removeBody(physicsWorldID: PhysicsWorldID, body: p2$1.Body): void;
1255
+ setPaused(pause: boolean, physicsWorldID: PhysicsWorldID): void;
1275
1256
  }
1276
1257
 
1277
1258
  declare class RayCastingService {
@@ -1292,17 +1273,17 @@ declare class RayCastHitConverterService {
1292
1273
 
1293
1274
  declare class ElipticExplosionService {
1294
1275
  constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
1295
- createElipticExplosion(physicsWorldID: number, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1276
+ createElipticExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1296
1277
  }
1297
1278
 
1298
1279
  declare class ExplosionService {
1299
1280
  constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
1300
- createExplosion(physicsWorldID: number, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1281
+ createExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1301
1282
  }
1302
1283
 
1303
1284
  declare class PhysicsQueryService {
1304
- getMapSize(physicsWorldID: number): MapSizeDTO;
1305
- subscribeToPhysicsStep(physicsWorldID: number, callback: NotifierCallbackFunction<{
1285
+ getMapSize(physicsWorldID: PhysicsWorldID): MapSizeDTO;
1286
+ subscribeToPhysicsStep(physicsWorldID: PhysicsWorldID, callback: NotifierCallbackFunction<{
1306
1287
  time: number;
1307
1288
  delta: number;
1308
1289
  }>): IAttachment;
@@ -1310,20 +1291,44 @@ declare class PhysicsQueryService {
1310
1291
 
1311
1292
  declare class PhysicsController {
1312
1293
  constructor(_physicsWorldService: PhysicsWorldService, _pathFinderService: PathFinderService, _testVisualsService: TestVisualsService, _explosionService: ExplosionService, _elipticExplosionService: ElipticExplosionService, _hitTestService: HitTestService, _physicsQueryService: PhysicsQueryService, _impactService: ImpactService);
1313
- createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): number;
1314
- getMapSize(physicsWorldID: number): MapSizeDTO;
1315
- setPaused(pause: boolean, physicsWorldID: number): void;
1294
+ createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): PhysicsWorldID;
1295
+ getMapSize(physicsWorldID: PhysicsWorldID): MapSizeDTO;
1296
+ setPaused(pause: boolean, physicsWorldID: PhysicsWorldID): void;
1316
1297
  hitTest(physicsEntityID: number, options?: Partial<HitTestOptions>): boolean;
1317
- findPath(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, neighborType: GridNeighborType): PathFinderResult;
1318
- findPathDirection(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup): Radian | undefined;
1298
+ findPath(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, neighborType: GridNeighborType): PathFinderResult;
1299
+ findPathDirection(physicsWorldID: PhysicsWorldID, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup): Radian | undefined;
1319
1300
  applyImpulse(physicsEntityID: number, hitPosition: Vector, hitDirection: Vector, severity: number): void;
1320
- createExplosion(physicsWorldID: number, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1321
- createElipticExplosion(physicsWorldID: number, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1322
- printPathfindingTestGrid(physicsWorldID: number, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize?: number): void;
1301
+ createExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1302
+ createElipticExplosion(physicsWorldID: PhysicsWorldID, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
1303
+ printPathfindingTestGrid(physicsWorldID: PhysicsWorldID, testLayerID: number, target: Vector | number, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize?: number): void;
1323
1304
  }
1324
1305
 
1325
1306
  declare const PhysicsGateway_base: new () => PhysicsController;
1326
1307
  declare class PhysicsGateway extends PhysicsGateway_base {
1327
1308
  }
1328
1309
 
1329
- export { AdvancedSound, type AdvancedSoundOptions, AnimationFlicker, AnimationInterpolationFunctions, type AnimationOptions, Animations, AnimationsCompletionHandlingType, Animator, type AnimatorAnimation, type AssetDefinition, type AudioAppearTransitionType, BORDER_MATERIAL_NAME, BardLegendsHardReset, BlendMode, type BorderProperties, Camera, CameraGateway, type CircleShapeData, ClosestAvailableSpaceHelper, type CollisionDetails, type CollisionReport, Container, ContainerEventType, ControllerDecorator, type CreateDashedLineOptions, type CreatePhysicsWorldRequestDTO, Cursor, DEFAULT_SHADER_RESOLUTION, DeltaTime, DisplayObjectArray, type DisplayObjectArrayOptions, type DropShadowOptions, Entity, EntityDecorator, type ExplosionHit, FadeInContent, type FadeInContentOptions, FocusingAnimation, Game, Gateway, type GlowEffectOptions, type GlowOptions, type GlowingShapeDefinition, Graphics, type HitTestOptions, ImmovablePhysicsEntity, type InteractingBodyGroups, type KeyboardKeyInfo, KeyboardService, type MapSizeDTO, type MaterialContactDefinition, type MaterialDefinition, MenuEntity, type MenuOptions, MenuUI, MenuView, MouseService, MouseTargetFocusService, MovableEntity, MovablePhysicsEntity, Music, MusicPlayer, type MusicPlayerOptions, type PartialTextOptions, PathFinder, type PathFinderResult, type PhysicsBodyDTO, PhysicsEntity, type PhysicsEntityDefinition, type PhysicsExplosionOptions, PhysicsGateway, PhysicsShapeType, Placeholder, type PolygonDefinition, type PolygonShapeData, ROTATIONAL_SPEED_LIMIT, type RayCast, type RayCastHit, ReAnimateHandlingType, type RectangleShapeData, RichText, type RichTextOptions, type RichTextRectangleCut, type RichTextStyles, SOUND_TRANSITION_DURATION, SPEED_LIMIT, Scene, SceneDecorator, ScrollAreaUI, ScrollDirection, type ScrollInContentOptions, ScrollMaskUI, Service, ServiceDecorator, type SetParentOptions, type ShapeDefinition, SingletonEntity, SlideInContent, SlideInContentByIndex, SlideStateAnimation, SlideStateAnimationState, Sound, type SoundDefinition, type SoundID, type SoundIDRegistry, type SoundOptions, Sprite, type SpriteDefinition, type SpriteID, type SpriteIDRegistry, StateAnimation, type StateAnimationOptions, type StateAnimationState, Text, type TextAlignment, type TextOptions, ThroughEmptyStateAnimation, UpdatableContainer, UpdateCycle, VectorFieldPathFinder, VectorSet, View, ViewDecorator, type ViewDecoratorMeta };
1310
+ declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
1311
+ readonly position: Vector;
1312
+ readonly rotation: Radian;
1313
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition);
1314
+ convertToDTO(): PhysicsBodyDTO;
1315
+ }
1316
+
1317
+ declare abstract class MovableEntity extends Entity {
1318
+ readonly position: Variable<Vector>;
1319
+ readonly rotation: Variable<Radian>;
1320
+ readonly velocity: Variable<Vector>;
1321
+ readonly rotationalSpeed: Variable<number>;
1322
+ constructor();
1323
+ }
1324
+
1325
+ declare abstract class MovablePhysicsEntity extends PhysicsEntity {
1326
+ readonly position: Variable<Vector>;
1327
+ readonly rotation: Variable<Radian>;
1328
+ readonly velocity: Variable<Vector>;
1329
+ readonly rotationalSpeed: Variable<number>;
1330
+ constructor(physicsWorldID: PhysicsWorldID, physicsEntityDefinition: PhysicsEntityDefinition);
1331
+ convertToDTO(): PhysicsBodyDTO;
1332
+ }
1333
+
1334
+ export { AdvancedSound, type AdvancedSoundOptions, AnimationFlicker, AnimationInterpolationFunctions, type AnimationOptions, Animations, AnimationsCompletionHandlingType, Animator, type AnimatorAnimation, type AssetDefinition, type AudioAppearTransitionType, BORDER_MATERIAL_NAME, BardLegendsHardReset, BlendMode, type BorderProperties, Camera, CameraGateway, type CircleShapeData, ClosestAvailableSpaceHelper, type CollisionDetails, type CollisionReport, Container, ContainerEventType, ControllerDecorator, type CreateDashedLineOptions, type CreatePhysicsWorldRequestDTO, Cursor, DEFAULT_SHADER_RESOLUTION, DeltaTime, DisplayObjectArray, type DisplayObjectArrayOptions, type DropShadowOptions, Entity, EntityDecorator, type EntityID, type ExplosionHit, FadeInContent, type FadeInContentOptions, FocusingAnimation, Game, Gateway, type GlowEffectOptions, type GlowOptions, type GlowingShapeDefinition, Graphics, type HitTestOptions, ImmovablePhysicsEntity, type InteractingBodyGroups, type KeyboardKeyInfo, KeyboardService, type MapSizeDTO, type MaterialContactDefinition, type MaterialDefinition, MenuEntity, type MenuOptions, MenuUI, MenuView, MouseService, MouseTargetFocusService, MovableEntity, MovablePhysicsEntity, Music, MusicPlayer, type MusicPlayerOptions, type PartialTextOptions, PathFinder, type PathFinderResult, type PhysicsBodyDTO, PhysicsEntity, type PhysicsEntityDefinition, type PhysicsExplosionOptions, PhysicsGateway, PhysicsShapeType, type PhysicsWorldID, Placeholder, type PolygonDefinition, type PolygonShapeData, ROTATIONAL_SPEED_LIMIT, type RayCast, type RayCastHit, ReAnimateHandlingType, type RectangleShapeData, RichText, type RichTextOptions, type RichTextRectangleCut, type RichTextStyles, SOUND_TRANSITION_DURATION, SPEED_LIMIT, Scene, SceneDecorator, ScrollAreaUI, ScrollDirection, type ScrollInContentOptions, ScrollMaskUI, Service, ServiceDecorator, type SetParentOptions, type ShapeDefinition, SingletonEntity, SlideInContent, SlideInContentByIndex, SlideStateAnimation, SlideStateAnimationState, Sound, type SoundDefinition, type SoundID, type SoundIDRegistry, type SoundOptions, Sprite, type SpriteDefinition, type SpriteID, type SpriteIDRegistry, StateAnimation, type StateAnimationOptions, type StateAnimationState, Text, type TextAlignment, type TextOptions, ThroughEmptyStateAnimation, UpdatableContainer, UpdateCycle, VectorFieldPathFinder, VectorSet, View, ViewDecorator, type ViewDecoratorMeta };