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.
Files changed (129) hide show
  1. package/dist/game-entities/service/service.test.js +24 -8
  2. package/dist/game-entities/service/service.test.js.map +1 -1
  3. package/dist/physics/entity-types/immovable-physics-entity.d.ts +12 -0
  4. package/dist/physics/entity-types/immovable-physics-entity.js +28 -0
  5. package/dist/physics/entity-types/immovable-physics-entity.js.map +1 -0
  6. package/dist/physics/entity-types/movable-entity.d.ts +11 -0
  7. package/dist/physics/entity-types/movable-entity.js +26 -0
  8. package/dist/physics/entity-types/movable-entity.js.map +1 -0
  9. package/dist/physics/entity-types/movable-physics-entity.d.ts +20 -0
  10. package/dist/physics/entity-types/movable-physics-entity.js +96 -0
  11. package/dist/physics/entity-types/movable-physics-entity.js.map +1 -0
  12. package/dist/physics/entity-types/physics-entity.d.ts +31 -0
  13. package/dist/physics/entity-types/physics-entity.js +91 -0
  14. package/dist/physics/entity-types/physics-entity.js.map +1 -0
  15. package/dist/physics/index.d.ts +6 -9
  16. package/dist/physics/index.js +7 -14
  17. package/dist/physics/index.js.map +1 -1
  18. package/dist/physics/interfaces.d.ts +1 -35
  19. package/dist/physics/interfaces.js +1 -2
  20. package/dist/physics/interfaces.js.map +1 -1
  21. package/dist/physics/libs/p2js.helper.d.ts +8 -0
  22. package/dist/physics/libs/p2js.helper.js +31 -0
  23. package/dist/physics/libs/p2js.helper.js.map +1 -0
  24. package/dist/physics/libs/physics-body-groups.d.ts +15 -0
  25. package/dist/physics/libs/physics-body-groups.js +76 -0
  26. package/dist/physics/libs/physics-body-groups.js.map +1 -0
  27. package/dist/physics/libs/position-to-grid-position-converter.d.ts +6 -0
  28. package/dist/physics/libs/position-to-grid-position-converter.js +17 -0
  29. package/dist/physics/libs/position-to-grid-position-converter.js.map +1 -0
  30. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +23 -0
  31. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +50 -0
  32. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js.map +1 -0
  33. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +28 -0
  34. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +59 -0
  35. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js.map +1 -0
  36. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +15 -0
  37. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.js +3 -0
  38. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.js.map +1 -0
  39. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.d.ts +30 -0
  40. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.js +3 -0
  41. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/responses.dto.js.map +1 -0
  42. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.d.ts +21 -0
  43. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.js +7 -0
  44. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/shared-interfaces.dto.js.map +1 -0
  45. package/dist/physics/module//342/232/234/357/270/217gateways/index.d.ts +4 -0
  46. package/dist/physics/module//342/232/234/357/270/217gateways/index.js +26 -0
  47. package/dist/physics/module//342/232/234/357/270/217gateways/index.js.map +1 -0
  48. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +18 -0
  49. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +36 -0
  50. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js.map +1 -0
  51. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +19 -0
  52. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +40 -0
  53. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js.map +1 -0
  54. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +12 -0
  55. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +63 -0
  56. package/dist/physics/module//360/237/223/220services/availability-grid.service.js.map +1 -0
  57. package/dist/physics/module//360/237/223/220services/border.service.d.ts +5 -0
  58. package/dist/physics/module//360/237/223/220services/border.service.js +42 -0
  59. package/dist/physics/module//360/237/223/220services/border.service.js.map +1 -0
  60. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +10 -0
  61. package/dist/physics/module//360/237/223/220services/collisions.service.js +106 -0
  62. package/dist/physics/module//360/237/223/220services/collisions.service.js.map +1 -0
  63. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +14 -0
  64. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +95 -0
  65. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js.map +1 -0
  66. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +14 -0
  67. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +99 -0
  68. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js.map +1 -0
  69. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -0
  70. package/dist/physics/module//360/237/223/220services/explosion.service.js +88 -0
  71. package/dist/physics/module//360/237/223/220services/explosion.service.js.map +1 -0
  72. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +5 -0
  73. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -0
  74. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js.map +1 -0
  75. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +15 -0
  76. package/dist/physics/module//360/237/223/220services/materials.service.js +120 -0
  77. package/dist/physics/module//360/237/223/220services/materials.service.js.map +1 -0
  78. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +15 -0
  79. package/dist/physics/module//360/237/223/220services/path-finder.service.js +92 -0
  80. package/dist/physics/module//360/237/223/220services/path-finder.service.js.map +1 -0
  81. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +26 -0
  82. package/dist/physics/module//360/237/223/220services/physics-world.service.js +112 -0
  83. package/dist/physics/module//360/237/223/220services/physics-world.service.js.map +1 -0
  84. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +9 -0
  85. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +92 -0
  86. package/dist/physics/module//360/237/223/220services/ray-casting.service.js.map +1 -0
  87. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -0
  88. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +95 -0
  89. package/dist/physics/module//360/237/223/220services/shape-creation.service.js.map +1 -0
  90. package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +5 -0
  91. package/dist/physics/module//360/237/247/212entities/border.entity.js +25 -0
  92. package/dist/physics/module//360/237/247/212entities/border.entity.js.map +1 -0
  93. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +12 -0
  94. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +40 -0
  95. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js.map +1 -0
  96. package/dist/physics/module//360/237/247/212entities/physics-world.entity.d.ts +30 -0
  97. package/dist/physics/module//360/237/247/212entities/physics-world.entity.js +45 -0
  98. package/dist/physics/module//360/237/247/212entities/physics-world.entity.js.map +1 -0
  99. package/dist/pixi/display-object/objects/graphics.d.ts +1 -0
  100. package/dist/pixi/display-object/objects/graphics.js +7 -0
  101. package/dist/pixi/display-object/objects/graphics.js.map +1 -1
  102. package/dist/pixi/game.d.ts +4 -0
  103. package/dist/pixi/game.js +12 -0
  104. package/dist/pixi/game.js.map +1 -1
  105. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +4 -0
  106. package/dist/pixi/helpers/screen-position-to-stage.helper.js +17 -0
  107. package/dist/pixi/helpers/screen-position-to-stage.helper.js.map +1 -0
  108. package/dist/pixi/helpers/screen-position-to-stage.helper.test.d.ts +1 -0
  109. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +83 -0
  110. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js.map +1 -0
  111. package/dist/pixi/index.d.ts +3 -0
  112. package/dist/pixi/index.js +7 -1
  113. package/dist/pixi/index.js.map +1 -1
  114. package/dist/pixi/services/keyboard/keyboard.d.ts +7 -0
  115. package/dist/pixi/services/keyboard/keyboard.js +39 -0
  116. package/dist/pixi/services/keyboard/keyboard.js.map +1 -0
  117. package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +20 -0
  118. package/dist/pixi/services/mouse/mouse-target-focus.service.js +85 -0
  119. package/dist/pixi/services/mouse/mouse-target-focus.service.js.map +1 -0
  120. package/dist/pixi/services/mouse/mouse.service.d.ts +10 -0
  121. package/dist/pixi/services/mouse/mouse.service.js +68 -0
  122. package/dist/pixi/services/mouse/mouse.service.js.map +1 -0
  123. package/dist/utilities/index.d.ts +4 -4
  124. package/dist/utilities/index.js +7 -7
  125. package/dist/utilities/index.js.map +1 -1
  126. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js +3 -2
  127. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js.map +1 -1
  128. package/package.json +2 -2
  129. package/package.json.bak +2 -2
