bard-legends-framework 0.9.6 → 0.9.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.
Files changed (238) hide show
  1. package/dist/_interfaces/index.d.ts +2 -2
  2. package/dist/_interfaces/index.js +2 -3
  3. package/dist/game-entities/attachable/attachable.d.ts +6 -6
  4. package/dist/game-entities/attachable/attachable.js +28 -30
  5. package/dist/game-entities/attachable/attachable.spec.js +129 -128
  6. package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
  7. package/dist/game-entities/attachable/attachable.store.js +34 -32
  8. package/dist/game-entities/attachable/attachable.test.js +132 -131
  9. package/dist/game-entities/attachable/destroyable.d.ts +13 -13
  10. package/dist/game-entities/attachable/destroyable.js +64 -69
  11. package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
  12. package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
  13. package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
  14. package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
  15. package/dist/game-entities/attachable/interfaces.d.ts +6 -6
  16. package/dist/game-entities/attachable/interfaces.js +2 -3
  17. package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
  18. package/dist/game-entities/controller/controller.js +0 -1
  19. package/dist/game-entities/controller/controller.spec.js +128 -125
  20. package/dist/game-entities/entity/entity.spec.js +263 -293
  21. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  22. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  23. package/dist/game-entities/scene/scene.spec.js +219 -223
  24. package/dist/game-entities/service/service.js +0 -4
  25. package/dist/game-entities/service/service.spec.js +265 -237
  26. package/dist/game-entities/service/service.test.js +4 -2
  27. package/dist/game-entities/update-loop.d.ts +18 -18
  28. package/dist/game-entities/update-loop.js +46 -28
  29. package/dist/game-entities/view/view.spec.js +490 -506
  30. package/dist/game-entities/view/view.test.js +1 -1
  31. package/dist/lib/animator/animations.d.ts +13 -13
  32. package/dist/lib/animator/animations.js +43 -40
  33. package/dist/lib/animator/animator.d.ts +41 -41
  34. package/dist/lib/animator/animator.js +194 -197
  35. package/dist/lib/animator/animator.spec.js +699 -612
  36. package/dist/lib/animator/index.js +24 -19
  37. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  38. package/dist/lib/libraries/animator/animations.js +43 -40
  39. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  40. package/dist/lib/libraries/animator/animator.js +194 -197
  41. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  42. package/dist/lib/libraries/animator/index.js +24 -19
  43. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  44. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  45. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  46. package/dist/lib/path-finder/path-finder.js +19 -20
  47. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  48. package/dist/lib/services/keyboard/keyboard.js +39 -31
  49. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  50. package/dist/lib/services/mouse/mouse.service.js +65 -53
  51. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  52. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  53. package/dist/lib/update-loop.d.ts +10 -10
  54. package/dist/lib/update-loop.js +35 -27
  55. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  56. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  57. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  58. package/dist/physics/entitity-types/movable-entity.js +21 -22
  59. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  60. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  61. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  62. package/dist/physics/entitity-types/physics-entity.js +97 -88
  63. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  64. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  65. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  66. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  67. package/dist/physics/helpers/p2js.helper.js +21 -22
  68. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  69. package/dist/physics/helpers/shape-factory.js +99 -75
  70. package/dist/physics/libs/p2js.helper.js +1 -1
  71. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  72. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  73. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  74. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  75. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  76. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  77. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  78. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  79. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  80. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  81. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  82. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  83. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  84. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  85. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  86. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  87. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  88. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  89. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  90. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  91. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  92. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  93. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  94. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  95. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  96. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  97. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  98. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  99. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  100. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  101. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  102. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  103. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  104. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  105. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  106. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  107. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  108. package/dist/physics/physics-world.d.ts +50 -34
  109. package/dist/physics/physics-world.js +142 -133
  110. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  111. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  112. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  113. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  114. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  115. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  116. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  117. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  118. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  119. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  120. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  121. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  122. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  123. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  124. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  125. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  126. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  127. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  128. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  129. package/dist/physics/sub-elements/physics-collision.js +141 -121
  130. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  131. package/dist/physics/sub-elements/physics-materials.js +101 -100
  132. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  133. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  134. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  135. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  136. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  137. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  138. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  139. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  140. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  141. package/dist/pixi/display-object/components/filters.js +106 -81
  142. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  143. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  144. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  145. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  146. package/dist/pixi/display-object/container-attributes.js +1 -1
  147. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  148. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  149. package/dist/pixi/display-object/display-object.d.ts +17 -17
  150. package/dist/pixi/display-object/display-object.js +79 -75
  151. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  152. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  153. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  154. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  155. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  156. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  157. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  163. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  164. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  165. package/dist/pixi/display-object/filters.js +20 -4
  166. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  167. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  168. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  169. package/dist/pixi/display-object/objects/container.js +39 -30
  170. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  171. package/dist/pixi/display-object/objects/graphics.js +218 -202
  172. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  173. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  174. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  175. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  176. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  177. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  178. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  179. package/dist/pixi/display-object/objects/sprite.js +248 -233
  180. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  181. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  182. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  183. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  184. package/dist/pixi/display-object/objects/text.js +111 -102
  185. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  186. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  187. package/dist/pixi/game.d.ts +1 -1
  188. package/dist/pixi/game.js +2 -2
  189. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  190. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  191. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  192. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  193. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  194. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  196. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  197. package/dist/pixi/modules/CAMERA/index.js +3 -3
  198. package/dist/services/keyboard/keyboard.d.ts +4 -4
  199. package/dist/services/keyboard/keyboard.js +39 -31
  200. package/dist/services/mouse/mouse.service.d.ts +8 -8
  201. package/dist/services/mouse/mouse.service.js +65 -53
  202. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  203. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  204. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  205. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  206. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  207. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  208. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  209. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  210. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  211. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  212. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  213. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  214. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  215. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  216. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  217. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  218. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  219. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  220. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  221. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  222. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  223. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  224. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  225. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  226. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  227. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  228. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  229. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  230. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  231. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  232. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  233. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  234. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  235. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  236. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  237. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  238. package/package.json +4 -10
