bard-legends-framework 0.3.3 → 0.4.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/game-entities/service/service.test.js +24 -8
- package/dist/game-entities/service/service.test.js.map +1 -1
- package/dist/physics/entity-types/immovable-physics-entity.d.ts +12 -0
- package/dist/physics/entity-types/immovable-physics-entity.js +28 -0
- package/dist/physics/entity-types/immovable-physics-entity.js.map +1 -0
- package/dist/physics/entity-types/movable-entity.d.ts +11 -0
- package/dist/physics/entity-types/movable-entity.js +26 -0
- package/dist/physics/entity-types/movable-entity.js.map +1 -0
- package/dist/physics/entity-types/movable-physics-entity.d.ts +20 -0
- package/dist/physics/entity-types/movable-physics-entity.js +96 -0
- package/dist/physics/entity-types/movable-physics-entity.js.map +1 -0
- package/dist/physics/entity-types/physics-entity.d.ts +31 -0
- package/dist/physics/entity-types/physics-entity.js +91 -0
- package/dist/physics/entity-types/physics-entity.js.map +1 -0
- package/dist/physics/index.d.ts +6 -9
- package/dist/physics/index.js +7 -14
- package/dist/physics/index.js.map +1 -1
- package/dist/physics/interfaces.d.ts +1 -35
- package/dist/physics/interfaces.js +1 -2
- package/dist/physics/interfaces.js.map +1 -1
- package/dist/physics/libs/p2js.helper.d.ts +8 -0
- package/dist/physics/libs/p2js.helper.js +31 -0
- package/dist/physics/libs/p2js.helper.js.map +1 -0
- package/dist/physics/libs/physics-body-groups.d.ts +15 -0
- package/dist/physics/libs/physics-body-groups.js +76 -0
- package/dist/physics/libs/physics-body-groups.js.map +1 -0
- package/dist/physics/libs/position-to-grid-position-converter.d.ts +6 -0
- package/dist/physics/libs/position-to-grid-position-converter.js +17 -0
- package/dist/physics/libs/position-to-grid-position-converter.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +23 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +50 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +28 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +59 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +15 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.js +3 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.d.ts +30 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.js +3 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.d.ts +21 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.js +7 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/index.d.ts +4 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/index.js +26 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/index.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +18 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +36 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js.map +1 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +19 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +40 -0
- package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +12 -0
- package/dist/physics/module//360/237/223/220services/availability-grid.service.js +63 -0
- package/dist/physics/module//360/237/223/220services/availability-grid.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/border.service.d.ts +5 -0
- package/dist/physics/module//360/237/223/220services/border.service.js +42 -0
- package/dist/physics/module//360/237/223/220services/border.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +10 -0
- package/dist/physics/module//360/237/223/220services/collisions.service.js +106 -0
- package/dist/physics/module//360/237/223/220services/collisions.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +14 -0
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +95 -0
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +14 -0
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +99 -0
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -0
- package/dist/physics/module//360/237/223/220services/explosion.service.js +88 -0
- package/dist/physics/module//360/237/223/220services/explosion.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +5 -0
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -0
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/materials.service.d.ts +15 -0
- package/dist/physics/module//360/237/223/220services/materials.service.js +120 -0
- package/dist/physics/module//360/237/223/220services/materials.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +15 -0
- package/dist/physics/module//360/237/223/220services/path-finder.service.js +92 -0
- package/dist/physics/module//360/237/223/220services/path-finder.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +26 -0
- package/dist/physics/module//360/237/223/220services/physics-world.service.js +112 -0
- package/dist/physics/module//360/237/223/220services/physics-world.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +9 -0
- package/dist/physics/module//360/237/223/220services/ray-casting.service.js +92 -0
- package/dist/physics/module//360/237/223/220services/ray-casting.service.js.map +1 -0
- package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -0
- package/dist/physics/module//360/237/223/220services/shape-creation.service.js +95 -0
- package/dist/physics/module//360/237/223/220services/shape-creation.service.js.map +1 -0
- package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +5 -0
- package/dist/physics/module//360/237/247/212entities/border.entity.js +25 -0
- package/dist/physics/module//360/237/247/212entities/border.entity.js.map +1 -0
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +12 -0
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +40 -0
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js.map +1 -0
- package/dist/physics/module//360/237/247/212entities/physics-world.entity.d.ts +30 -0
- package/dist/physics/module//360/237/247/212entities/physics-world.entity.js +45 -0
- package/dist/physics/module//360/237/247/212entities/physics-world.entity.js.map +1 -0
- package/dist/pixi/display-object/objects/graphics.d.ts +1 -0
- package/dist/pixi/display-object/objects/graphics.js +7 -0
- package/dist/pixi/display-object/objects/graphics.js.map +1 -1
- package/dist/pixi/game.d.ts +4 -0
- package/dist/pixi/game.js +12 -0
- package/dist/pixi/game.js.map +1 -1
- package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +4 -0
- package/dist/pixi/helpers/screen-position-to-stage.helper.js +17 -0
- package/dist/pixi/helpers/screen-position-to-stage.helper.js.map +1 -0
- package/dist/pixi/helpers/screen-position-to-stage.helper.test.d.ts +1 -0
- package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +83 -0
- package/dist/pixi/helpers/screen-position-to-stage.helper.test.js.map +1 -0
- package/dist/pixi/index.d.ts +3 -0
- package/dist/pixi/index.js +7 -1
- package/dist/pixi/index.js.map +1 -1
- package/dist/pixi/services/keyboard/keyboard.d.ts +7 -0
- package/dist/pixi/services/keyboard/keyboard.js +39 -0
- package/dist/pixi/services/keyboard/keyboard.js.map +1 -0
- package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +20 -0
- package/dist/pixi/services/mouse/mouse-target-focus.service.js +85 -0
- package/dist/pixi/services/mouse/mouse-target-focus.service.js.map +1 -0
- package/dist/pixi/services/mouse/mouse.service.d.ts +10 -0
- package/dist/pixi/services/mouse/mouse.service.js +68 -0
- package/dist/pixi/services/mouse/mouse.service.js.map +1 -0
- package/dist/utilities/index.d.ts +4 -4
- package/dist/utilities/index.js +7 -7
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js +3 -2
- package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js.map +1 -1
- package/package.json +2 -2
- package/package.json.bak +2 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhysicsBodyGroups = exports.PhysicsBodyGroup = void 0;
|
|
4
|
+
/* eslint-disable no-bitwise */
|
|
5
|
+
const BORDER_GROUP = 1 << 0; // 0b0001;
|
|
6
|
+
const FRIEND_GROUP = 1 << 1; // 0b0010;
|
|
7
|
+
const FRIEND_PROJECTILE_GROUP = 1 << 2; // 0b0100;
|
|
8
|
+
const ENEMY_GROUP = 1 << 3; // 0b1000;
|
|
9
|
+
const ENEMY_PROJECTILE_GROUP = 1 << 4;
|
|
10
|
+
const NEUTRAL_GROUP = 1 << 5;
|
|
11
|
+
const EXPLOSION_GROUP = 1 << 6;
|
|
12
|
+
const BORDER_MASK = FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP;
|
|
13
|
+
const FRIEND_MASK = ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
|
|
14
|
+
const FRIEND_PROJECTILE_MASK = ENEMY_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
|
|
15
|
+
const ENEMY_MASK = FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
|
|
16
|
+
const ENEMY_PROJECTILE_MASK = FRIEND_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
|
|
17
|
+
const NEUTRAL_MASK = FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
|
|
18
|
+
const EXPLOSION_MASK = FRIEND_GROUP | ENEMY_GROUP | NEUTRAL_GROUP;
|
|
19
|
+
var PhysicsBodyGroup;
|
|
20
|
+
(function (PhysicsBodyGroup) {
|
|
21
|
+
PhysicsBodyGroup[PhysicsBodyGroup["none"] = 0] = "none";
|
|
22
|
+
PhysicsBodyGroup[PhysicsBodyGroup["border"] = 1] = "border";
|
|
23
|
+
PhysicsBodyGroup[PhysicsBodyGroup["friend"] = 2] = "friend";
|
|
24
|
+
PhysicsBodyGroup[PhysicsBodyGroup["friendProjectile"] = 3] = "friendProjectile";
|
|
25
|
+
PhysicsBodyGroup[PhysicsBodyGroup["enemy"] = 4] = "enemy";
|
|
26
|
+
PhysicsBodyGroup[PhysicsBodyGroup["enemyProjectile"] = 5] = "enemyProjectile";
|
|
27
|
+
PhysicsBodyGroup[PhysicsBodyGroup["neutral"] = 6] = "neutral";
|
|
28
|
+
PhysicsBodyGroup[PhysicsBodyGroup["explosion"] = 7] = "explosion";
|
|
29
|
+
})(PhysicsBodyGroup || (exports.PhysicsBodyGroup = PhysicsBodyGroup = {}));
|
|
30
|
+
class PhysicsBodyGroups {
|
|
31
|
+
static getGroupConstant(group) {
|
|
32
|
+
switch (group) {
|
|
33
|
+
case PhysicsBodyGroup.none:
|
|
34
|
+
return 0;
|
|
35
|
+
case PhysicsBodyGroup.border:
|
|
36
|
+
return BORDER_GROUP;
|
|
37
|
+
case PhysicsBodyGroup.friend:
|
|
38
|
+
return FRIEND_GROUP;
|
|
39
|
+
case PhysicsBodyGroup.friendProjectile:
|
|
40
|
+
return FRIEND_PROJECTILE_GROUP;
|
|
41
|
+
case PhysicsBodyGroup.enemy:
|
|
42
|
+
return ENEMY_GROUP;
|
|
43
|
+
case PhysicsBodyGroup.enemyProjectile:
|
|
44
|
+
return ENEMY_PROJECTILE_GROUP;
|
|
45
|
+
case PhysicsBodyGroup.neutral:
|
|
46
|
+
return NEUTRAL_GROUP;
|
|
47
|
+
case PhysicsBodyGroup.explosion:
|
|
48
|
+
return EXPLOSION_GROUP;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
static getMaskConstant(group) {
|
|
52
|
+
switch (group) {
|
|
53
|
+
case PhysicsBodyGroup.none:
|
|
54
|
+
return 0;
|
|
55
|
+
case PhysicsBodyGroup.border:
|
|
56
|
+
return BORDER_MASK;
|
|
57
|
+
case PhysicsBodyGroup.friend:
|
|
58
|
+
return FRIEND_MASK;
|
|
59
|
+
case PhysicsBodyGroup.friendProjectile:
|
|
60
|
+
return FRIEND_PROJECTILE_MASK;
|
|
61
|
+
case PhysicsBodyGroup.enemy:
|
|
62
|
+
return ENEMY_MASK;
|
|
63
|
+
case PhysicsBodyGroup.enemyProjectile:
|
|
64
|
+
return ENEMY_PROJECTILE_MASK;
|
|
65
|
+
case PhysicsBodyGroup.neutral:
|
|
66
|
+
return NEUTRAL_MASK;
|
|
67
|
+
case PhysicsBodyGroup.explosion:
|
|
68
|
+
return EXPLOSION_MASK;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
static canCollide(group1, group2) {
|
|
72
|
+
return (PhysicsBodyGroups.getMaskConstant(group1) & PhysicsBodyGroups.getGroupConstant(group2)) !== 0;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.PhysicsBodyGroups = PhysicsBodyGroups;
|
|
76
|
+
//# sourceMappingURL=physics-body-groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physics-body-groups.js","sourceRoot":"","sources":["../../../src/physics/libs/physics-body-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Rectangle, Vector } from 'helpers-lib';
|
|
2
|
+
export declare class PositionToGridPositionConverter {
|
|
3
|
+
static areaToGridArea(boundingBox: Rectangle, cellSize: number): Rectangle;
|
|
4
|
+
static positionToGridPosition(point: Vector, cellSize: number): Vector;
|
|
5
|
+
static gridPositionToPosition(gridPosition: Vector, cellSize: number): Vector;
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PositionToGridPositionConverter = void 0;
|
|
4
|
+
const helpers_lib_1 = require("helpers-lib");
|
|
5
|
+
class PositionToGridPositionConverter {
|
|
6
|
+
static areaToGridArea(boundingBox, cellSize) {
|
|
7
|
+
return new helpers_lib_1.Rectangle(this.positionToGridPosition(boundingBox.topLeft, cellSize), this.positionToGridPosition(boundingBox.bottomRight, cellSize));
|
|
8
|
+
}
|
|
9
|
+
static positionToGridPosition(point, cellSize) {
|
|
10
|
+
return point.divide(cellSize).floor();
|
|
11
|
+
}
|
|
12
|
+
static gridPositionToPosition(gridPosition, cellSize) {
|
|
13
|
+
return gridPosition.add(new helpers_lib_1.Vector(0.5, 0.5)).multiply(cellSize);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.PositionToGridPositionConverter = PositionToGridPositionConverter;
|
|
17
|
+
//# sourceMappingURL=position-to-grid-position-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-to-grid-position-converter.js","sourceRoot":"","sources":["../../../src/physics/libs/position-to-grid-position-converter.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,MAAa,+BAA+B;IAC1C,MAAM,CAAC,cAAc,CAAC,WAAsB,EAAE,QAAgB;QAC5D,OAAO,IAAI,uBAAS,CAClB,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC1D,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,KAAa,EAAE,QAAgB;QAC3D,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,YAAoB,EAAE,QAAgB;QAClE,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,oBAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;CACF;AAfD,0EAeC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="p2" />
|
|
2
|
+
import { ActionListenerCallbackFunction, ActionSubscription } from 'actions-lib';
|
|
3
|
+
import { PhysicsEntityDefinition } from '../../../interfaces';
|
|
4
|
+
import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
|
|
5
|
+
import { MaterialsService } from '../../📐services/materials.service';
|
|
6
|
+
import { PhysicsWorldService } from '../../📐services/physics-world.service';
|
|
7
|
+
import { ShapeCreationService } from '../../📐services/shape-creation.service';
|
|
8
|
+
import { MaterialDefinition } from '../dtos/shared-interfaces.dto';
|
|
9
|
+
export declare class PhysicsInternalController {
|
|
10
|
+
private physicsWorldService;
|
|
11
|
+
private physicsMaterialsService;
|
|
12
|
+
private shapeCreationService;
|
|
13
|
+
constructor(physicsWorldService: PhysicsWorldService, physicsMaterialsService: MaterialsService, shapeCreationService: ShapeCreationService);
|
|
14
|
+
createBody(physicsEntityDefinition: PhysicsEntityDefinition, material: p2.Material, materialDefinition: MaterialDefinition, type: 'dynamic' | 'static'): p2.Body;
|
|
15
|
+
getMaterial(physicsWorldId: string, name: string): p2.Material;
|
|
16
|
+
getMaterialDefinition(physicsWorldId: string, name: string): MaterialDefinition;
|
|
17
|
+
addBody(physicsWorldId: string, body: p2.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
|
|
18
|
+
removeBody(physicsWorldId: string, p2Body: p2.Body): void;
|
|
19
|
+
subscribeToPhysicsStep(physicsWorldId: string, callback: ActionListenerCallbackFunction<{
|
|
20
|
+
time: number;
|
|
21
|
+
delta: number;
|
|
22
|
+
}>): ActionSubscription;
|
|
23
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PhysicsInternalController = void 0;
|
|
13
|
+
const materials_service_1 = require("../../\uD83D\uDCD0services/materials.service");
|
|
14
|
+
const physics_world_service_1 = require("../../\uD83D\uDCD0services/physics-world.service");
|
|
15
|
+
const shape_creation_service_1 = require("../../\uD83D\uDCD0services/shape-creation.service");
|
|
16
|
+
const game_entities_1 = require("../../../../game-entities");
|
|
17
|
+
const physics_internal_gateway_1 = require("../physics-internal.gateway");
|
|
18
|
+
let PhysicsInternalController = class PhysicsInternalController {
|
|
19
|
+
constructor(physicsWorldService, physicsMaterialsService, shapeCreationService) {
|
|
20
|
+
this.physicsWorldService = physicsWorldService;
|
|
21
|
+
this.physicsMaterialsService = physicsMaterialsService;
|
|
22
|
+
this.shapeCreationService = shapeCreationService;
|
|
23
|
+
}
|
|
24
|
+
createBody(physicsEntityDefinition, material, materialDefinition, type) {
|
|
25
|
+
return this.shapeCreationService.createBody(physicsEntityDefinition, material, materialDefinition, type);
|
|
26
|
+
}
|
|
27
|
+
getMaterial(physicsWorldId, name) {
|
|
28
|
+
return this.physicsMaterialsService.getMaterial(physicsWorldId, name);
|
|
29
|
+
}
|
|
30
|
+
getMaterialDefinition(physicsWorldId, name) {
|
|
31
|
+
return this.physicsMaterialsService.getMaterialDefinition(physicsWorldId, name);
|
|
32
|
+
}
|
|
33
|
+
addBody(physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding) {
|
|
34
|
+
return this.physicsWorldService.addBody(physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding);
|
|
35
|
+
}
|
|
36
|
+
removeBody(physicsWorldId, p2Body) {
|
|
37
|
+
this.physicsWorldService.removeBody(physicsWorldId, p2Body);
|
|
38
|
+
}
|
|
39
|
+
subscribeToPhysicsStep(physicsWorldId, callback) {
|
|
40
|
+
return this.physicsWorldService.subscribeToPhysicsStep(physicsWorldId, callback);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.PhysicsInternalController = PhysicsInternalController;
|
|
44
|
+
exports.PhysicsInternalController = PhysicsInternalController = __decorate([
|
|
45
|
+
(0, game_entities_1.ControllerDecorator)({ controllerLink: physics_internal_gateway_1.PhysicsInternalControllerLink }),
|
|
46
|
+
__metadata("design:paramtypes", [physics_world_service_1.PhysicsWorldService,
|
|
47
|
+
materials_service_1.MaterialsService,
|
|
48
|
+
shape_creation_service_1.ShapeCreationService])
|
|
49
|
+
], PhysicsInternalController);
|
|
50
|
+
//# sourceMappingURL=physics-internal.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physics-internal.controller.js","sourceRoot":"","sources":["../../../../../src/physics/module/⚜️gateways/controllers/physics-internal.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,oFAAsE;AACtE,4FAA6E;AAC7E,8FAA+E;AAC/E,6DAAgE;AAChE,0EAA4E;AAIrE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,YACU,mBAAwC,EACxC,uBAAyC,EACzC,oBAA0C;QAF1C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,4BAAuB,GAAvB,uBAAuB,CAAkB;QACzC,yBAAoB,GAApB,oBAAoB,CAAsB;IACjD,CAAC;IAEJ,UAAU,CACR,uBAAgD,EAChD,QAAqB,EACrB,kBAAsC,EACtC,IAA0B;QAE1B,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC3G,CAAC;IAED,WAAW,CAAC,cAAsB,EAAE,IAAY;QAC9C,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,qBAAqB,CAAC,cAAsB,EAAE,IAAY;QACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,CACL,cAAsB,EACtB,IAAa,EACb,eAAwB,EACxB,gBAAkC,EAClC,oBAA6B;QAE7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IACzH,CAAC;IAED,UAAU,CAAC,cAAsB,EAAE,MAAe;QAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAsB,CACpB,cAAsB,EACtB,QAAyE;QAEzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;CACF,CAAA;AA5CY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mCAAmB,EAAC,EAAE,cAAc,EAAE,wDAA6B,EAAE,CAAC;qCAGtC,2CAAmB;QACf,oCAAgB;QACnB,6CAAoB;GAJzC,yBAAyB,CA4CrC"}
|
package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Rectangle, Vector } from 'helpers-lib';
|
|
2
|
+
import { PhysicsWorldService } from '../../📐services/physics-world.service';
|
|
3
|
+
import { CreatePhysicsWorldRequestDTO, PhysicsExplosionOptions } from '../dtos/requests.dto';
|
|
4
|
+
import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
|
|
5
|
+
import { PathFinderResult } from '../../../../utilities/libraries/grid-algorithms/path-finder/path-finder';
|
|
6
|
+
import { PathFinderService } from '../../📐services/path-finder.service';
|
|
7
|
+
import { DebugVisualsService } from '../../📐services/debug-visuals.service';
|
|
8
|
+
import { ExplosionHit, MapSizeDTO } from '../dtos/responses.dto';
|
|
9
|
+
import { ExplosionService } from '../../📐services/explosion.service';
|
|
10
|
+
import { ElipticExplosionService } from '../../📐services/eliptic-explosion.service';
|
|
11
|
+
export declare class PhysicsController {
|
|
12
|
+
private physicsWorldService;
|
|
13
|
+
private pathFinderService;
|
|
14
|
+
private debugVisualsService;
|
|
15
|
+
private explosionService;
|
|
16
|
+
private elipticExplosionService;
|
|
17
|
+
constructor(physicsWorldService: PhysicsWorldService, pathFinderService: PathFinderService, debugVisualsService: DebugVisualsService, explosionService: ExplosionService, elipticExplosionService: ElipticExplosionService);
|
|
18
|
+
createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): string;
|
|
19
|
+
getMapSize(physicsWorldId: string): MapSizeDTO;
|
|
20
|
+
findPath(physicsWorldId: string, startingPosition: Vector, target: Vector | string, options?: {
|
|
21
|
+
includeDiagonals?: boolean;
|
|
22
|
+
collidableWithGroup?: PhysicsBodyGroup;
|
|
23
|
+
}): PathFinderResult;
|
|
24
|
+
findPathDirection(physicsWorldId: string, startingPosition: Vector, target: Vector | string, collidableWithGroup: PhysicsBodyGroup): number | undefined;
|
|
25
|
+
createExplosion(physicsWorldId: string, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
|
|
26
|
+
createElipticExplosion(physicsWorldId: string, explosionCenter: Vector, rotation: number, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
|
|
27
|
+
printPathfindingTestGrid(physicsWorldId: string, testLayerId: string, target: Vector | string, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
|
|
28
|
+
}
|
package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PhysicsController = void 0;
|
|
13
|
+
const game_entities_1 = require("../../../../game-entities");
|
|
14
|
+
const physics_world_service_1 = require("../../\uD83D\uDCD0services/physics-world.service");
|
|
15
|
+
const physics_gateway_1 = require("../physics.gateway");
|
|
16
|
+
const path_finder_service_1 = require("../../\uD83D\uDCD0services/path-finder.service");
|
|
17
|
+
const debug_visuals_service_1 = require("../../\uD83D\uDCD0services/debug-visuals.service");
|
|
18
|
+
const explosion_service_1 = require("../../\uD83D\uDCD0services/explosion.service");
|
|
19
|
+
const eliptic_explosion_service_1 = require("../../\uD83D\uDCD0services/eliptic-explosion.service");
|
|
20
|
+
let PhysicsController = class PhysicsController {
|
|
21
|
+
constructor(physicsWorldService, pathFinderService, debugVisualsService, explosionService, elipticExplosionService) {
|
|
22
|
+
this.physicsWorldService = physicsWorldService;
|
|
23
|
+
this.pathFinderService = pathFinderService;
|
|
24
|
+
this.debugVisualsService = debugVisualsService;
|
|
25
|
+
this.explosionService = explosionService;
|
|
26
|
+
this.elipticExplosionService = elipticExplosionService;
|
|
27
|
+
}
|
|
28
|
+
createPhysicsWorld(request) {
|
|
29
|
+
return this.physicsWorldService.createPhysicsWorld(request);
|
|
30
|
+
}
|
|
31
|
+
getMapSize(physicsWorldId) {
|
|
32
|
+
return this.physicsWorldService.getMapSize(physicsWorldId);
|
|
33
|
+
}
|
|
34
|
+
findPath(physicsWorldId, startingPosition, target, options) {
|
|
35
|
+
return this.pathFinderService.findPathAStar(physicsWorldId, startingPosition, target, options);
|
|
36
|
+
}
|
|
37
|
+
findPathDirection(physicsWorldId, startingPosition, target, collidableWithGroup) {
|
|
38
|
+
return this.pathFinderService.findPathDirection(physicsWorldId, startingPosition, target, collidableWithGroup);
|
|
39
|
+
}
|
|
40
|
+
createExplosion(physicsWorldId, explosionCenter, radius, physicsBodyGroup, severity, options) {
|
|
41
|
+
return this.explosionService.createExplosion(physicsWorldId, explosionCenter, radius, physicsBodyGroup, severity, options);
|
|
42
|
+
}
|
|
43
|
+
createElipticExplosion(physicsWorldId, explosionCenter, rotation, size, physicsBodyGroup, severity, options) {
|
|
44
|
+
return this.elipticExplosionService.createElipticExplosion(physicsWorldId, explosionCenter, rotation, size, physicsBodyGroup, severity, options);
|
|
45
|
+
}
|
|
46
|
+
printPathfindingTestGrid(physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize) {
|
|
47
|
+
this.debugVisualsService.printPathfindingTestGrid(physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.PhysicsController = PhysicsController;
|
|
51
|
+
exports.PhysicsController = PhysicsController = __decorate([
|
|
52
|
+
(0, game_entities_1.ControllerDecorator)({ controllerLink: physics_gateway_1.PhysicsControllerLink }),
|
|
53
|
+
__metadata("design:paramtypes", [physics_world_service_1.PhysicsWorldService,
|
|
54
|
+
path_finder_service_1.PathFinderService,
|
|
55
|
+
debug_visuals_service_1.DebugVisualsService,
|
|
56
|
+
explosion_service_1.ExplosionService,
|
|
57
|
+
eliptic_explosion_service_1.ElipticExplosionService])
|
|
58
|
+
], PhysicsController);
|
|
59
|
+
//# sourceMappingURL=physics.controller.js.map
|
package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physics.controller.js","sourceRoot":"","sources":["../../../../../src/physics/module/⚜️gateways/controllers/physics.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6DAAgE;AAChE,4FAA6E;AAE7E,wDAA2D;AAG3D,wFAAyE;AACzE,4FAA6E;AAE7E,oFAAsE;AACtE,oGAAqF;AAG9E,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YACU,mBAAwC,EACxC,iBAAoC,EACpC,mBAAwC,EACxC,gBAAkC,EAClC,uBAAgD;QAJhD,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,4BAAuB,GAAvB,uBAAuB,CAAyB;IACvD,CAAC;IAEJ,kBAAkB,CAAC,OAAqC;QACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,cAAsB;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,QAAQ,CACN,cAAsB,EACtB,gBAAwB,EACxB,MAAuB,EACvB,OAAgF;QAEhF,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjG,CAAC;IAED,iBAAiB,CACf,cAAsB,EACtB,gBAAwB,EACxB,MAAuB,EACvB,mBAAqC;QAErC,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjH,CAAC;IAED,eAAe,CACb,cAAsB,EACtB,eAAuB,EACvB,MAAc,EACd,gBAAkC,EAClC,QAAgB,EAChB,OAAiC;QAEjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7H,CAAC;IAED,sBAAsB,CACpB,cAAsB,EACtB,eAAuB,EACvB,QAAgB,EAChB,IAAY,EACZ,gBAAkC,EAClC,QAAgB,EAChB,OAAiC;QAEjC,OAAO,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CACxD,cAAc,EACd,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAED,wBAAwB,CACtB,cAAsB,EACtB,WAAmB,EACnB,MAAuB,EACvB,gBAAkC,EAClC,IAAe,EACf,YAAoB;QAEpB,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/H,CAAC;CACF,CAAA;AA5EY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mCAAmB,EAAC,EAAE,cAAc,EAAE,uCAAqB,EAAE,CAAC;qCAG9B,2CAAmB;QACrB,uCAAiB;QACf,2CAAmB;QACtB,oCAAgB;QACT,mDAAuB;GAN/C,iBAAiB,CA4E7B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Vector } from 'helpers-lib';
|
|
2
|
+
import { BorderProperties, MaterialContactDefinition, MaterialDefinition } from './shared-interfaces.dto';
|
|
3
|
+
export interface CreatePhysicsWorldRequestDTO {
|
|
4
|
+
readonly attachTo: string;
|
|
5
|
+
readonly mapSize: Vector;
|
|
6
|
+
readonly modifyUpdateCycle: boolean;
|
|
7
|
+
readonly borderProperties: BorderProperties;
|
|
8
|
+
readonly materialDefinitions: ReadonlyArray<MaterialDefinition>;
|
|
9
|
+
readonly materialContactDefinitions: ReadonlyArray<MaterialContactDefinition>;
|
|
10
|
+
}
|
|
11
|
+
export interface PhysicsExplosionOptions {
|
|
12
|
+
readonly testLayerId?: string;
|
|
13
|
+
readonly debugRayDuration?: number;
|
|
14
|
+
readonly hitOnlyClosest?: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.dto.js","sourceRoot":"","sources":["../../../../../src/physics/module/⚜️gateways/dtos/requests.dto.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="p2" />
|
|
2
|
+
import { Line, Vector } from 'helpers-lib';
|
|
3
|
+
import { PhysicsEntity } from '../../../entity-types/physics-entity';
|
|
4
|
+
export interface RayCast {
|
|
5
|
+
line: Line;
|
|
6
|
+
hits: RayCastHit[];
|
|
7
|
+
}
|
|
8
|
+
export interface RayCastHit {
|
|
9
|
+
readonly body: p2.Body;
|
|
10
|
+
readonly hitPosition: () => Vector;
|
|
11
|
+
readonly hitDistance: () => number;
|
|
12
|
+
readonly isExternal: () => boolean;
|
|
13
|
+
readonly normal: Vector;
|
|
14
|
+
readonly fraction: number;
|
|
15
|
+
readonly line: Line;
|
|
16
|
+
}
|
|
17
|
+
export interface ExplosionHit {
|
|
18
|
+
body: PhysicsEntity;
|
|
19
|
+
isExternal: boolean;
|
|
20
|
+
normal: Vector;
|
|
21
|
+
fraction: number;
|
|
22
|
+
ratioOfHits: number;
|
|
23
|
+
raycastResults: ReadonlyArray<RayCastHit>;
|
|
24
|
+
getHitPosition: () => Vector;
|
|
25
|
+
getHitDistance: () => number;
|
|
26
|
+
}
|
|
27
|
+
export interface MapSizeDTO {
|
|
28
|
+
readonly dimentions: Vector;
|
|
29
|
+
readonly center: Vector;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.dto.js","sourceRoot":"","sources":["../../../../../src/physics/module/⚜️gateways/dtos/responses.dto.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const BORDER_MATERIAL_NAME = "border";
|
|
2
|
+
export declare const SPEED_LIMIT = 0.8;
|
|
3
|
+
export declare const ROTATIONAL_SPEED_LIMIT = 0.01;
|
|
4
|
+
export interface MaterialDefinition {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly density: number;
|
|
7
|
+
readonly velocityDrag: number;
|
|
8
|
+
readonly rotationalDrag: number;
|
|
9
|
+
}
|
|
10
|
+
export interface MaterialContactDefinition {
|
|
11
|
+
readonly materialA: string;
|
|
12
|
+
readonly materialB: string;
|
|
13
|
+
readonly friction: number;
|
|
14
|
+
readonly bounciness: number;
|
|
15
|
+
readonly stiffness: number;
|
|
16
|
+
}
|
|
17
|
+
export interface BorderProperties {
|
|
18
|
+
readonly friction: number;
|
|
19
|
+
readonly bounciness: number;
|
|
20
|
+
readonly stiffness: number;
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ROTATIONAL_SPEED_LIMIT = exports.SPEED_LIMIT = exports.BORDER_MATERIAL_NAME = void 0;
|
|
4
|
+
exports.BORDER_MATERIAL_NAME = 'border';
|
|
5
|
+
exports.SPEED_LIMIT = 0.8;
|
|
6
|
+
exports.ROTATIONAL_SPEED_LIMIT = 0.01;
|
|
7
|
+
//# sourceMappingURL=shared-interfaces.dto.js.map
|
package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-interfaces.dto.js","sourceRoot":"","sources":["../../../../../src/physics/module/⚜️gateways/dtos/shared-interfaces.dto.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,WAAW,GAAG,GAAG,CAAC;AAClB,QAAA,sBAAsB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PhysicsGateway = void 0;
|
|
18
|
+
var physics_gateway_1 = require("./physics.gateway");
|
|
19
|
+
Object.defineProperty(exports, "PhysicsGateway", { enumerable: true, get: function () { return physics_gateway_1.PhysicsGateway; } });
|
|
20
|
+
__exportStar(require("./dtos/requests.dto"), exports);
|
|
21
|
+
__exportStar(require("./dtos/responses.dto"), exports);
|
|
22
|
+
__exportStar(require("./dtos/shared-interfaces.dto"), exports);
|
|
23
|
+
const physics_internal_controller_1 = require("./controllers/physics-internal.controller");
|
|
24
|
+
const physics_controller_1 = require("./controllers/physics.controller");
|
|
25
|
+
physics_internal_controller_1.PhysicsInternalController && physics_controller_1.PhysicsController;
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/physics/module/⚜️gateways/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,sDAAoC;AACpC,uDAAqC;AACrC,+DAA6C;AAE7C,2FAAsF;AACtF,yEAAqE;AACrE,uDAAyB,IAAI,sCAAiB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="p2" />
|
|
2
|
+
import { ActionListenerCallbackFunction, ActionSubscription } from 'actions-lib';
|
|
3
|
+
import { ControllerLink } from '../../../game-entities';
|
|
4
|
+
import { PhysicsBodyGroup } from '../../libs/physics-body-groups';
|
|
5
|
+
import { PhysicsEntityDefinition } from '../../interfaces';
|
|
6
|
+
import { MaterialDefinition } from './dtos/shared-interfaces.dto';
|
|
7
|
+
export declare const PhysicsInternalControllerLink: ControllerLink;
|
|
8
|
+
export declare class PhysicsInternalGateway {
|
|
9
|
+
createBody(physicsEntityDefinition: PhysicsEntityDefinition, material: p2.Material, materialDefinition: MaterialDefinition, type: 'dynamic' | 'static'): p2.Body;
|
|
10
|
+
getMaterial(physicsWorldId: string, name: string): p2.Material;
|
|
11
|
+
getMaterialDefinition(physicsWorldId: string, name: string): MaterialDefinition;
|
|
12
|
+
addBody(physicsWorldId: string, body: p2.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
|
|
13
|
+
removeBody(physicsWorldId: string, p2Body: p2.Body): void;
|
|
14
|
+
subscribeToPhysicsStep(physicsWorldId: string, callback: ActionListenerCallbackFunction<{
|
|
15
|
+
time: number;
|
|
16
|
+
delta: number;
|
|
17
|
+
}>): ActionSubscription;
|
|
18
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PhysicsInternalGateway = exports.PhysicsInternalControllerLink = void 0;
|
|
10
|
+
const game_entities_1 = require("../../../game-entities");
|
|
11
|
+
exports.PhysicsInternalControllerLink = new game_entities_1.ControllerLink();
|
|
12
|
+
let PhysicsInternalGateway = class PhysicsInternalGateway {
|
|
13
|
+
createBody(physicsEntityDefinition, material, materialDefinition, type) {
|
|
14
|
+
return exports.PhysicsInternalControllerLink.trigger('createBody', physicsEntityDefinition, material, materialDefinition, type);
|
|
15
|
+
}
|
|
16
|
+
getMaterial(physicsWorldId, name) {
|
|
17
|
+
return exports.PhysicsInternalControllerLink.trigger('getMaterial', physicsWorldId, name);
|
|
18
|
+
}
|
|
19
|
+
getMaterialDefinition(physicsWorldId, name) {
|
|
20
|
+
return exports.PhysicsInternalControllerLink.trigger('getMaterialDefinition', physicsWorldId, name);
|
|
21
|
+
}
|
|
22
|
+
addBody(physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding) {
|
|
23
|
+
return exports.PhysicsInternalControllerLink.trigger('addBody', physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding);
|
|
24
|
+
}
|
|
25
|
+
removeBody(physicsWorldId, p2Body) {
|
|
26
|
+
return exports.PhysicsInternalControllerLink.trigger('removeBody', physicsWorldId, p2Body);
|
|
27
|
+
}
|
|
28
|
+
subscribeToPhysicsStep(physicsWorldId, callback) {
|
|
29
|
+
return exports.PhysicsInternalControllerLink.trigger('subscribeToPhysicsStep', physicsWorldId, callback);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.PhysicsInternalGateway = PhysicsInternalGateway;
|
|
33
|
+
exports.PhysicsInternalGateway = PhysicsInternalGateway = __decorate([
|
|
34
|
+
(0, game_entities_1.ServiceDecorator)()
|
|
35
|
+
], PhysicsInternalGateway);
|
|
36
|
+
//# sourceMappingURL=physics-internal.gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physics-internal.gateway.js","sourceRoot":"","sources":["../../../../src/physics/module/⚜️gateways/physics-internal.gateway.ts"],"names":[],"mappings":";;;;;;;;;AAEA,0DAA0E;AAK7D,QAAA,6BAA6B,GAAG,IAAI,8BAAc,EAAE,CAAC;AAG3D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,UAAU,CACR,uBAAgD,EAChD,QAAqB,EACrB,kBAAsC,EACtC,IAA0B;QAE1B,OAAO,qCAA6B,CAAC,OAAO,CAC1C,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,cAAsB,EAAE,IAAY;QAC9C,OAAO,qCAA6B,CAAC,OAAO,CAAc,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,qBAAqB,CAAC,cAAsB,EAAE,IAAY;QACxD,OAAO,qCAA6B,CAAC,OAAO,CAAqB,uBAAuB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,CACL,cAAsB,EACtB,IAAa,EACb,eAAwB,EACxB,gBAAkC,EAClC,oBAA6B;QAE7B,OAAO,qCAA6B,CAAC,OAAO,CAC1C,SAAS,EACT,cAAc,EACd,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,cAAsB,EAAE,MAAe;QAChD,OAAO,qCAA6B,CAAC,OAAO,CAAO,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,sBAAsB,CACpB,cAAsB,EACtB,QAAyE;QAEzE,OAAO,qCAA6B,CAAC,OAAO,CAAqB,wBAAwB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IACvH,CAAC;CACF,CAAA;AAnDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,gCAAgB,GAAE;GACN,sBAAsB,CAmDlC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Rectangle, Vector } from 'helpers-lib';
|
|
2
|
+
import { ControllerLink } from '../../../game-entities';
|
|
3
|
+
import { CreatePhysicsWorldRequestDTO, PhysicsExplosionOptions } from './dtos/requests.dto';
|
|
4
|
+
import { PhysicsBodyGroup } from '../../libs/physics-body-groups';
|
|
5
|
+
import { PathFinderResult } from '../../../utilities/libraries/grid-algorithms/path-finder/path-finder';
|
|
6
|
+
import { ExplosionHit, MapSizeDTO } from './dtos/responses.dto';
|
|
7
|
+
export declare const PhysicsControllerLink: ControllerLink;
|
|
8
|
+
export declare class PhysicsGateway {
|
|
9
|
+
createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): string;
|
|
10
|
+
getMapSize(physicsWorldId: string): MapSizeDTO;
|
|
11
|
+
findPath(physicsWorldId: string, startingPosition: Vector, target: Vector | string, options?: {
|
|
12
|
+
includeDiagonals?: boolean;
|
|
13
|
+
collidableWithGroup?: PhysicsBodyGroup;
|
|
14
|
+
}): PathFinderResult;
|
|
15
|
+
findPathDirection(physicsWorldId: string, startingPosition: Vector, target: Vector | string, collidableWithGroup: PhysicsBodyGroup): number | undefined;
|
|
16
|
+
createExplosion(physicsWorldId: string, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
|
|
17
|
+
createElipticExplosion(physicsWorldId: string, explosionCenter: Vector, rotation: number, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
|
|
18
|
+
printPathfindingTestGrid(physicsWorldId: string, testLayerId: string, target: Vector | string, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize?: number): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PhysicsGateway = exports.PhysicsControllerLink = void 0;
|
|
10
|
+
const game_entities_1 = require("../../../game-entities");
|
|
11
|
+
const path_finder_service_1 = require("../\uD83D\uDCD0services/path-finder.service");
|
|
12
|
+
exports.PhysicsControllerLink = new game_entities_1.ControllerLink();
|
|
13
|
+
let PhysicsGateway = class PhysicsGateway {
|
|
14
|
+
createPhysicsWorld(request) {
|
|
15
|
+
return exports.PhysicsControllerLink.trigger('createPhysicsWorld', request);
|
|
16
|
+
}
|
|
17
|
+
getMapSize(physicsWorldId) {
|
|
18
|
+
return exports.PhysicsControllerLink.trigger('getMapSize', physicsWorldId);
|
|
19
|
+
}
|
|
20
|
+
findPath(physicsWorldId, startingPosition, target, options) {
|
|
21
|
+
return exports.PhysicsControllerLink.trigger('findPath', physicsWorldId, startingPosition, target, options);
|
|
22
|
+
}
|
|
23
|
+
findPathDirection(physicsWorldId, startingPosition, target, collidableWithGroup) {
|
|
24
|
+
return exports.PhysicsControllerLink.trigger('findPathDirection', physicsWorldId, startingPosition, target, collidableWithGroup);
|
|
25
|
+
}
|
|
26
|
+
createExplosion(physicsWorldId, explosionCenter, radius, physicsBodyGroup, severity, options) {
|
|
27
|
+
return exports.PhysicsControllerLink.trigger('createExplosion', physicsWorldId, explosionCenter, radius, physicsBodyGroup, severity, options);
|
|
28
|
+
}
|
|
29
|
+
createElipticExplosion(physicsWorldId, explosionCenter, rotation, size, physicsBodyGroup, severity, options) {
|
|
30
|
+
return exports.PhysicsControllerLink.trigger('createElipticExplosion', physicsWorldId, explosionCenter, rotation, size, physicsBodyGroup, severity, options);
|
|
31
|
+
}
|
|
32
|
+
printPathfindingTestGrid(physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize = path_finder_service_1.DEFAULT_GRID_CELL_SIZE) {
|
|
33
|
+
return exports.PhysicsControllerLink.trigger('printPathfindingTestGrid', physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.PhysicsGateway = PhysicsGateway;
|
|
37
|
+
exports.PhysicsGateway = PhysicsGateway = __decorate([
|
|
38
|
+
(0, game_entities_1.ServiceDecorator)()
|
|
39
|
+
], PhysicsGateway);
|
|
40
|
+
//# sourceMappingURL=physics.gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"physics.gateway.js","sourceRoot":"","sources":["../../../../src/physics/module/⚜️gateways/physics.gateway.ts"],"names":[],"mappings":";;;;;;;;;AAEA,0DAA0E;AAI1E,qFAA2E;AAG9D,QAAA,qBAAqB,GAAG,IAAI,8BAAc,EAAE,CAAC;AAGnD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,kBAAkB,CAAC,OAAqC;QACtD,OAAO,6BAAqB,CAAC,OAAO,CAAS,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,UAAU,CAAC,cAAsB;QAC/B,OAAO,6BAAqB,CAAC,OAAO,CAAa,YAAY,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC;IAED,QAAQ,CACN,cAAsB,EACtB,gBAAwB,EACxB,MAAuB,EACvB,OAAgF;QAEhF,OAAO,6BAAqB,CAAC,OAAO,CAAmB,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IAED,iBAAiB,CACf,cAAsB,EACtB,gBAAwB,EACxB,MAAuB,EACvB,mBAAqC;QAErC,OAAO,6BAAqB,CAAC,OAAO,CAClC,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,eAAe,CACb,cAAsB,EACtB,eAAuB,EACvB,MAAc,EACd,gBAAkC,EAClC,QAAgB,EAChB,OAAiC;QAEjC,OAAO,6BAAqB,CAAC,OAAO,CAClC,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,cAAsB,EACtB,eAAuB,EACvB,QAAgB,EAChB,IAAY,EACZ,gBAAkC,EAClC,QAAgB,EAChB,OAAiC;QAEjC,OAAO,6BAAqB,CAAC,OAAO,CAClC,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IAED,wBAAwB,CACtB,cAAsB,EACtB,WAAmB,EACnB,MAAuB,EACvB,gBAAkC,EAClC,IAAe,EACf,eAAuB,4CAAsB;QAE7C,OAAO,6BAAqB,CAAC,OAAO,CAClC,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,IAAI,EACJ,YAAY,CACb,CAAC;IACJ,CAAC;CACF,CAAA;AA3FY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,gCAAgB,GAAE;GACN,cAAc,CA2F1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="p2" />
|
|
2
|
+
import { Vector } from 'helpers-lib';
|
|
3
|
+
import { PhysicsBodyGroup } from '../../libs/physics-body-groups';
|
|
4
|
+
import { PhysicsWorldEntity } from '../🧊entities/physics-world.entity';
|
|
5
|
+
import { Grid } from '../../../utilities/libraries/data-structures/grid/grid';
|
|
6
|
+
export declare class AvailabilityGridService {
|
|
7
|
+
onBodyAdded(physicsWorld: PhysicsWorldEntity, body: p2.Body, physicsBodyGroup: PhysicsBodyGroup): void;
|
|
8
|
+
findClosestAvailableSpace(physicsWorld: PhysicsWorldEntity, body: p2.Body, physicsBodyGroup: PhysicsBodyGroup, gridCellSize?: number): Vector | undefined;
|
|
9
|
+
getAvilabilityGrid(physicsWorld: PhysicsWorldEntity, cellSize: number, physicsBodyGroup?: PhysicsBodyGroup): Grid<boolean>;
|
|
10
|
+
private createGrid;
|
|
11
|
+
private getGridSpaceBoundingBox;
|
|
12
|
+
}
|