@@ -0,0 +1,95 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ShapeCreationService = void 0;
13
+ const p2_1 = __importDefault(require("p2"));
14
+ const interfaces_1 = require("../../interfaces");
15
+ const physics_body_groups_1 = require("../../libs/physics-body-groups");
16
+ const game_entities_1 = require("../../../game-entities");
17
+ let ShapeCreationService = class ShapeCreationService {
18
+ createBody(physicsEntityDefinition, material, materialDefinition, type) {
19
+ switch (physicsEntityDefinition.shapeDefinition.shapeType) {
20
+ case interfaces_1.PhysicsShapeType.point:
21
+ return this.createCircleBody(undefined, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
22
+ case interfaces_1.PhysicsShapeType.circle:
23
+ return this.createCircleBody(physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
24
+ case interfaces_1.PhysicsShapeType.polygon:
25
+ return this.createPolygonBody(physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
26
+ case interfaces_1.PhysicsShapeType.rectangle:
27
+ return this.createRectangleBody(physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
28
+ }
29
+ }
30
+ createCircleBody(shapeData, material, materialDefinition, group, type) {
31
+ let shape = new p2_1.default.Circle({
32
+ collisionGroup: physics_body_groups_1.PhysicsBodyGroups.getGroupConstant(group),
33
+ collisionMask: physics_body_groups_1.PhysicsBodyGroups.getMaskConstant(group),
34
+ radius: shapeData?.radius
35
+ });
36
+ shape.material = material;
37
+ let p2Body = new p2_1.default.Body({
38
+ type: type === 'dynamic' ? p2_1.default.Body.DYNAMIC : p2_1.default.Body.STATIC,
39
+ mass: materialDefinition.density,
40
+ damping: materialDefinition.velocityDrag,
41
+ angularDamping: materialDefinition.rotationalDrag
42
+ });
43
+ p2Body.addShape(shape);
44
+ return p2Body;
45
+ }
46
+ createPolygonBody(polygonShapeData, material, materialDefinition, group, type) {
47
+ let shapes = polygonShapeData.boundingShapeVertices
48
+ .map(vertices => new p2_1.default.Convex({
49
+ vertices: vertices.map(vertex => [
50
+ (vertex.x - polygonShapeData.size.x * polygonShapeData.anchor.x) * polygonShapeData.scale,
51
+ (vertex.y - polygonShapeData.size.y * polygonShapeData.anchor.y) * polygonShapeData.scale
52
+ ]),
53
+ collisionGroup: physics_body_groups_1.PhysicsBodyGroups.getGroupConstant(group),
54
+ collisionMask: physics_body_groups_1.PhysicsBodyGroups.getMaskConstant(group)
55
+ }))
56
+ .map(shape => {
57
+ shape.material = material;
58
+ return shape;
59
+ });
60
+ let area = shapes.reduce((acc, shape) => acc + shape.area, 0);
61
+ let p2Body = new p2_1.default.Body({
62
+ type: type === 'dynamic' ? p2_1.default.Body.DYNAMIC : p2_1.default.Body.STATIC,
63
+ mass: area,
64
+ damping: materialDefinition.velocityDrag,
65
+ angularDamping: materialDefinition.rotationalDrag
66
+ });
67
+ shapes.forEach(shape => p2Body.addShape(shape));
68
+ p2Body.setDensity(materialDefinition.density);
69
+ return p2Body;
70
+ }
71
+ createRectangleBody(rectangleShapeData, material, materialDefinition, group, type) {
72
+ let shape = new p2_1.default.Box({
73
+ width: rectangleShapeData.size.x,
74
+ height: rectangleShapeData.size.y,
75
+ collisionGroup: physics_body_groups_1.PhysicsBodyGroups.getGroupConstant(group),
76
+ collisionMask: physics_body_groups_1.PhysicsBodyGroups.getMaskConstant(group)
77
+ });
78
+ shape.material = material;
79
+ let area = rectangleShapeData.size.x * rectangleShapeData.size.y;
80
+ let p2Body = new p2_1.default.Body({
81
+ type: type === 'dynamic' ? p2_1.default.Body.DYNAMIC : p2_1.default.Body.STATIC,
82
+ mass: area,
83
+ damping: materialDefinition.velocityDrag,
84
+ angularDamping: materialDefinition.rotationalDrag
85
+ });
86
+ p2Body.addShape(shape);
87
+ p2Body.setDensity(materialDefinition.density);
88
+ return p2Body;
89
+ }
90
+ };
91
+ exports.ShapeCreationService = ShapeCreationService;
92
+ exports.ShapeCreationService = ShapeCreationService = __decorate([
93
+ (0, game_entities_1.ServiceDecorator)()
94
+ ], ShapeCreationService);
95
+ //# sourceMappingURL=shape-creation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-creation.service.js","sourceRoot":"","sources":["../../../../src/physics/module/📐services/shape-creation.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ImmovablePhysicsEntity } from '../../entity-types/immovable-physics-entity';
2
+ import { PhysicsEntityDefinition } from '../../interfaces';
3
+ export declare class BorderEntity extends ImmovablePhysicsEntity {
4
+ constructor(physicsWorldId: string, physicsEntityDefinition: PhysicsEntityDefinition);
5
+ }
@@ -0,0 +1,25 @@
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.BorderEntity = void 0;
13
+ const game_entities_1 = require("../../../game-entities");
14
+ const immovable_physics_entity_1 = require("../../entity-types/immovable-physics-entity");
15
+ let BorderEntity = class BorderEntity extends immovable_physics_entity_1.ImmovablePhysicsEntity {
16
+ constructor(physicsWorldId, physicsEntityDefinition) {
17
+ super(physicsWorldId, physicsEntityDefinition);
18
+ }
19
+ };
20
+ exports.BorderEntity = BorderEntity;
21
+ exports.BorderEntity = BorderEntity = __decorate([
22
+ (0, game_entities_1.EntityDecorator)(),
23
+ __metadata("design:paramtypes", [String, Object])
24
+ ], BorderEntity);
25
+ //# sourceMappingURL=border.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border.entity.js","sourceRoot":"","sources":["../../../../src/physics/module/🧊entities/border.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAyD;AACzD,0FAAqF;AAI9E,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,iDAAsB;IACtD,YAAY,cAAsB,EAAE,uBAAgD;QAClF,KAAK,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAJY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,+BAAe,GAAE;;GACL,YAAY,CAIxB"}
@@ -0,0 +1,12 @@
1
+ import { Grid } from '../../../../utilities';
2
+ import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
3
+ export declare class AvailabilityGridCache {
4
+ private grids;
5
+ get(cellSize: number, group: PhysicsBodyGroup): Grid<boolean> | undefined;
6
+ getCollidableGrids(physicsBodyGroup: PhysicsBodyGroup): {
7
+ grid: Grid<boolean>;
8
+ cellSize: number;
9
+ }[];
10
+ set(cellSize: number, group: PhysicsBodyGroup, grid: Grid<boolean>): void;
11
+ clear(): void;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvailabilityGridCache = void 0;
4
+ const physics_body_groups_1 = require("../../../libs/physics-body-groups");
5
+ class AvailabilityGridCache {
6
+ constructor() {
7
+ this.grids = new Map();
8
+ }
9
+ get(cellSize, group) {
10
+ let cellSizeMap = this.grids.get(cellSize);
11
+ if (!cellSizeMap) {
12
+ return undefined;
13
+ }
14
+ return cellSizeMap.get(group);
15
+ }
16
+ getCollidableGrids(physicsBodyGroup) {
17
+ let results = [];
18
+ this.grids.forEach((cellSizeMap, cellSize) => {
19
+ cellSizeMap.forEach((grid, gridPhysicsBodyGroup) => {
20
+ if (physics_body_groups_1.PhysicsBodyGroups.canCollide(gridPhysicsBodyGroup, physicsBodyGroup)) {
21
+ results.push({ grid, cellSize });
22
+ }
23
+ });
24
+ });
25
+ return results;
26
+ }
27
+ set(cellSize, group, grid) {
28
+ let cellSizeMap = this.grids.get(cellSize);
29
+ if (!cellSizeMap) {
30
+ cellSizeMap = new Map();
31
+ this.grids.set(cellSize, cellSizeMap);
32
+ }
33
+ cellSizeMap.set(group, grid);
34
+ }
35
+ clear() {
36
+ this.grids.clear();
37
+ }
38
+ }
39
+ exports.AvailabilityGridCache = AvailabilityGridCache;
40
+ //# sourceMappingURL=availability-grid-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availability-grid-cache.js","sourceRoot":"","sources":["../../../../../src/physics/module/🧊entities/data-structures/availability-grid-cache.ts"],"names":[],"mappings":";;;AACA,2EAAwF;AAExF,MAAa,qBAAqB;IAAlC;QACU,UAAK,GAAsD,IAAI,GAAG,EAAE,CAAC;IAkC/E,CAAC;IAhCC,GAAG,CAAC,QAAgB,EAAE,KAAuB;QAC3C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,gBAAkC;QACnD,IAAI,OAAO,GAAgD,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC3C,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE;gBACjD,IAAI,uCAAiB,CAAC,UAAU,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBACzE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,KAAuB,EAAE,IAAmB;QAChE,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAnCD,sDAmCC"}
@@ -0,0 +1,30 @@
1
+ import { Vector } from 'helpers-lib';
2
+ import { Action, Variable } from 'actions-lib';
3
+ import p2 from 'p2';
4
+ import { MaterialDefinition } from '../⚜️gateways';
5
+ import { Entity } from '../../../game-entities';
6
+ import { AvailabilityGridCache } from './data-structures/availability-grid-cache';
7
+ import { CollisionReport } from '../../interfaces';
8
+ import { PhysicsEntity } from '../../entity-types/physics-entity';
9
+ import { VectorFieldPathFinder } from '../../../utilities';
10
+ export declare class PhysicsWorldEntity extends Entity {
11
+ readonly mapSize: Vector;
12
+ readonly mapSizeCenter: Vector;
13
+ readonly modifyUpdateCycle: boolean;
14
+ readonly p2World: p2.World;
15
+ readonly materials: Readonly<Map<string, p2.Material>>;
16
+ readonly materialDefinitions: Map<string, MaterialDefinition>;
17
+ readonly availabilityGridCache: AvailabilityGridCache;
18
+ readonly vectorFieldCache: Map<string, VectorFieldPathFinder>;
19
+ readonly bodiesInContactWith: Map<number, {
20
+ p2Body: p2.Body;
21
+ entity: PhysicsEntity;
22
+ }>;
23
+ readonly collisionReports: Map<number, CollisionReport[]>;
24
+ readonly lastP2Time: Variable<number>;
25
+ readonly onPhysicsStep: Action<{
26
+ time: number;
27
+ delta: number;
28
+ }>;
29
+ constructor(mapSize: Vector, modifyUpdateCycle: boolean, p2World: p2.World, materials: Map<string, p2.Material>, materialContactDefinitions: Map<string, MaterialDefinition>);
30
+ }
@@ -0,0 +1,45 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PhysicsWorldEntity = void 0;
16
+ const helpers_lib_1 = require("helpers-lib");
17
+ const actions_lib_1 = require("actions-lib");
18
+ const p2_1 = __importDefault(require("p2"));
19
+ const game_entities_1 = require("../../../game-entities");
20
+ const availability_grid_cache_1 = require("./data-structures/availability-grid-cache");
21
+ let PhysicsWorldEntity = class PhysicsWorldEntity extends game_entities_1.Entity {
22
+ constructor(mapSize, modifyUpdateCycle, p2World, materials, materialContactDefinitions) {
23
+ super();
24
+ this.materialDefinitions = new Map();
25
+ this.availabilityGridCache = new availability_grid_cache_1.AvailabilityGridCache();
26
+ this.vectorFieldCache = new Map();
27
+ this.bodiesInContactWith = new Map();
28
+ this.collisionReports = new Map();
29
+ this.lastP2Time = new actions_lib_1.Variable().set(0);
30
+ this.onPhysicsStep = new actions_lib_1.Action();
31
+ this.mapSize = mapSize;
32
+ this.mapSizeCenter = this.mapSize.multiply(0.5);
33
+ this.modifyUpdateCycle = modifyUpdateCycle;
34
+ this.p2World = p2World;
35
+ this.materials = materials;
36
+ this.materialDefinitions = materialContactDefinitions;
37
+ }
38
+ };
39
+ exports.PhysicsWorldEntity = PhysicsWorldEntity;
40
+ exports.PhysicsWorldEntity = PhysicsWorldEntity = __decorate([
41
+ (0, game_entities_1.EntityDecorator)(),
42
+ __metadata("design:paramtypes", [helpers_lib_1.Vector, Boolean, p2_1.default.World, Map,
43
+ Map])
44
+ ], PhysicsWorldEntity);
45
+ //# sourceMappingURL=physics-world.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"physics-world.entity.js","sourceRoot":"","sources":["../../../../src/physics/module/🧊entities/physics-world.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAqC;AACrC,6CAA+C;AAC/C,4CAAoB;AAGpB,0DAAiE;AACjE,uFAAkF;AAM3E,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sBAAM;IAiB5C,YACE,OAAe,EACf,iBAA0B,EAC1B,OAAiB,EACjB,SAAmC,EACnC,0BAA2D;QAE3D,KAAK,EAAE,CAAC;QAjBD,wBAAmB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE5D,0BAAqB,GAA0B,IAAI,+CAAqB,EAAE,CAAC;QAC3E,qBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC5D,wBAAmB,GAAG,IAAI,GAAG,EAAsD,CAAC;QACpF,qBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;QAExD,eAAU,GAAG,IAAI,sBAAQ,EAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,kBAAa,GAAG,IAAI,oBAAM,EAAmC,CAAC;QAUrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,0BAA0B,CAAC;IACxD,CAAC;CACF,CAAA;AAhCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,+BAAe,GAAE;qCAmBL,oBAAM,WAEN,YAAE,CAAC,KAAK,EACN,GAAG;QACc,GAAG;GAtBtB,kBAAkB,CAgC9B"}
@@ -12,6 +12,7 @@ export declare class Graphics extends DisplayObject {
12
12
  static createVector(from: Vector, to: Vector, color: RGBColor): Graphics;
13
13
  static createRectangle(size: Vector, borderSize: number, color: RGBColor): Graphics;
14
14
  static createCircle(radius: number, color: RGBColor): Graphics;
15
+ static createElipse(size: Vector, color: RGBColor): Graphics;
15
16
  static createPolygon(size: Vector, anchor: Vector, polygon: PolygonDefinition, color: RGBColor): Graphics;
16
17
  protected static internalDrawPolygon(size: Vector, anchor: Vector, polygon: PolygonDefinition, color: RGBColor, cacheName: string): Graphics;
17
18
  protected static internalDrawTextureFromPolygon(size: Vector, anchor: Vector, polygon: PolygonDefinition, color: RGBColor): TextureOfGraphics;
@@ -85,6 +85,13 @@ class Graphics extends display_object_1.DisplayObject {
85
85
  pixiGraphics.endFill();
86
86
  return new Graphics(pixiGraphics, JSON.stringify({ type: 'circle', radius, color }));
87
87
  }
88
+ static createElipse(size, color) {
89
+ let pixiGraphics = new PIXI.Graphics();
90
+ pixiGraphics.beginFill(color);
91
+ pixiGraphics.drawEllipse(0, 0, size.x, size.y);
92
+ pixiGraphics.endFill();
93
+ return new Graphics(pixiGraphics, JSON.stringify({ type: 'elipse', size, color }));
94
+ }
88
95
  static createPolygon(size, anchor, polygon, color) {
89
96
  return Graphics.internalDrawPolygon(size, anchor, polygon, color, this.convertPolygonRequestToHash(polygon, color));
90
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphics.js","sourceRoot":"","sources":["../../../../src/pixi/display-object/objects/graphics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphics.js","sourceRoot":"","sources":["../../../../src/pixi/display-object/objects/graphics.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export declare class Game {
21
21
  readonly devMode: boolean;
22
22
  private readonly pixiApp;
23
23
  private readonly configuration;
24
+ private screenPositionToStagePositionConverter;
24
25
  constructor(configuration?: Partial<GameConfiguration>);
25
26
  setup(assetDefinitions: AssetDefinition<string>[] | ReadonlyArray<AssetDefinition<string>>): Promise<void>;
27
+ screenPositonToStagePosition(screenPosition: Vector): Vector;
28
+ setScreenPositionToStagePositionFunction(converterFunction: (screenPosition: Vector) => Vector): void;
29
+ resetScreenPositionToStagePositionFunction(): void;
26
30
  }
package/dist/pixi/game.js CHANGED
@@ -29,6 +29,7 @@ const PIXI = __importStar(require("pixi.js"));
29
29
  const game_assets_1 = require("./helpers/game-assets");
30
30
  const container_1 = require("./display-object/objects/container");
31
31
  const update_cycle_1 = require("../game-entities/update-cycle");
32
+ const screen_position_to_stage_helper_1 = require("./helpers/screen-position-to-stage.helper");
32
33
  class Game {
33
34
  static get instance() {
34
35
  return this.inst;
@@ -38,6 +39,7 @@ class Game {
38
39
  }
39
40
  constructor(configuration) {
40
41
  this.devMode = false;
42
+ this.resetScreenPositionToStagePositionFunction();
41
43
  if (Game.inst) {
42
44
  throw new Error('There can be only one Game instance!');
43
45
  }
@@ -82,6 +84,16 @@ class Game {
82
84
  update_cycle_1.UpdateCycle.triggerUpdateTick(this.pixiApp.ticker.deltaMS);
83
85
  });
84
86
  }
87
+ screenPositonToStagePosition(screenPosition) {
88
+ let adjustedScreenPositionWithScale = screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(screenPosition, Game.instance.stage.scale, Game.instance.screenSizeCenter);
89
+ return this.screenPositionToStagePositionConverter(adjustedScreenPositionWithScale);
90
+ }
91
+ setScreenPositionToStagePositionFunction(converterFunction) {
92
+ this.screenPositionToStagePositionConverter = converterFunction;
93
+ }
94
+ resetScreenPositionToStagePositionFunction() {
95
+ this.screenPositionToStagePositionConverter = (screenPosition) => screenPosition;
96
+ }
85
97
  }
86
98
  exports.Game = Game;
87
99
  //# sourceMappingURL=game.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../../src/pixi/game.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../src/pixi/game.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Vector } from 'helpers-lib';
2
+ export declare class ScreenPositionToStagePositonHelper {
3
+ static includeScaleInScreenPosition(screenPosition: Vector, gameInstanceScale: number, screenSizeCenter: Vector): Vector;
4
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScreenPositionToStagePositonHelper = void 0;
4
+ const helpers_lib_1 = require("helpers-lib");
5
+ class ScreenPositionToStagePositonHelper {
6
+ static includeScaleInScreenPosition(screenPosition, gameInstanceScale, screenSizeCenter) {
7
+ if (gameInstanceScale !== 1) {
8
+ let centerToScaledScreenPosition = helpers_lib_1.Vector.fromTo(screenSizeCenter, screenPosition).multiply(1 / gameInstanceScale);
9
+ return screenSizeCenter.add(centerToScaledScreenPosition);
10
+ }
11
+ else {
12
+ return screenPosition;
13
+ }
14
+ }
15
+ }
16
+ exports.ScreenPositionToStagePositonHelper = ScreenPositionToStagePositonHelper;
17
+ //# sourceMappingURL=screen-position-to-stage.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-position-to-stage.helper.js","sourceRoot":"","sources":["../../../src/pixi/helpers/screen-position-to-stage.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAErC,MAAa,kCAAkC;IAC7C,MAAM,CAAC,4BAA4B,CAAC,cAAsB,EAAE,iBAAyB,EAAE,gBAAwB;QAC7G,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,4BAA4B,GAAG,oBAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACnH,OAAO,gBAAgB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AATD,gFASC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const helpers_lib_1 = require("helpers-lib");
5
+ const screen_position_to_stage_helper_1 = require("./screen-position-to-stage.helper");
6
+ const Center = new helpers_lib_1.Vector(600, 400);
7
+ (0, vitest_1.describe)('ScreenPositionToStagePositonHelper: ', () => {
8
+ (0, vitest_1.describe)('includeScaleInScreenPosition', () => {
9
+ (0, vitest_1.test)('canter position should always return the same regardless of scale', () => {
10
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 0.5, Center).toVec2()).toEqual({
11
+ x: 600,
12
+ y: 400
13
+ });
14
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 1, Center).toVec2()).toEqual({
15
+ x: 600,
16
+ y: 400
17
+ });
18
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 2, Center).toVec2()).toEqual({
19
+ x: 600,
20
+ y: 400
21
+ });
22
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 3, Center).toVec2()).toEqual({
23
+ x: 600,
24
+ y: 400
25
+ });
26
+ });
27
+ (0, vitest_1.test)('top left corner', () => {
28
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 0.5, Center).toVec2()).toEqual({
29
+ x: -600,
30
+ y: -400
31
+ });
32
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 1, Center).toVec2()).toEqual({
33
+ x: 0,
34
+ y: 0
35
+ });
36
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 2, Center).toVec2()).toEqual({
37
+ x: 300,
38
+ y: 200
39
+ });
40
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 3, Center).toVec2()).toEqual({
41
+ x: 400,
42
+ y: 266.6666666666667
43
+ });
44
+ });
45
+ (0, vitest_1.test)('bottom right corner', () => {
46
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(1200, 800), 0.5, Center).toVec2()).toEqual({
47
+ x: 1800,
48
+ y: 1200
49
+ });
50
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 1, Center).toVec2()).toEqual({
51
+ x: 600,
52
+ y: 400
53
+ });
54
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 2, Center).toVec2()).toEqual({
55
+ x: 600,
56
+ y: 400
57
+ });
58
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(1200, 800), 3, Center).toVec2()).toEqual({
59
+ x: 800,
60
+ y: 533.3333333333333
61
+ });
62
+ });
63
+ (0, vitest_1.test)('upper right direction', () => {
64
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 0.5, Center).toVec2()).toEqual({
65
+ x: 1200,
66
+ y: 0
67
+ });
68
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 1, Center).toVec2()).toEqual({
69
+ x: 900,
70
+ y: 200
71
+ });
72
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 2, Center).toVec2()).toEqual({
73
+ x: 750,
74
+ y: 300
75
+ });
76
+ (0, vitest_1.expect)(screen_position_to_stage_helper_1.ScreenPositionToStagePositonHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 3, Center).toVec2()).toEqual({
77
+ x: 700,
78
+ y: 333.33333333333337
79
+ });
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=screen-position-to-stage.helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-position-to-stage.helper.test.js","sourceRoot":"","sources":["../../../src/pixi/helpers/screen-position-to-stage.helper.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export { Container } from './display-object/objects/container';
5
5
  export { Sprite } from './display-object/objects/sprite';