@@ -1,92 +1,131 @@
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;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  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 });
13
+ });
14
+ var __metadata =
15
+ (this && this.__metadata) ||
16
+ ((k, v) => {
17
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
18
+ });
19
+ Object.defineProperty(exports, '__esModule', { value: true });
12
20
  exports.PathFinderService = exports.DEFAULT_GRID_CELL_SIZE = void 0;
13
- const helpers_lib_1 = require("helpers-lib");
14
- const game_entities_1 = require("../../../game-entities");
15
- const physics_body_groups_1 = require("../../libs/physics-body-groups");
16
- const physics_entity_1 = require("../../entity-types/physics-entity");
17
- const p2js_helper_1 = require("../../libs/p2js.helper");
18
- const position_to_grid_position_converter_1 = require("../../libs/position-to-grid-position-converter");
19
- const availability_grid_service_1 = require("./availability-grid.service");
20
- const physics_world_entity_1 = require("../\uD83E\uDDCAentities/physics-world.entity");
21
- const utilities_1 = require("../../../utilities");
21
+ const helpers_lib_1 = require('helpers-lib');
22
+ const game_entities_1 = require('../../../game-entities');
23
+ const physics_body_groups_1 = require('../../libs/physics-body-groups');
24
+ const physics_entity_1 = require('../../entity-types/physics-entity');
25
+ const p2js_helper_1 = require('../../libs/p2js.helper');
26
+ const position_to_grid_position_converter_1 = require('../../libs/position-to-grid-position-converter');
27
+ const availability_grid_service_1 = require('./availability-grid.service');
28
+ const physics_world_entity_1 = require('../\uD83E\uDDCAentities/physics-world.entity');
29
+ const utilities_1 = require('../../../utilities');
22
30
  exports.DEFAULT_GRID_CELL_SIZE = 50;
