bard-legends-framework 0.2.6 → 0.2.8

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 (30) hide show
  1. package/dist/game-entities/attachable/attachable.d.ts +1 -0
  2. package/dist/game-entities/attachable/attachable.js +2 -0
  3. package/dist/game-entities/attachable/attachable.js.map +1 -1
  4. package/dist/game-entities/scene/scene.js +3 -16
  5. package/dist/game-entities/scene/scene.js.map +1 -1
  6. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +1 -1
  7. package/dist/physics/entitity-types/immovable-physics-entity.js.map +1 -1
  8. package/dist/physics/entitity-types/movable-physics-entity.d.ts +1 -1
  9. package/dist/physics/entitity-types/movable-physics-entity.js.map +1 -1
  10. package/dist/physics/entitity-types/physics-entity.d.ts +2 -3
  11. package/dist/physics/entitity-types/physics-entity.js +12 -8
  12. package/dist/physics/entitity-types/physics-entity.js.map +1 -1
  13. package/dist/physics/physics-world.d.ts +1 -0
  14. package/dist/physics/physics-world.js +2 -0
  15. package/dist/physics/physics-world.js.map +1 -1
  16. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +6 -0
  17. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +20 -0
  18. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js.map +1 -0
  19. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +1 -4
  20. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +3 -15
  21. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js.map +1 -1
  22. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +10 -10
  23. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js.map +1 -1
  24. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js +2 -2
  25. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.js.map +1 -1
  26. package/dist/utilities/services/mouse/mouse.service.d.ts +1 -0
  27. package/dist/utilities/services/mouse/mouse.service.js +16 -4
  28. package/dist/utilities/services/mouse/mouse.service.js.map +1 -1
  29. package/package.json +3 -3
  30. package/package.json.bak +3 -3
