bard-legends-framework 0.4.5 → 0.4.7

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.
@@ -18,6 +18,7 @@ const p2_1 = __importDefault(require("p2"));
18
18
  const game_entities_1 = require("../../../../game-entities");
19
19
  const test_visuals_service_1 = require("../test-visuals/test-visuals.service");
20
20
  const p2js_helper_1 = require("../../../libs/p2js.helper");
21
+ const physics_entity_1 = require("../../../entity-types/physics-entity");
21
22
  let HitTestService = class HitTestService {
22
23
  constructor(testVisualsService) {
23
24
  this.testVisualsService = testVisualsService;
@@ -28,12 +29,15 @@ let HitTestService = class HitTestService {
28
29
  }
29
30
  hitTest(p2Body, options) {
30
31
  let p2World = p2Body.world;
32
+ let physicsEntity = physics_entity_1.PhysicsEntity.getFromP2BodyIdOrFail(p2Body.id);
31
33
  let bodyClone = this.getBodyClone(p2Body);
32
34
  this.applyOverriddenValues(bodyClone, options);
33
35
  let overlappingBodyClones = p2World.broadphase
34
36
  .aabbQuery(p2World, this.getAABB(bodyClone))
35
- .filter(targetBody => p2js_helper_1.P2JSHelper.canCollideWith(bodyClone, targetBody))
36
- .map(targetBody => this.getBodyClone(targetBody));
37
+ .map(targetBody => physics_entity_1.PhysicsEntity.getFromP2BodyIdOrFail(targetBody.id))
38
+ .filter(targetEntity => targetEntity.includeInPathfinding)
39
+ .filter(targetEntity => physicsEntity.canCollideWith(targetEntity))
40
+ .map(targetEntity => this.getBodyClone(targetEntity['p2Body']));
37
41
  let hitFound = false;
38
42
  if (overlappingBodyClones.length !== 0) {
39
43
  let p2WorldClone = new p2_1.default.World();
@@ -1 +1 @@
1
- {"version":3,"file":"hit-test.service.js","sourceRoot":"","sources":["../../../../../src/physics/module/📐services/collision/hit-test.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hit-test.service.js","sourceRoot":"","sources":["../../../../../src/physics/module/📐services/collision/hit-test.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { Action } from 'actions-lib';
2
2
  export declare class KeyboardService {
3
3
  readonly keyPressed: Action<string>;
4
+ readonly keyReleased: Action<string>;
4
5
  private listOfPressedKeys;
6
+ private listOfJustPressedKeys;
5
7
  constructor();
6
8
  isKeyDown(key: string): boolean;
9
+ isKeyJustPressed(key: string): boolean;
7
10
  }
@@ -12,24 +12,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.KeyboardService = void 0;
13
13
  const actions_lib_1 = require("actions-lib");
14
14
  const service_1 = require("../../../game-entities/service/service");
15
+ const game_entities_1 = require("../../../game-entities");
15
16
  let KeyboardService = class KeyboardService {
16
17
  constructor() {
17
18
  this.keyPressed = new actions_lib_1.Action();
19
+ this.keyReleased = new actions_lib_1.Action();
18
20
  this.listOfPressedKeys = new Set();
21
+ this.listOfJustPressedKeys = new Set();
19
22
  window.addEventListener('keydown', event => {
20
23
  this.listOfPressedKeys.add(event.key);
24
+ this.listOfJustPressedKeys.add(event.key);
21
25
  !event.repeat && this.keyPressed.trigger(event.key);
22
26
  });
23
27
  window.addEventListener('keyup', event => {
24
28
  this.listOfPressedKeys.delete(event.key);
29
+ this.keyReleased.trigger(event.key);
25
30
  });
26
31
  window.addEventListener('blur', () => {
27
32
  this.listOfPressedKeys.clear();
28
33
  });
34
+ game_entities_1.UpdateCycle.afterSceneUpdateAction
35
+ .subscribe(() => {
36
+ this.listOfJustPressedKeys.clear();
37
+ })
38
+ .skipAttachCheck();
29
39
  }
30
40
  isKeyDown(key) {
31
41
  return this.listOfPressedKeys.has(key);
32
42
  }
43
+ isKeyJustPressed(key) {
44
+ return this.listOfJustPressedKeys.has(key);
45
+ }
33
46
  };
34
47
  exports.KeyboardService = KeyboardService;
35
48
  exports.KeyboardService = KeyboardService = __decorate([
@@ -1 +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"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../../src/pixi/services/keyboard/keyboard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAqC;AAErC,oEAA0E;AAC1E,0DAAqD;AAG9C,IAAM,eAAe,GAArB,MAAM,eAAe;IAO1B;QANS,eAAU,GAAG,IAAI,oBAAM,EAAU,CAAC;QAClC,gBAAW,GAAG,IAAI,oBAAM,EAAU,CAAC;QAEpC,sBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,0BAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAGhD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,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;YACzC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,2BAAW,CAAC,sBAAsB;aAC/B,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC,CAAC;aACD,eAAe,EAAE,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AArCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,0BAAgB,GAAE;;GACN,eAAe,CAqC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bard-legends-framework",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Bard Legends Framework",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
package/package.json.bak CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bard-legends-framework",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Bard Legends Framework",
5
5
  "main": "src/index.ts",
6
6
  "publishConfig": {