23
31
  let PathFinderService = class PathFinderService {
24
- constructor(physicsAvailabilityGrid) {
25
- this.physicsAvailabilityGrid = physicsAvailabilityGrid;
32
+ constructor(physicsAvailabilityGrid) {
33
+ this.physicsAvailabilityGrid = physicsAvailabilityGrid;
34
+ }
35
+ findPathAStar(physicsWorldId, startingPosition, target, options) {
36
+ if (!options) {
37
+ options = {};
38
+ }
39
+ if (options.includeDiagonals === undefined) {
40
+ options.includeDiagonals = false;
41
+ }
42
+ if (options.collidableWithGroup === undefined) {
43
+ options.collidableWithGroup = physics_body_groups_1.PhysicsBodyGroup.none;
44
+ }
45
+ if (options.gridCellSize === undefined) {
46
+ options.gridCellSize = exports.DEFAULT_GRID_CELL_SIZE;
47
+ }
48
+ const physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
49
+ let targetPosition;
50
+ let targetP2Body;
51
+ if (helpers_lib_1.Comparator.isString(target)) {
52
+ const targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
53
+ targetP2Body = targetEntity['p2Body'];
54
+ targetPosition = p2js_helper_1.P2JSHelper.arrayToVector(targetP2Body.position);
55
+ } else {
56
+ targetPosition = target;
57
+ }
58
+ const startingGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(
59
+ startingPosition,
60
+ options.gridCellSize
61
+ );
62
+ const targetGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(
63
+ targetPosition,
64
+ options.gridCellSize
65
+ );
66
+ const availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(
67
+ physicsWorld,
68
+ options.gridCellSize,
69
+ options.collidableWithGroup
70
+ );
71
+ if (targetP2Body) {
72
+ const boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetP2Body.aabb);
73
+ const gridSpaceBoundingBox = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(
74
+ boundingBox,
75
+ options.gridCellSize
76
+ );
77
+ availabilityGrid.safeSetArea(gridSpaceBoundingBox, true);
26
78
  }
27
- findPathAStar(physicsWorldId, startingPosition, target, options) {
28
- if (!options) {
29
- options = {};
30
- }
31
- if (options.includeDiagonals === undefined) {
32
- options.includeDiagonals = false;
33
- }
34
- if (options.collidableWithGroup === undefined) {
35
- options.collidableWithGroup = physics_body_groups_1.PhysicsBodyGroup.none;
36
- }
37
- if (options.gridCellSize === undefined) {
38
- options.gridCellSize = exports.DEFAULT_GRID_CELL_SIZE;
39
- }
40
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
41
- let targetPosition;
42
- let targetP2Body;
43
- if (helpers_lib_1.Comparator.isString(target)) {
44
- let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
45
- targetP2Body = targetEntity['p2Body'];
46
- targetPosition = p2js_helper_1.P2JSHelper.arrayToVector(targetP2Body.position);
47
- }
48
- else {
49
- targetPosition = target;
50
- }
51
- let startingGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(startingPosition, options.gridCellSize);
52
- let targetGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(targetPosition, options.gridCellSize);
53
- let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, options.gridCellSize, options.collidableWithGroup);
54
- if (targetP2Body) {
55
- let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetP2Body.aabb);
56
- let gridSpaceBoundingBox = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(boundingBox, options.gridCellSize);
57
- availabilityGrid.safeSetArea(gridSpaceBoundingBox, true);
58
- }
59
- let result = utilities_1.PathFinder.findPath(availabilityGrid, startingGridPosition, targetGridPosition, {
60
- includeDiagonals: options.includeDiagonals
61
- });
62
- result.path = result.path.map(gridPosition => position_to_grid_position_converter_1.PositionToGridPositionConverter.gridPositionToPosition(gridPosition, options.gridCellSize));
63
- return result;
79
+ const result = utilities_1.PathFinder.findPath(availabilityGrid, startingGridPosition, targetGridPosition, {
80
+ includeDiagonals: options.includeDiagonals
81
+ });
82
+ result.path = result.path.map(gridPosition =>
83
+ position_to_grid_position_converter_1.PositionToGridPositionConverter.gridPositionToPosition(
84
+ gridPosition,
85
+ options.gridCellSize
86
+ )
87
+ );
88
+ return result;
89
+ }
90
+ findPathDirection(
91
+ physicsWorldId,
92
+ startingPosition,
93
+ target,
94
+ collidableWithGroup,
95
+ gridCellSize = exports.DEFAULT_GRID_CELL_SIZE
96
+ ) {
97
+ const physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
98
+ let targetArea;
99
+ if (helpers_lib_1.Comparator.isString(target)) {
100
+ const targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
101
+ targetArea = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetEntity['p2Body'].aabb);
102
+ } else {
103
+ targetArea = new helpers_lib_1.Rectangle(target, target);
64
104
  }