@@ -12,6 +12,7 @@ export declare abstract class Attachable implements Destroyable {
12
12
  static findAttachableParent(attachableCandidate: Attachable | string): Attachable;
13
13
  readonly id: string;
14
14
  readonly onDestroy: Action<void>;
15
+ readonly onAllAttachmentsDestroyed: Action<void>;
15
16
  protected destroyed: boolean;
16
17
  protected childDestroy: () => void;
17
18
  protected attachableDestroy: () => void;
@@ -27,6 +27,7 @@ class Attachable {
27
27
  constructor() {
28
28
  this.id = '';
29
29
  this.onDestroy = new actions_lib_1.Action();
30
+ this.onAllAttachmentsDestroyed = new actions_lib_1.Action();
30
31
  this.destroyed = false;
31
32
  this.childDestroy = this.destroy.bind(this);
32
33
  this.attachableDestroy = () => {
@@ -35,6 +36,7 @@ class Attachable {
35
36
  let attachedEntities = [...this.attachments];
36
37
  attachedEntities.forEach(item => this.destroyAttachment(item));
37
38
  this.attachments = [];
39
+ this.onAllAttachmentsDestroyed.trigger();
38
40
  };
39
41
  this.attachments = [];
40
42
  let numberPartOfTheId = Attachable.nextAvailableIds.get(this.constructor.name) || 1;
@@ -1 +1 @@
1
- {"version":3,"file":"attachable.js","sourceRoot":"","sources":["../../../src/game-entities/attachable/attachable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachable.js","sourceRoot":"","sources":["../../../src/game-entities/attachable/attachable.ts"],"names":[],"mappings":"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"}
@@ -6,24 +6,11 @@ const service_1 = require("../service/service");
6
6
  const update_cycle_1 = require("../update-cycle");
7
7
  function SceneDecorator() {
8
8
  return function (SceneClass) {
9
- let instance;
10
- const SingletonClass = new Proxy(SceneClass, {
11
- construct(target, argsList, newTarget) {
12
- if (target.prototype !== newTarget.prototype) {
13
- return Reflect.construct(target, argsList, newTarget);
14
- }
15
- if (!instance) {
16
- instance = Reflect.construct(target, argsList, newTarget);
17
- }
18
- return instance;
19
- }
20
- });
21
- SingletonClass.$meta = {
9
+ SceneClass.$meta = {
22
10
  paramtypes: service_1.Service.getParametersMeta(SceneClass),
23
- type: 'scene',
24
- getInstance: () => instance
11
+ type: 'scene'
25
12
  };
26
- return SingletonClass;
13
+ return SceneClass;
27
14
  };
28
15
  }
29
16
  exports.SceneDecorator = SceneDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../src/game-entities/scene/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../../src/game-entities/scene/scene.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
7
7
  readonly position: Vec2;
8
8
  readonly rotation: number;
9
9
  readonly onCollision: Action<CollisionReport[]>;
10
- constructor(physicsWorld: PhysicsWorld, physicsEntityDefinition: PhysicsEntityDefinition);
10
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
11
11
  destroy(): void;
12
12
  convertToDTO(): PhysicsBodyDTO;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"immovable-physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/immovable-physics-entity.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAKrC,qDAAiD;AACjD,wDAAoD;AAEpD,MAAsB,sBAAuB,SAAQ,8BAAa;IAMhE,YAAY,YAA0B,EAAE,uBAAgD;QACtF,KAAK,CAAC,YAAY,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAHhD,gBAAW,GAAG,IAAI,oBAAM,EAAqB,CAAC;QAKrD,IAAI,CAAC,QAAQ,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,YAAY;QACV,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACxB,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;CACF;AAzBD,wDAyBC"}
1
+ {"version":3,"file":"immovable-physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/immovable-physics-entity.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAKrC,qDAAiD;AACjD,wDAAoD;AAEpD,MAAsB,sBAAuB,SAAQ,8BAAa;IAMhE,YAAY,YAAmC,EAAE,uBAAgD;QAC/F,KAAK,CAAC,YAAY,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAHhD,gBAAW,GAAG,IAAI,oBAAM,EAAqB,CAAC;QAKrD,IAAI,CAAC,QAAQ,GAAG,wBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,YAAY;QACV,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACxB,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;CACF;AAzBD,wDAyBC"}
@@ -13,7 +13,7 @@ export declare abstract class MovablePhysicsEntity extends PhysicsEntity {
13
13
  private ignoreRotationUpdate;
14
14
  private ignoreVelocityUpdate;
15
15
  private ignoreRotationalSpeedUpdate;
16
- constructor(physicsWorld: PhysicsWorld, physicsEntityDefinition: PhysicsEntityDefinition);
16
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
17
17
  convertToDTO(): PhysicsBodyDTO;
18
18
  private step;
19
19
  private phsicsToLocalSync;
@@ -1 +1 @@
1
- {"version":3,"file":"movable-physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/movable-physics-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"movable-physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/movable-physics-entity.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,7 @@ export declare abstract class PhysicsEntity extends Entity {
9
9
  private static physicsEntities;
10
10
  static getFromP2BodyId(p2BodyId: number): PhysicsEntity | undefined;
11
11
  static getFromP2BodyIdOrFail(p2BodyId: number): PhysicsEntity;
12
- static getInstance(id: string): PhysicsEntity | undefined;
13
- static getInstanceOrFail(id: string): PhysicsEntity;
12
+ static getPhysicsInstanceOrFail(id: string): PhysicsEntity;
14
13
  static getPhysicsEntities(): PhysicsEntity[];
15
14
  readonly onCollision: Action<CollisionReport[]>;
16
15
  get area(): number;
@@ -25,7 +24,7 @@ export declare abstract class PhysicsEntity extends Entity {
25
24
  private _area;
26
25
  private _mass;
27
26
  private _collisions;
28
- constructor(physicsWorld: PhysicsWorld, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
27
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
29
28
  abstract convertToDTO(): PhysicsBodyDTO;
30
29
  destroy(): void;
31
30
  protected setCollisionReports(collisionReports: CollisionReport[]): void;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PhysicsEntity = void 0;
4
4
  const actions_lib_1 = require("actions-lib");
5
+ const helpers_lib_1 = require("helpers-lib");
6
+ const physics_world_1 = require("../physics-world");
5
7
  const p2js_helper_1 = require("../helpers/p2js.helper");
6
8
  const shape_factory_1 = require("../helpers/shape-factory");
7
9
  const game_entities_1 = require("../../game-entities");
@@ -19,10 +21,7 @@ class PhysicsEntity extends game_entities_1.Entity {
19
21
  }
20
22
  return physicsBody;
21
23
  }
22
- static getInstance(id) {
23
- return PhysicsEntity.physicsEntities.get(id);
24
- }
25
- static getInstanceOrFail(id) {
24
+ static getPhysicsInstanceOrFail(id) {
26
25
  let physicsEntity = PhysicsEntity.physicsEntities.get(id);
27
26
  if (!physicsEntity) {
28
27
  throw new Error(`PhysicsEntity with id ${id} not found`);
@@ -53,9 +52,14 @@ class PhysicsEntity extends game_entities_1.Entity {
53
52
  this._area = 0;
54
53
  this._mass = 0;
55
54
  this._collisions = [];
56
- this.physicsWorld = physicsWorld;
57
- let material = physicsWorld.physicsMaterials.getMaterial(physicsEntityDefinition.shapeDefinition.materialName);
58
- let materialDefinition = physicsWorld.physicsMaterials.getMaterialDefinition(physicsEntityDefinition.shapeDefinition.materialName);
55
+ if (helpers_lib_1.Comparator.isString(physicsWorld)) {
56
+ this.physicsWorld = physics_world_1.PhysicsWorld.getInstanceByIdOrFail(physicsWorld);
57
+ }
58
+ else {
59
+ this.physicsWorld = physicsWorld;
60
+ }
61
+ let material = this.physicsWorld.physicsMaterials.getMaterial(physicsEntityDefinition.shapeDefinition.materialName);
62
+ let materialDefinition = this.physicsWorld.physicsMaterials.getMaterialDefinition(physicsEntityDefinition.shapeDefinition.materialName);
59
63
  this.type = type;
60
64
  this.physicsBodyGroup = physicsEntityDefinition.shapeDefinition.group;
61
65
  this.includeInPathfinding = physicsEntityDefinition.includeOnPathfinding;
@@ -64,7 +68,7 @@ class PhysicsEntity extends game_entities_1.Entity {
64
68
  this._mass = this.body.mass;
65
69
  this.body.position = p2js_helper_1.P2JSHelper.vec2ToArray(physicsEntityDefinition.position);
66
70
  this.body.angle = physicsEntityDefinition.rotation;
67
- let addedToTheWorld = physicsWorld.addBody(this.body, physicsEntityDefinition.addInEmptySpace, physicsEntityDefinition.shapeDefinition.group, physicsEntityDefinition.includeOnPathfinding);
71
+ let addedToTheWorld = this.physicsWorld.addBody(this.body, physicsEntityDefinition.addInEmptySpace, physicsEntityDefinition.shapeDefinition.group, physicsEntityDefinition.includeOnPathfinding);
68
72
  if (!addedToTheWorld) {
69
73
  throw new Error('PhysicsEntity was not able to be added to the world!');
70
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/physics-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-entity.js","sourceRoot":"","sources":["../../../src/physics/entitity-types/physics-entity.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { PhysicsBodyGroup } from './sub-elements/physics-body-groups';
10
10
  import { Grid } from '../utilities/libraries/data-structures/grid/grid';
11
11
  export declare class PhysicsWorld extends Entity {
12
12
  readonly mapSize: Vec2;
13
+ readonly mapSizeCenter: Vec2;
13
14
  readonly physicsMaterials: PhysicsMaterials;
14
15
  readonly onPhysicsStep: Action<{
15
16
  time: number;
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BorderEntity = exports.PhysicsWorld = void 0;
16
+ const helpers_lib_1 = require("helpers-lib");
16
17
  const actions_lib_1 = require("actions-lib");
17
18
  const p2_1 = __importDefault(require("p2"));
18
19
  const physics_materials_1 = require("./sub-elements/physics-materials");
@@ -28,6 +29,7 @@ let PhysicsWorld = class PhysicsWorld extends game_entities_1.Entity {
28
29
  this.onPhysicsStep = new actions_lib_1.Action();
29
30
  this.lastP2Time = 0;
30
31
  this.mapSize = mapSize;
32
+ this.mapSizeCenter = helpers_lib_1.Vector.multiply(this.mapSize, 0.5);
31
33
  this.modifyUpdateCycle = modifyUpdateCycle;
32
34
  this.p2World = new p2_1.default.World({ gravity: [0, 0] });
33
35
  this.physicsMaterials = new physics_materials_1.PhysicsMaterials(this.p2World, borderProperties, materialDefinitions, materialContactDefinitions);
@@ -1 +1 @@
1
- {"version":3,"file":"physics-world.js","sourceRoot":"","sources":["../../src/physics/physics-world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-world.js","sourceRoot":"","sources":["../../src/physics/physics-world.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Rectangle, Vec2 } from 'helpers-lib';
2
+ export declare class AvailabilityGridHelper {
3
+ static areaToGridArea(boundingBox: Rectangle, cellSize: number): Rectangle;
4
+ static positionToGridPosition(point: Vec2, cellSize: number): Vec2;
5
+ static gridPositionToPosition(gridPosition: Vec2, cellSize: number): Vec2;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvailabilityGridHelper = void 0;
4
+ const helpers_lib_1 = require("helpers-lib");
5
+ class AvailabilityGridHelper {
6
+ static areaToGridArea(boundingBox, cellSize) {
7
+ return {
8
+ topLeft: this.positionToGridPosition(boundingBox.topLeft, cellSize),
9
+ bottomRight: this.positionToGridPosition(boundingBox.bottomRight, cellSize)
10
+ };
11
+ }
12
+ static positionToGridPosition(point, cellSize) {
13
+ return { x: Math.floor(point.x / cellSize), y: Math.floor(point.y / cellSize) };
14
+ }
15
+ static gridPositionToPosition(gridPosition, cellSize) {
16
+ return helpers_lib_1.Vector.multiply(helpers_lib_1.Vector.sum(gridPosition, { x: 0.5, y: 0.5 }), cellSize);
17
+ }
18
+ }
19
+ exports.AvailabilityGridHelper = AvailabilityGridHelper;
20
+ //# sourceMappingURL=availability-grid.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availability-grid.helper.js","sourceRoot":"","sources":["../../../../../src/physics/sub-elements/available-spaces/helpers/availability-grid.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AAEtD,MAAa,sBAAsB;IACjC,MAAM,CAAC,cAAc,CAAC,WAAsB,EAAE,QAAgB;QAC5D,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnE,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,KAAW,EAAE,QAAgB;QACzD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,YAAkB,EAAE,QAAgB;QAChE,OAAO,oBAAM,CAAC,QAAQ,CAAC,oBAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF;AAfD,wDAeC"}
@@ -1,11 +1,8 @@
1
1
  /// <reference types="p2" />
2
- import { Rectangle, Vec2 } from 'helpers-lib';
2
+ import { Vec2 } from 'helpers-lib';
3
3
  import { Grid } from '../../../utilities/libraries/data-structures/grid/grid';
4
4
  import { PhysicsBodyGroup } from '../physics-body-groups';
5
5
  export declare class PhysicsAvailabilityGrid {
6
- static areaToGridArea(boundingBox: Rectangle, cellSize: number): Rectangle;
7
- static positionToGridPosition(point: Vec2, cellSize: number): Vec2;
8
- static gridPositionToPosition(gridPosition: Vec2, cellSize: number): Vec2;
9
6
  private p2World;
10
7
  private mapSize;
11
8
  private availabilityGrids;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PhysicsAvailabilityGrid = void 0;
4
- const helpers_lib_1 = require("helpers-lib");
5
4
  const grid_1 = require("../../../utilities/libraries/data-structures/grid/grid");
6
5
  const p2js_helper_1 = require("../../helpers/p2js.helper");
7
6
  const physics_body_groups_1 = require("../physics-body-groups");
8
7
  const physics_entity_1 = require("../../entitity-types/physics-entity");
8
+ const availability_grid_helper_1 = require("./helpers/availability-grid.helper");
9
9
  class AvailabilityGridCache {
10
10
  constructor() {
11
11
  this.grids = new Map();
@@ -41,18 +41,6 @@ class AvailabilityGridCache {
41
41
  }
42
42
  }
43
43
  class PhysicsAvailabilityGrid {
44
- static areaToGridArea(boundingBox, cellSize) {
45
- return {
46
- topLeft: this.positionToGridPosition(boundingBox.topLeft, cellSize),
47
- bottomRight: this.positionToGridPosition(boundingBox.bottomRight, cellSize)
48
- };
49
- }
50
- static positionToGridPosition(point, cellSize) {
51
- return { x: Math.floor(point.x / cellSize), y: Math.floor(point.y / cellSize) };
52
- }
53
- static gridPositionToPosition(gridPosition, cellSize) {
54
- return helpers_lib_1.Vector.multiply(helpers_lib_1.Vector.sum(gridPosition, { x: 0.5, y: 0.5 }), cellSize);
55
- }
56
44
  constructor(p2World, mapsize) {
57
45
  this.availabilityGrids = new AvailabilityGridCache();
58
46
  this.p2World = p2World;
@@ -66,7 +54,7 @@ class PhysicsAvailabilityGrid {
66
54
  body.updateAABB();
67
55
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(body.aabb);
68
56
  this.availabilityGrids.getCollidableGrids(physicsBodyGroup).forEach(item => {
69
- let gridSpaceBoundingBox = PhysicsAvailabilityGrid.areaToGridArea(boundingBox, item.cellSize);
57
+ let gridSpaceBoundingBox = availability_grid_helper_1.AvailabilityGridHelper.areaToGridArea(boundingBox, item.cellSize);
70
58
  item.grid.safeSetArea(gridSpaceBoundingBox, false);
71
59
  });
72
60
  }
@@ -94,7 +82,7 @@ class PhysicsAvailabilityGrid {
94
82
  }
95
83
  getGridSpaceBoundingBox(p2Body, cellSize) {
96
84
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(p2Body.aabb);
97
- return PhysicsAvailabilityGrid.areaToGridArea(boundingBox, cellSize);
85
+ return availability_grid_helper_1.AvailabilityGridHelper.areaToGridArea(boundingBox, cellSize);
98
86
  }
99
87
  }
100
88
  exports.PhysicsAvailabilityGrid = PhysicsAvailabilityGrid;
@@ -1 +1 @@
1
- {"version":3,"file":"physics-availability-grid.js","sourceRoot":"","sources":["../../../../src/physics/sub-elements/available-spaces/physics-availability-grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-availability-grid.js","sourceRoot":"","sources":["../../../../src/physics/sub-elements/available-spaces/physics-availability-grid.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ exports.PhysicsAvailableSpaces = void 0;
4
4
  const helpers_lib_1 = require("helpers-lib");
5
5
  const closest_available_space_helper_1 = require("../../../utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper");
6
6
  const p2js_helper_1 = require("../../helpers/p2js.helper");
7
- const physics_availability_grid_1 = require("./physics-availability-grid");
8
7
  const utilities_1 = require("../../../utilities");
9
8
  const physics_body_groups_1 = require("../physics-body-groups");
10
9
  const physics_entity_1 = require("../../entitity-types/physics-entity");
11
10
  const vector_field_path_finder_1 = require("../../../utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder");
11
+ const availability_grid_helper_1 = require("./helpers/availability-grid.helper");
12
12
  const GRID_CELL_SIZE = 50;
13
13
  class PhysicsAvailableSpaces {
14
14
  constructor(physicsAvailabilityGrid) {
@@ -21,7 +21,7 @@ class PhysicsAvailableSpaces {
21
21
  getAvailabilityGrid(physicsBodyGroup) {
22
22
  let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(GRID_CELL_SIZE, physicsBodyGroup);
23
23
  return availabilityGrid.map((value, position) => ({
24
- position: physics_availability_grid_1.PhysicsAvailabilityGrid.gridPositionToPosition(position, GRID_CELL_SIZE),
24
+ position: availability_grid_helper_1.AvailabilityGridHelper.gridPositionToPosition(position, GRID_CELL_SIZE),
25
25
  availability: value
26
26
  }));
27
27
  }
@@ -44,31 +44,31 @@ class PhysicsAvailableSpaces {
44
44
  let targetPosition;
45
45
  let targetP2Body;
46
46
  if (helpers_lib_1.Comparator.isString(target)) {
47
- let targetEntity = physics_entity_1.PhysicsEntity.getInstanceOrFail(target);
47
+ let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
48
48
  targetP2Body = targetEntity['body'];
49
49
  targetPosition = p2js_helper_1.P2JSHelper.arrayToVec2(targetP2Body.position);
50
50
  }
51
51
  else {
52
52
  targetPosition = target;
53
53
  }
54
- let startingGridPosition = physics_availability_grid_1.PhysicsAvailabilityGrid.positionToGridPosition(startingPosition, GRID_CELL_SIZE);
55
- let targetGridPosition = physics_availability_grid_1.PhysicsAvailabilityGrid.positionToGridPosition(targetPosition, GRID_CELL_SIZE);
54
+ let startingGridPosition = availability_grid_helper_1.AvailabilityGridHelper.positionToGridPosition(startingPosition, GRID_CELL_SIZE);
55
+ let targetGridPosition = availability_grid_helper_1.AvailabilityGridHelper.positionToGridPosition(targetPosition, GRID_CELL_SIZE);
56
56
  let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(GRID_CELL_SIZE, options.collidableWithGroup);
57
57
  if (targetP2Body) {
58
58
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetP2Body.aabb);
59
- let gridSpaceBoundingBox = physics_availability_grid_1.PhysicsAvailabilityGrid.areaToGridArea(boundingBox, GRID_CELL_SIZE);
59
+ let gridSpaceBoundingBox = availability_grid_helper_1.AvailabilityGridHelper.areaToGridArea(boundingBox, GRID_CELL_SIZE);
60
60
  availabilityGrid.safeSetArea(gridSpaceBoundingBox, true);
61
61
  }
62
62
  let result = utilities_1.PathFinder.findPath(availabilityGrid, startingGridPosition, targetGridPosition, {
63
63
  includeDiagonals: options.includeDiagonals
64
64
  });
65
- result.path = result.path.map(gridPosition => physics_availability_grid_1.PhysicsAvailabilityGrid.gridPositionToPosition(gridPosition, GRID_CELL_SIZE));
65
+ result.path = result.path.map(gridPosition => availability_grid_helper_1.AvailabilityGridHelper.gridPositionToPosition(gridPosition, GRID_CELL_SIZE));
66
66
  return result;
67
67
  }
68
68
  findPathDirection(startingPosition, target, collidableWithGroup) {
69
69
  let targetArea;
70
70
  if (helpers_lib_1.Comparator.isString(target)) {
71
- let targetEntity = physics_entity_1.PhysicsEntity.getInstanceOrFail(target);
71
+ let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
72
72
  targetArea = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetEntity['body'].aabb);
73
73
  }
74
74
  else {
@@ -77,7 +77,7 @@ class PhysicsAvailableSpaces {
77
77
  bottomRight: target
78
78
  };
79
79
  }
80
- let targetGridArea = physics_availability_grid_1.PhysicsAvailabilityGrid.areaToGridArea(targetArea, GRID_CELL_SIZE);
80
+ let targetGridArea = availability_grid_helper_1.AvailabilityGridHelper.areaToGridArea(targetArea, GRID_CELL_SIZE);
81
81
  let cacheName = JSON.stringify({ targetGridArea, collidableWithGroup });
82
82
  let vectorField = this.vectorFieldCache.get(cacheName);
83
83
  if (!vectorField) {
@@ -85,7 +85,7 @@ class PhysicsAvailableSpaces {
85
85
  vectorField = new vector_field_path_finder_1.VectorFieldPathFinder(targetGridArea, availabilityGrid);
86
86
  this.vectorFieldCache.set(cacheName, vectorField);
87
87
  }
88
- let startingGridPosition = physics_availability_grid_1.PhysicsAvailabilityGrid.positionToGridPosition(startingPosition, GRID_CELL_SIZE);
88
+ let startingGridPosition = availability_grid_helper_1.AvailabilityGridHelper.positionToGridPosition(startingPosition, GRID_CELL_SIZE);
89
89
  return vectorField.getDirectionToTarget(startingGridPosition);
90
90
  }
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"physics-available-spaces.js","sourceRoot":"","sources":["../../../../src/physics/sub-elements/available-spaces/physics-available-spaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"physics-available-spaces.js","sourceRoot":"","sources":["../../../../src/physics/sub-elements/available-spaces/physics-available-spaces.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClosestAvailableSpaceHelper = void 0;
4
4
  const helpers_lib_1 = require("helpers-lib");
5
- const physics_availability_grid_1 = require("../../../../physics/sub-elements/available-spaces/physics-availability-grid");
6
5
  const queue_1 = require("../../data-structures/queue/queue");
7
6
  const vector_set_1 = require("../../data-structures/vector-set/vector-set");
7
+ const availability_grid_helper_1 = require("../../../../physics/sub-elements/available-spaces/helpers/availability-grid.helper");
8
8
  class ClosestAvailableSpaceHelper {
9
9
  static findByConvertingGridSpace(grid, boundingBox, cellSize) {
10
10
  let objectSize = {
@@ -15,7 +15,7 @@ class ClosestAvailableSpaceHelper {
15
15
  x: Math.ceil(objectSize.x / cellSize) - 1,
16
16
  y: Math.ceil(objectSize.y / cellSize) - 1
17
17
  };
18
- let objectGridArea = physics_availability_grid_1.PhysicsAvailabilityGrid.areaToGridArea(boundingBox, cellSize);
18
+ let objectGridArea = availability_grid_helper_1.AvailabilityGridHelper.areaToGridArea(boundingBox, cellSize);
19
19
  if (this.canPlaceObject(grid, objectGridArea)) {
20
20
  return helpers_lib_1.Vector.zero;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"closest-available-space.helper.js","sourceRoot":"","sources":["../../../../../src/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closest-available-space.helper.js","sourceRoot":"","sources":["../../../../../src/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare class MouseService {
4
4
  readonly stagePosition: Variable<Vec2>;
5
5
  readonly screenPosition: Variable<Vec2>;
6
6
  readonly mainButtonState: Variable<boolean>;
7
+ readonly secondaryButtonState: Variable<boolean>;
7
8
  private converterFunction;
8
9
  constructor();
9
10
  setScreenMousePositionToStagePositionFunction(converterFunction: (mouseScreenPosition: Vec2) => Vec2): void;
@@ -20,16 +20,28 @@ let MouseService = class MouseService {
20
20
  this.stagePosition = new actions_lib_1.Variable({ notifyOnChange: true }).set({ x: 0, y: 0 });
21
21
  this.screenPosition = new actions_lib_1.Variable({ notifyOnChange: true }).set({ x: 0, y: 0 });
22
22
  this.mainButtonState = new actions_lib_1.Variable().set(false);
23
+ this.secondaryButtonState = new actions_lib_1.Variable().set(false);
23
24
  this.resetScreenMousePositionToStagePositionFunction();
24
25
  this.startListeningMouseMove();
25
- window.addEventListener('mousedown', () => {
26
- this.mainButtonState.value = true;
26
+ window.addEventListener('mousedown', event => {
27
+ if (event.button === 0) {
28
+ this.mainButtonState.value = true;
29
+ }
30
+ else if (event.button === 2) {
31
+ this.secondaryButtonState.value = true;
32
+ }
27
33
  });
28
- window.addEventListener('mouseup', () => {
29
- this.mainButtonState.value = false;
34
+ window.addEventListener('mouseup', event => {
35
+ if (event.button === 0) {
36
+ this.mainButtonState.value = false;
37
+ }
38
+ else if (event.button === 2) {
39
+ this.secondaryButtonState.value = false;
40
+ }
30
41
  });
31
42
  window.addEventListener('blur', () => {
32
43
  this.mainButtonState.value = false;
44
+ this.secondaryButtonState.value = false;
33
45
  });
34
46
  }
35
47
  setScreenMousePositionToStagePositionFunction(converterFunction) {
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.service.js","sourceRoot":"","sources":["../../../../src/utilities/services/mouse/mouse.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAuC;AAGvC,oEAA0E;AAC1E,sEAAkE;AAClE,wCAAqC;AACrC,2EAAsE;AAG/D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAOvB;QANS,kBAAa,GAAG,IAAI,sBAAQ,CAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjF,mBAAc,GAAG,IAAI,sBAAQ,CAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,oBAAe,GAAG,IAAI,sBAAQ,EAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAK5D,IAAI,CAAC,+CAA+C,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C,CAAC,iBAAsD;QAClG,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,+CAA+C;QAC7C,IAAI,CAAC,iBAAiB,GAAG,CAAC,mBAAyB,EAAQ,EAAE,CAAC,mBAAmB,CAAC;IACpF,CAAC;IAEO,uBAAuB;QAC7B,IAAI,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAC3C,mBAAmB,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,0BAAW,CAAC,uBAAuB;aAChC,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;QAClD,CAAC,CAAC;aACD,eAAe,EAAE,CAAC;QAErB,0BAAW,CAAC,sBAAsB;aAC/B,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,+BAA+B,GAAG,2CAAmB,CAAC,4BAA4B,CACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,WAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EACzB,WAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC/B,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;QACrF,CAAC,CAAC;aACD,eAAe,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AAvDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,0BAAgB,GAAE;;GACN,YAAY,CAuDxB"}
1
+ {"version":3,"file":"mouse.service.js","sourceRoot":"","sources":["../../../../src/utilities/services/mouse/mouse.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bard-legends-framework",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Bard Legends Framework",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "actions-lib": "1.7.4",
39
- "helpers-lib": "1.6.7",
39
+ "helpers-lib": "1.6.9",
40
40
  "p2": "0.7.1",
41
41
  "pixi-filters": "5.3.0",
42
42
  "pixi.js": "7.4.2",
43
43
  "reflect-metadata": "0.2.1"
44
44
  },
45
45
  "devDependencies": {
46
- "@types/node": "^20.12.11",
46
+ "@types/node": "20.12.11",
47
47
  "@types/p2": "0.7.44",
48
48
  "@typescript-eslint/eslint-plugin": "7.4.0",
49
49
  "@typescript-eslint/parser": "7.4.0",
package/package.json.bak CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bard-legends-framework",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Bard Legends Framework",
5
5
  "main": "src/index.ts",
6
6
  "publishConfig": {
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "actions-lib": "1.7.4",
39
- "helpers-lib": "1.6.7",
39
+ "helpers-lib": "1.6.9",
40
40
  "p2": "0.7.1",
41
41
  "pixi-filters": "5.3.0",
42
42
  "pixi.js": "7.4.2",
43
43
  "reflect-metadata": "0.2.1"
44
44
  },
45
45
  "devDependencies": {
46
- "@types/node": "^20.12.11",
46
+ "@types/node": "20.12.11",
47
47
  "@types/p2": "0.7.44",
48
48
  "@typescript-eslint/eslint-plugin": "7.4.0",
49
49
  "@typescript-eslint/parser": "7.4.0",