6
6
  export { Graphics } from './display-object/objects/graphics';
7
7
  export { SpriteWithGlowingShapes, GlowingShape } from './display-object/premade-objects/sprite-with-glowing-shapes';
8
+ export { KeyboardService } from './services/keyboard/keyboard';
9
+ export { MouseService } from './services/mouse/mouse.service';
10
+ export { MouseTargetFocusService } from './services/mouse/mouse-target-focus.service';
8
11
  export interface AssetDefinition<T extends string = string> {
9
12
  name: string;
10
13
  url: T;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.BlendMode = exports.GlowingShape = exports.SpriteWithGlowingShapes = exports.Graphics = exports.Sprite = exports.Container = exports.DisplayObject = exports.Game = void 0;
26
+ exports.BlendMode = exports.MouseTargetFocusService = exports.MouseService = exports.KeyboardService = exports.GlowingShape = exports.SpriteWithGlowingShapes = exports.Graphics = exports.Sprite = exports.Container = exports.DisplayObject = exports.Game = void 0;
27
27
  const PIXI = __importStar(require("pixi.js"));
28
28
  var game_1 = require("./game");
29
29
  Object.defineProperty(exports, "Game", { enumerable: true, get: function () { return game_1.Game; } });
@@ -38,6 +38,12 @@ Object.defineProperty(exports, "Graphics", { enumerable: true, get: function ()
38
38
  var sprite_with_glowing_shapes_1 = require("./display-object/premade-objects/sprite-with-glowing-shapes");
39
39
  Object.defineProperty(exports, "SpriteWithGlowingShapes", { enumerable: true, get: function () { return sprite_with_glowing_shapes_1.SpriteWithGlowingShapes; } });
40
40
  Object.defineProperty(exports, "GlowingShape", { enumerable: true, get: function () { return sprite_with_glowing_shapes_1.GlowingShape; } });
41
+ var keyboard_1 = require("./services/keyboard/keyboard");
42
+ Object.defineProperty(exports, "KeyboardService", { enumerable: true, get: function () { return keyboard_1.KeyboardService; } });
43
+ var mouse_service_1 = require("./services/mouse/mouse.service");
44
+ Object.defineProperty(exports, "MouseService", { enumerable: true, get: function () { return mouse_service_1.MouseService; } });
45
+ var mouse_target_focus_service_1 = require("./services/mouse/mouse-target-focus.service");
46
+ Object.defineProperty(exports, "MouseTargetFocusService", { enumerable: true, get: function () { return mouse_target_focus_service_1.MouseTargetFocusService; } });
41
47
  var BlendMode;
42
48
  (function (BlendMode) {
43
49
  BlendMode[BlendMode["normal"] = 0] = "normal";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pixi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAEhC,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,kEAAgE;AAAvD,+GAAA,aAAa,OAAA;AACtB,gEAA+D;AAAtD,sGAAA,SAAS,OAAA;AAClB,0DAAyD;AAAhD,gGAAA,MAAM,OAAA;AACf,8DAA6D;AAApD,oGAAA,QAAQ,OAAA;AACjB,0GAAoH;AAA3G,qIAAA,uBAAuB,OAAA;AAAE,0HAAA,YAAY,OAAA;AAS9C,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,6CAAgC,CAAA;IAChC,uCAA0B,CAAA;IAC1B,sDAAwC,CAAA;AAC1C,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pixi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAgC;AAEhC,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,kEAAgE;AAAvD,+GAAA,aAAa,OAAA;AACtB,gEAA+D;AAAtD,sGAAA,SAAS,OAAA;AAClB,0DAAyD;AAAhD,gGAAA,MAAM,OAAA;AACf,8DAA6D;AAApD,oGAAA,QAAQ,OAAA;AACjB,0GAAoH;AAA3G,qIAAA,uBAAuB,OAAA;AAAE,0HAAA,YAAY,OAAA;AAC9C,yDAA+D;AAAtD,2GAAA,eAAe,OAAA;AACxB,gEAA8D;AAArD,6GAAA,YAAY,OAAA;AACrB,0FAAsF;AAA7E,qIAAA,uBAAuB,OAAA;AAShC,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,6CAAgC,CAAA;IAChC,uCAA0B,CAAA;IAC1B,sDAAwC,CAAA;AAC1C,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB"}
@@ -0,0 +1,7 @@
1
+ import { Action } from 'actions-lib';
2
+ export declare class KeyboardService {
3
+ readonly keyPressed: Action<string>;
4
+ private listOfPressedKeys;
5
+ constructor();
6
+ isKeyDown(key: string): boolean;
7
+ }
@@ -0,0 +1,39 @@
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.KeyboardService = void 0;
13
+ const actions_lib_1 = require("actions-lib");
14
+ const service_1 = require("../../../game-entities/service/service");
15
+ let KeyboardService = class KeyboardService {
16
+ constructor() {
17
+ this.keyPressed = new actions_lib_1.Action();
18
+ this.listOfPressedKeys = new Set();
19
+ window.addEventListener('keydown', event => {
20
+ this.listOfPressedKeys.add(event.key);
21
+ !event.repeat && this.keyPressed.trigger(event.key);
22
+ });
23
+ window.addEventListener('keyup', event => {
24
+ this.listOfPressedKeys.delete(event.key);
25
+ });
26
+ window.addEventListener('blur', () => {
27
+ this.listOfPressedKeys.clear();
28
+ });
29
+ }
30
+ isKeyDown(key) {
31
+ return this.listOfPressedKeys.has(key);
32
+ }
33
+ };
34
+ exports.KeyboardService = KeyboardService;
35
+ exports.KeyboardService = KeyboardService = __decorate([
36
+ (0, service_1.ServiceDecorator)(),
37
+ __metadata("design:paramtypes", [])
38
+ ], KeyboardService);
39
+ //# sourceMappingURL=keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../../src/pixi/services/keyboard/keyboard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAqC;AAErC,oEAA0E;AAGnE,IAAM,eAAe,GAArB,MAAM,eAAe;IAK1B;QAJS,eAAU,GAAG,IAAI,oBAAM,EAAU,CAAC;QAEnC,sBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAG5C,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAvBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,0BAAgB,GAAE;;GACN,eAAe,CAuB3B"}