65
- findPathDirection(physicsWorldId, startingPosition, target, collidableWithGroup, gridCellSize = exports.DEFAULT_GRID_CELL_SIZE) {
66
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
67
- let targetArea;
68
- if (helpers_lib_1.Comparator.isString(target)) {
69
- let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
70
- targetArea = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetEntity['p2Body'].aabb);
71
- }
72
- else {
73
- targetArea = new helpers_lib_1.Rectangle(target, target);
74
- }
75
- let targetGridArea = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(targetArea, gridCellSize);
76
- let cacheName = JSON.stringify({ targetGridArea, collidableWithGroup });
77
- let vectorField = physicsWorld.vectorFieldCache.get(cacheName);
78
- if (!vectorField) {
79
- let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, gridCellSize, collidableWithGroup);
80
- vectorField = new utilities_1.VectorFieldPathFinder(targetGridArea, availabilityGrid);
81
- physicsWorld.vectorFieldCache.set(cacheName, vectorField);
82
- }
83
- let startingGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(startingPosition, gridCellSize);
84
- return vectorField.getDirectionToTarget(startingGridPosition);
105
+ const targetGridArea = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(
106
+ targetArea,
107
+ gridCellSize
108
+ );
109
+ const cacheName = JSON.stringify({ targetGridArea, collidableWithGroup });
110
+ let vectorField = physicsWorld.vectorFieldCache.get(cacheName);
111
+ if (!vectorField) {
112
+ const availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, gridCellSize, collidableWithGroup);
113
+ vectorField = new utilities_1.VectorFieldPathFinder(targetGridArea, availabilityGrid);
114
+ physicsWorld.vectorFieldCache.set(cacheName, vectorField);
85
115
  }
116
+ const startingGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(
117
+ startingPosition,
118
+ gridCellSize
119
+ );
120
+ return vectorField.getDirectionToTarget(startingGridPosition);
121
+ }
86
122
  };
87
123
  exports.PathFinderService = PathFinderService;
88
- exports.PathFinderService = PathFinderService = __decorate([
124
+ exports.PathFinderService = PathFinderService = __decorate(
125
+ [
89
126
  (0, game_entities_1.ServiceDecorator)(),
90
- __metadata("design:paramtypes", [availability_grid_service_1.AvailabilityGridService])
91
- ], PathFinderService);
92
- //# sourceMappingURL=path-finder.service.js.map
127
+ __metadata('design:paramtypes', [availability_grid_service_1.AvailabilityGridService])
128
+ ],
129
+ PathFinderService
130
+ );
131
+ //# sourceMappingURL=path-finder.service.js.map
@@ -8,19 +8,34 @@ import { AvailabilityGridService } from './availability-grid.service';
8
8
  import { CollisionsService } from './collisions.service';
9
9
  import { MapSizeDTO } from '../⚜️gateways';
10
10
  export declare class PhysicsWorldService {
11
- private materialsService;
12
- private borderService;
13
- private availabilityGridService;
14
- private sollisionsService;
15
- private collisionsService;
16
- constructor(materialsService: MaterialsService, borderService: BorderService, availabilityGridService: AvailabilityGridService, sollisionsService: CollisionsService, collisionsService: CollisionsService);
17
- createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): string;
18
- getMapSize(physicsWorldId: string): MapSizeDTO;
19
- addBody(physicsWorldId: string, body: p2.Body, addInEmptySpace: boolean, physicsBodyGroup: PhysicsBodyGroup, includeOnPathfinding: boolean): boolean;
20
- removeBody(physicsWorldId: string, body: p2.Body): void;
21
- subscribeToPhysicsStep(physicsWorldId: string, callback: ActionListenerCallbackFunction<{
22
- time: number;
23
- delta: number;
24
- }>): ActionSubscription;
25
- private step;
11
+ private materialsService;
12
+ private borderService;
13
+ private availabilityGridService;
14
+ private sollisionsService;
15
+ private collisionsService;
16
+ constructor(
17
+ materialsService: MaterialsService,
18
+ borderService: BorderService,
19
+ availabilityGridService: AvailabilityGridService,
20
+ sollisionsService: CollisionsService,
21
+ collisionsService: CollisionsService
22
+ );
23
+ createPhysicsWorld(request: CreatePhysicsWorldRequestDTO): string;
24
+ getMapSize(physicsWorldId: string): MapSizeDTO;
25
+ addBody(
26
+ physicsWorldId: string,
27
+ body: p2.Body,
28
+ addInEmptySpace: boolean,
29
+ physicsBodyGroup: PhysicsBodyGroup,
30
+ includeOnPathfinding: boolean
31
+ ): boolean;
32
+ removeBody(physicsWorldId: string, body: p2.Body): void;
33
+ subscribeToPhysicsStep(
34
+ physicsWorldId: string,
35
+ callback: ActionListenerCallbackFunction<{
36
+ time: number;
37
+ delta: number;
38
+ }>
39
+ ): ActionSubscription;
40
+ private step;
26
41
  }
@@ -1,112 +1,134 @@
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;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  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 });
13
+ });
14
+ var __metadata =
15
+ (this && this.__metadata) ||
16
+ ((k, v) => {
17
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
18
+ });
19
+ var __importDefault = (this && this.__importDefault) || (mod => (mod && mod.__esModule ? mod : { default: mod }));
20
+ Object.defineProperty(exports, '__esModule', { value: true });
15
21
  exports.PhysicsWorldService = void 0;
16
- const p2_1 = __importDefault(require("p2"));
17
- const game_entities_1 = require("../../../game-entities");
18
- const physics_world_entity_1 = require("../\uD83E\uDDCAentities/physics-world.entity");
19
- const materials_service_1 = require("./materials.service");
20
- const border_service_1 = require("./border.service");
21
- const availability_grid_service_1 = require("./availability-grid.service");
22
- const collisions_service_1 = require("./collisions.service");
22
+ const p2_1 = __importDefault(require('p2'));
23
+ const game_entities_1 = require('../../../game-entities');
24
+ const physics_world_entity_1 = require('../\uD83E\uDDCAentities/physics-world.entity');
25
+ const materials_service_1 = require('./materials.service');
26
+ const border_service_1 = require('./border.service');
27
+ const availability_grid_service_1 = require('./availability-grid.service');
28
+ const collisions_service_1 = require('./collisions.service');
23
29
  let PhysicsWorldService = class PhysicsWorldService {
24
- constructor(materialsService, borderService, availabilityGridService, sollisionsService, collisionsService) {
25
- this.materialsService = materialsService;
26
- this.borderService = borderService;
27
- this.availabilityGridService = availabilityGridService;
28
- this.sollisionsService = sollisionsService;
29
- this.collisionsService = collisionsService;
30
- }
31
- createPhysicsWorld(request) {
32
- let p2World = new p2_1.default.World({ gravity: [0, 0] });
33
- let { materials, materialDefinitions } = this.materialsService.createMaterials(p2World, request.borderProperties, request.materialDefinitions, request.materialContactDefinitions);
34
- let physicsWorld = new physics_world_entity_1.PhysicsWorldEntity(request.mapSize, request.modifyUpdateCycle, p2World, materials, materialDefinitions).attach(request.attachTo);
35
- physicsWorld.onDestroy
36
- .subscribe(() => {
37
- p2World.clear();
38
- if (request.modifyUpdateCycle) {
39
- game_entities_1.UpdateCycle.cleanUpdateModifier();
40
- }
41
- })
42
- .attach(physicsWorld);
43
- this.borderService.createBorders(physicsWorld.id, request.mapSize);
44
- this.collisionsService.registerPhysicsWorld(physicsWorld);
30
+ constructor(materialsService, borderService, availabilityGridService, sollisionsService, collisionsService) {
31
+ this.materialsService = materialsService;
32
+ this.borderService = borderService;
33
+ this.availabilityGridService = availabilityGridService;
34
+ this.sollisionsService = sollisionsService;
35
+ this.collisionsService = collisionsService;
36
+ }
37
+ createPhysicsWorld(request) {
38
+ const p2World = new p2_1.default.World({ gravity: [0, 0] });
39
+ const { materials, materialDefinitions } = this.materialsService.createMaterials(
40
+ p2World,
41
+ request.borderProperties,
42
+ request.materialDefinitions,
43
+ request.materialContactDefinitions
44
+ );
45
+ const physicsWorld = new physics_world_entity_1.PhysicsWorldEntity(
46
+ request.mapSize,
47
+ request.modifyUpdateCycle,
48
+ p2World,
49
+ materials,
50
+ materialDefinitions
51
+ ).attach(request.attachTo);
52
+ physicsWorld.onDestroy
53
+ .subscribe(() => {
54
+ p2World.clear();
45
55
  if (request.modifyUpdateCycle) {
46
- game_entities_1.UpdateCycle.registerUpdateModifier((time, delta) => this.step(physicsWorld, time, delta));
47
- }
48
- else {
49
- game_entities_1.UpdateCycle.beforeSceneUpdateAction
50
- .subscribe(({ time, delta }) => {
51
- this.step(physicsWorld, time, delta);
52
- })
53
- .attach(physicsWorld);
56
+ game_entities_1.UpdateCycle.cleanUpdateModifier();
54
57
  }
55
- return physicsWorld.id;
56
- }
57
- getMapSize(physicsWorldId) {
58
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
59
- return { dimentions: physicsWorld.mapSize, center: physicsWorld.mapSizeCenter };
58
+ })
59
+ .attach(physicsWorld);
60
+ this.borderService.createBorders(physicsWorld.id, request.mapSize);
61
+ this.collisionsService.registerPhysicsWorld(physicsWorld);
62
+ if (request.modifyUpdateCycle) {
63
+ game_entities_1.UpdateCycle.registerUpdateModifier((time, delta) => this.step(physicsWorld, time, delta));
64
+ } else {
65
+ game_entities_1.UpdateCycle.beforeSceneUpdateAction
66
+ .subscribe(({ time, delta }) => {
67
+ this.step(physicsWorld, time, delta);
68
+ })
69
+ .attach(physicsWorld);
60
70
  }
61
- addBody(physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding) {
62
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
63
- if (addInEmptySpace) {
64
- let changeVector = this.availabilityGridService.findClosestAvailableSpace(physicsWorld, body, physicsBodyGroup);
65
- if (changeVector) {
66
- body.position[0] += changeVector.x;
67
- body.position[1] += changeVector.y;
68
- physicsWorld.p2World.addBody(body);
69
- if (includeOnPathfinding) {
70
- this.availabilityGridService.onBodyAdded(physicsWorld, body, physicsBodyGroup);
71
- }
72
- return true;
73
- }
74
- else {
75
- return false;
76
- }
77
- }
78
- else {
79
- physicsWorld.p2World.addBody(body);
80
- return true;
71
+ return physicsWorld.id;
72
+ }
73
+ getMapSize(physicsWorldId) {
74
+ const physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
75
+ return {
76
+ dimentions: physicsWorld.mapSize,
77
+ center: physicsWorld.mapSizeCenter
78
+ };
79
+ }
80
+ addBody(physicsWorldId, body, addInEmptySpace, physicsBodyGroup, includeOnPathfinding) {
81
+ const physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
82
+ if (addInEmptySpace) {
83
+ const changeVector = this.availabilityGridService.findClosestAvailableSpace(physicsWorld, body, physicsBodyGroup);
84
+ if (changeVector) {
85
+ body.position[0] += changeVector.x;
86
+ body.position[1] += changeVector.y;
87
+ physicsWorld.p2World.addBody(body);
88
+ if (includeOnPathfinding) {
89
+ this.availabilityGridService.onBodyAdded(physicsWorld, body, physicsBodyGroup);
81
90
  }
91
+ return true;
92
+ } else {
93
+ return false;
94
+ }
95
+ } else {
96
+ physicsWorld.p2World.addBody(body);
97
+ return true;
82
98
  }
83
- removeBody(physicsWorldId, body) {
84
- physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId).p2World.removeBody(body);
85
- }
86
- subscribeToPhysicsStep(physicsWorldId, callback) {
87
- return physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId).onPhysicsStep.subscribe(callback);
88
- }
89
- step(physicsWorld, previousTime, delta) {
90
- physicsWorld.availabilityGridCache.clear();
91
- physicsWorld.vectorFieldCache.clear();
92
- physicsWorld.p2World.step(1, delta, 100);
93
- if (physicsWorld.modifyUpdateCycle) {
94
- delta = physicsWorld.p2World.time - physicsWorld.lastP2Time.value;
95
- }
96
- let time = previousTime + delta;
97
- this.sollisionsService.step(physicsWorld, time, delta);
98
- physicsWorld.onPhysicsStep.trigger({ time, delta });
99
- physicsWorld.lastP2Time.value = physicsWorld.p2World.time;
100
- return delta;
99
+ }
100
+ removeBody(physicsWorldId, body) {
101
+ physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId).p2World.removeBody(body);
102
+ }
103
+ subscribeToPhysicsStep(physicsWorldId, callback) {
104
+ return physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId).onPhysicsStep.subscribe(callback);
105
+ }
106
+ step(physicsWorld, previousTime, delta) {
107
+ physicsWorld.availabilityGridCache.clear();
108
+ physicsWorld.vectorFieldCache.clear();
109
+ physicsWorld.p2World.step(1, delta, 100);
110
+ if (physicsWorld.modifyUpdateCycle) {
111
+ delta = physicsWorld.p2World.time - physicsWorld.lastP2Time.value;
101
112
  }
113
+ const time = previousTime + delta;
114
+ this.sollisionsService.step(physicsWorld, time, delta);
115
+ physicsWorld.onPhysicsStep.trigger({ time, delta });
116
+ physicsWorld.lastP2Time.value = physicsWorld.p2World.time;
117
+ return delta;
118
+ }
102
119
  };
103
120
  exports.PhysicsWorldService = PhysicsWorldService;
104
- exports.PhysicsWorldService = PhysicsWorldService = __decorate([
121
+ exports.PhysicsWorldService = PhysicsWorldService = __decorate(
122
+ [
105
123
  (0, game_entities_1.ServiceDecorator)(),
106
- __metadata("design:paramtypes", [materials_service_1.MaterialsService,
107
- border_service_1.BorderService,
108
- availability_grid_service_1.AvailabilityGridService,
109
- collisions_service_1.CollisionsService,
110
- collisions_service_1.CollisionsService])
111
- ], PhysicsWorldService);
112
- //# sourceMappingURL=physics-world.service.js.map
124
+ __metadata('design:paramtypes', [
125
+ materials_service_1.MaterialsService,
126
+ border_service_1.BorderService,
127
+ availability_grid_service_1.AvailabilityGridService,
128
+ collisions_service_1.CollisionsService,
129
+ collisions_service_1.CollisionsService
130
+ ])
131
+ ],
132
+ PhysicsWorldService
133
+ );
134
+ //# sourceMappingURL=physics-world.service.js.map
@@ -3,7 +3,7 @@ import { RayCastHit } from '../⚜️gateways';
3
3
  import { PhysicsBodyGroup } from '../../libs/physics-body-groups';
4
4
  import { PhysicsWorldEntity } from '../🧊entities/physics-world.entity';
5
5
  export declare class RayCastingService {
6
- castClosest(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit | undefined;
7
- castAllFirstContacts(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit[];
8
- private convertP2RaycastResultToRaycastResult;
6
+ castClosest(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit | undefined;
7
+ castAllFirstContacts(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit[];
8
+ private convertP2RaycastResultToRaycastResult;
9
9
  }