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,106 +1,118 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
13
+ });
14
+ Object.defineProperty(exports, '__esModule', { value: true });
9
15
  exports.CollisionsService = void 0;
10
- const helpers_lib_1 = require("helpers-lib");
11
- const __gateways_1 = require("../\u269C\uFE0Fgateways");
12
- const game_entities_1 = require("../../../game-entities");
13
- const physics_entity_1 = require("../../entity-types/physics-entity");
14
- const p2js_helper_1 = require("../../libs/p2js.helper");
16
+ const helpers_lib_1 = require('helpers-lib');
17
+ const __gateways_1 = require('../\u269C\uFE0Fgateways');
18
+ const game_entities_1 = require('../../../game-entities');
19
+ const physics_entity_1 = require('../../entity-types/physics-entity');
20
+ const p2js_helper_1 = require('../../libs/p2js.helper');
15
21
  let CollisionsService = class CollisionsService {
16
- registerPhysicsWorld(physicsWorld) {
17
- physicsWorld.p2World.on('beginContact', (event) => {
18
- event.contactEquations.forEach(contactEquation => {
19
- this.registerContactEquation(physicsWorld, contactEquation);
20
- });
21
- });
22
- }
23
- step(physicsWorld, time, delta) {
24
- physics_entity_1.PhysicsEntity.getPhysicsEntities().forEach(entity => {
25
- entity['_collisions'] = [];
26
- });
27
- physicsWorld.p2World.narrowphase.contactEquations.forEach(contactEquation => {
28
- this.registerContactEquation(physicsWorld, contactEquation);
29
- });
30
- physicsWorld.bodiesInContactWith.forEach((item, bodyId) => {
31
- this.handleSpeedLimit(item.p2Body);
32
- item.entity['setCollisionReports'](physicsWorld.collisionReports.get(bodyId) || []);
33
- });
34
- physicsWorld.bodiesInContactWith.clear();
35
- physicsWorld.collisionReports.clear();
22
+ registerPhysicsWorld(physicsWorld) {
23
+ physicsWorld.p2World.on('beginContact', event => {
24
+ event.contactEquations.forEach(contactEquation => {
25
+ this.registerContactEquation(physicsWorld, contactEquation);
26
+ });
27
+ });
28
+ }
29
+ step(physicsWorld, time, delta) {
30
+ physics_entity_1.PhysicsEntity.getPhysicsEntities().forEach(entity => {
31
+ entity['_collisions'] = [];
32
+ });
33
+ physicsWorld.p2World.narrowphase.contactEquations.forEach(contactEquation => {
34
+ this.registerContactEquation(physicsWorld, contactEquation);
35
+ });
36
+ physicsWorld.bodiesInContactWith.forEach((item, bodyId) => {
37
+ this.handleSpeedLimit(item.p2Body);
38
+ item.entity['setCollisionReports'](physicsWorld.collisionReports.get(bodyId) || []);
39
+ });
40
+ physicsWorld.bodiesInContactWith.clear();
41
+ physicsWorld.collisionReports.clear();
42
+ }
43
+ handleSpeedLimit(body) {
44
+ let velocity = p2js_helper_1.P2JSHelper.arrayToVector(body.velocity);
45
+ if (velocity.length > __gateways_1.SPEED_LIMIT) {
46
+ velocity = velocity.normalize(__gateways_1.SPEED_LIMIT);
47
+ body.velocity = p2js_helper_1.P2JSHelper.vectorToArray(velocity);
36
48
  }
37
- handleSpeedLimit(body) {
38
- let velocity = p2js_helper_1.P2JSHelper.arrayToVector(body.velocity);
39
- if (velocity.length > __gateways_1.SPEED_LIMIT) {
40
- velocity = velocity.normalize(__gateways_1.SPEED_LIMIT);
41
- body.velocity = p2js_helper_1.P2JSHelper.vectorToArray(velocity);
42
- }
43
- body.angularVelocity = Math.min(Math.max(body.angularVelocity, -__gateways_1.ROTATIONAL_SPEED_LIMIT), __gateways_1.ROTATIONAL_SPEED_LIMIT);
49
+ body.angularVelocity = Math.min(
50
+ Math.max(body.angularVelocity, -__gateways_1.ROTATIONAL_SPEED_LIMIT),
51
+ __gateways_1.ROTATIONAL_SPEED_LIMIT
52
+ );
53
+ }
54
+ registerContactEquation(physicsWorld, contactEquation) {
55
+ const entityA = physics_entity_1.PhysicsEntity.getFromP2BodyId(contactEquation.bodyA.id);
56
+ const entityB = physics_entity_1.PhysicsEntity.getFromP2BodyId(contactEquation.bodyB.id);
57
+ if (entityA && entityB) {
58
+ physicsWorld.bodiesInContactWith.set(contactEquation.bodyA.id, {
59
+ p2Body: contactEquation.bodyA,
60
+ entity: entityA
61
+ });
62
+ physicsWorld.bodiesInContactWith.set(contactEquation.bodyB.id, {
63
+ p2Body: contactEquation.bodyB,
64
+ entity: entityB
65
+ });
66
+ const bodyACollisions = physicsWorld.collisionReports.get(contactEquation.bodyA.id) || [];
67
+ const bodyBCollisions = physicsWorld.collisionReports.get(contactEquation.bodyB.id) || [];
68
+ const { collisionDetailsA, collisionDetailsB } = this.getCollisionDetails(entityA, entityB, contactEquation);
69
+ bodyACollisions.push({
70
+ self: collisionDetailsA,
71
+ target: collisionDetailsB
72
+ });
73
+ bodyBCollisions.push({
74
+ self: collisionDetailsB,
75
+ target: collisionDetailsA
76
+ });
77
+ physicsWorld.collisionReports.set(contactEquation.bodyA.id, bodyACollisions);
78
+ physicsWorld.collisionReports.set(contactEquation.bodyB.id, bodyBCollisions);
79
+ } else {
80
+ console.warn('ContactEquationOrganiser: Entity not found for contact equation', contactEquation);
44
81
  }
45
- registerContactEquation(physicsWorld, contactEquation) {
46
- let entityA = physics_entity_1.PhysicsEntity.getFromP2BodyId(contactEquation.bodyA.id);
47
- let entityB = physics_entity_1.PhysicsEntity.getFromP2BodyId(contactEquation.bodyB.id);
48
- if (entityA && entityB) {
49
- physicsWorld.bodiesInContactWith.set(contactEquation.bodyA.id, { p2Body: contactEquation.bodyA, entity: entityA });
50
- physicsWorld.bodiesInContactWith.set(contactEquation.bodyB.id, { p2Body: contactEquation.bodyB, entity: entityB });
51
- let bodyACollisions = physicsWorld.collisionReports.get(contactEquation.bodyA.id) || [];
52
- let bodyBCollisions = physicsWorld.collisionReports.get(contactEquation.bodyB.id) || [];
53
- let { collisionDetailsA, collisionDetailsB } = this.getCollisionDetails(entityA, entityB, contactEquation);
54
- bodyACollisions.push({
55
- self: collisionDetailsA,
56
- target: collisionDetailsB
57
- });
58
- bodyBCollisions.push({
59
- self: collisionDetailsB,
60
- target: collisionDetailsA
61
- });
62
- physicsWorld.collisionReports.set(contactEquation.bodyA.id, bodyACollisions);
63
- physicsWorld.collisionReports.set(contactEquation.bodyB.id, bodyBCollisions);
64
- }
65
- else {
66
- console.warn('ContactEquationOrganiser: Entity not found for contact equation', contactEquation);
82
+ }
83
+ getCollisionDetails(entityA, entityB, contactEquation) {
84
+ const dtoA = entityA.convertToDTO();
85
+ const dtoB = entityB.convertToDTO();
86
+ const contactPointA = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.contactPointA);
87
+ const contactPointB = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.contactPointB);
88
+ const { normalA, normalB } = this.getNormals(contactEquation);
89
+ return {
90
+ collisionDetailsA: this.getCollisionDetail(dtoA, contactEquation.bodyA.mass, contactPointA, normalA, entityA.area),
91
+ collisionDetailsB: this.getCollisionDetail(dtoB, contactEquation.bodyB.mass, contactPointB, normalB, entityB.area)
92
+ };
93
+ }
94
+ getCollisionDetail(physicsBodyDTOSelf, massSelf, contactPointSelf, normalSelf, areaSelf) {
95
+ let positionRelativeToObject;
96
+ return {
97
+ body: physicsBodyDTOSelf,
98
+ getPositionReletiveToObject: () => {
99
+ if (!positionRelativeToObject) {
100
+ positionRelativeToObject = contactPointSelf.rotate(helpers_lib_1.Radian.toVector(-physicsBodyDTOSelf.rotation));
67
101
  }
68
- }
69
- getCollisionDetails(entityA, entityB, contactEquation) {
70
- let dtoA = entityA.convertToDTO();
71
- let dtoB = entityB.convertToDTO();
72
- let contactPointA = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.contactPointA);
73
- let contactPointB = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.contactPointB);
74
- let { normalA, normalB } = this.getNormals(contactEquation);
75
- return {
76
- collisionDetailsA: this.getCollisionDetail(dtoA, contactEquation.bodyA.mass, contactPointA, normalA, entityA.area),
77
- collisionDetailsB: this.getCollisionDetail(dtoB, contactEquation.bodyB.mass, contactPointB, normalB, entityB.area)
78
- };
79
- }
80
- getCollisionDetail(physicsBodyDTOSelf, massSelf, contactPointSelf, normalSelf, areaSelf) {
81
- let positionRelativeToObject;
82
- return {
83
- body: physicsBodyDTOSelf,
84
- getPositionReletiveToObject: () => {
85
- if (!positionRelativeToObject) {
86
- positionRelativeToObject = contactPointSelf.rotate(helpers_lib_1.Radian.toVector(-physicsBodyDTOSelf.rotation));
87
- }
88
- return positionRelativeToObject;
89
- },
90
- position: contactPointSelf,
91
- mass: massSelf,
92
- area: areaSelf,
93
- normal: normalSelf
94
- };
95
- }
96
- getNormals(contactEquation) {
97
- let contactEquationNormalA = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.normalA);
98
- let contactEquationNormalB = contactEquationNormalA.multiply(-1);
99
- return { normalA: contactEquationNormalA, normalB: contactEquationNormalB };
100
- }
102
+ return positionRelativeToObject;
103
+ },
104
+ position: contactPointSelf,
105
+ mass: massSelf,
106
+ area: areaSelf,
107
+ normal: normalSelf
108
+ };
109
+ }
110
+ getNormals(contactEquation) {
111
+ const contactEquationNormalA = p2js_helper_1.P2JSHelper.arrayToVector(contactEquation.normalA);
112
+ const contactEquationNormalB = contactEquationNormalA.multiply(-1);
113
+ return { normalA: contactEquationNormalA, normalB: contactEquationNormalB };
114
+ }
101
115
  };
102
116
  exports.CollisionsService = CollisionsService;
103
- exports.CollisionsService = CollisionsService = __decorate([
104
- (0, game_entities_1.ServiceDecorator)()
105
- ], CollisionsService);
106
- //# sourceMappingURL=collisions.service.js.map
117
+ exports.CollisionsService = CollisionsService = __decorate([(0, game_entities_1.ServiceDecorator)()], CollisionsService);
118
+ //# sourceMappingURL=collisions.service.js.map
@@ -5,10 +5,32 @@ import { PhysicsBodyGroup } from '../../libs/physics-body-groups';
5
5
  import { PathFinderService } from './path-finder.service';
6
6
  import { RayCast } from '../⚜️gateways';
7
7
  export declare class DebugVisualsService {
8
- private availabilityGridService;
9
- private pathFinderService;
10
- constructor(availabilityGridService: AvailabilityGridService, pathFinderService: PathFinderService);
11
- printPathfindingTestGrid(physicsWorldId: string, testLayerId: string, target: Vector | string, physicsBodyGroup: PhysicsBodyGroup, area: Rectangle, gridCellSize: number): void;
12
- createExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerId: string, rayCasts: RayCast[], explosionCenter: Vector, radius: number, duration?: number): void;
13
- createElipticExplosionDebugVisual(physicsWorld: PhysicsWorldEntity, testLayerId: string, rayCasts: RayCast[], explosionCenter: Vector, rotation: number, size: Vector, duration?: number): void;
8
+ private availabilityGridService;
9
+ private pathFinderService;
10
+ constructor(availabilityGridService: AvailabilityGridService, pathFinderService: PathFinderService);
11
+ printPathfindingTestGrid(
12
+ physicsWorldId: string,
13
+ testLayerId: string,
14
+ target: Vector | string,
15
+ physicsBodyGroup: PhysicsBodyGroup,
16
+ area: Rectangle,
17
+ gridCellSize: number
18
+ ): void;
19
+ createExplosionDebugVisual(
20
+ physicsWorld: PhysicsWorldEntity,
21
+ testLayerId: string,
22
+ rayCasts: RayCast[],
23
+ explosionCenter: Vector,
24
+ radius: number,
25
+ duration?: number
26
+ ): void;
27
+ createElipticExplosionDebugVisual(
28
+ physicsWorld: PhysicsWorldEntity,
29
+ testLayerId: string,
30
+ rayCasts: RayCast[],
31
+ explosionCenter: Vector,
32
+ rotation: number,
33
+ size: Vector,
34
+ duration?: number
35
+ ): void;
14
36
  }
@@ -1,95 +1,127 @@
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.DebugVisualsService = void 0;
13
- const helpers_lib_1 = require("helpers-lib");
14
- const game_entities_1 = require("../../../game-entities");
15
- const availability_grid_service_1 = require("./availability-grid.service");
16
- const physics_world_entity_1 = require("../\uD83E\uDDCAentities/physics-world.entity");
17
- const path_finder_service_1 = require("./path-finder.service");
18
- const position_to_grid_position_converter_1 = require("../../libs/position-to-grid-position-converter");
19
- const pixi_1 = require("../../../pixi");
20
- const utilities_1 = require("../../../utilities");
21
+ const helpers_lib_1 = require('helpers-lib');
22
+ const game_entities_1 = require('../../../game-entities');
23
+ const availability_grid_service_1 = require('./availability-grid.service');
24
+ const physics_world_entity_1 = require('../\uD83E\uDDCAentities/physics-world.entity');
25
+ const path_finder_service_1 = require('./path-finder.service');
26
+ const position_to_grid_position_converter_1 = require('../../libs/position-to-grid-position-converter');
27
+ const pixi_1 = require('../../../pixi');
28
+ const utilities_1 = require('../../../utilities');
21
29
  let DebugVisualsService = class DebugVisualsService {
22
- constructor(availabilityGridService, pathFinderService) {
23
- this.availabilityGridService = availabilityGridService;
24
- this.pathFinderService = pathFinderService;
25
- }
26
- printPathfindingTestGrid(physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize) {
27
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
28
- let availabilityGrid = this.availabilityGridService.getAvilabilityGrid(physicsWorld, gridCellSize, physicsBodyGroup);
29
- availabilityGrid
30
- .map((value, position) => ({
31
- position: position_to_grid_position_converter_1.PositionToGridPositionConverter.gridPositionToPosition(position, gridCellSize),
32
- availability: value
33
- }))
34
- .forEach(value => {
35
- if (value.position.isInsideRectangle(area)) {
36
- let direction = this.pathFinderService.findPathDirection(physicsWorldId, value.position, target, physicsBodyGroup);
37
- let graphics;
38
- if (direction === undefined) {
39
- graphics = pixi_1.Graphics.createRectangle(new helpers_lib_1.Vector(8, 8), 2, helpers_lib_1.ColorHelper.red)
40
- .parent(testLayerId)
41
- .setPosition(value.position)
42
- .attach(physicsWorldId);
43
- }
44
- else {
45
- graphics = pixi_1.Graphics.createArrow(25, value.availability ? helpers_lib_1.ColorHelper.green : helpers_lib_1.ColorHelper.red)
46
- .parent(testLayerId)
47
- .setPosition(value.position)
48
- .setRotation(direction)
49
- .attach(physicsWorldId);
50
- }
51
- let animator = new utilities_1.Animator(graphics, 'alpha', { duration: 1000, animation: new utilities_1.AnimationEaseIn() });
52
- animator.animate({ alpha: 0 }).then(() => {
53
- graphics.destroy();
54
- });
55
- }
56
- });
57
- }
58
- createExplosionDebugVisual(physicsWorld, testLayerId, rayCasts, explosionCenter, radius, duration = 300) {
59
- let lineContainer = pixi_1.Container.create().parent(testLayerId).setAlpha(0.5).attach(physicsWorld);
60
- pixi_1.Graphics.createCircle(radius, helpers_lib_1.ColorHelper.blue)
61
- .parent(lineContainer)
62
- .setPosition(explosionCenter)
63
- .setAlpha(0.5)
64
- .attach(physicsWorld);
65
- rayCasts.forEach(ray => {
66
- let color = ray.hits.length > 0 ? helpers_lib_1.ColorHelper.red : helpers_lib_1.ColorHelper.white;
67
- pixi_1.Graphics.createVector(explosionCenter, ray.line.to, color).parent(lineContainer).attach(physicsWorld);
68
- });
69
- new utilities_1.Animator(lineContainer, 'alpha', { duration, animation: new utilities_1.AnimationEaseIn() }).animate({ alpha: 0 }).then(() => {
70
- lineContainer.destroy();
71
- });
72
- }
73
- createElipticExplosionDebugVisual(physicsWorld, testLayerId, rayCasts, explosionCenter, rotation, size, duration = 300) {
74
- let lineContainer = pixi_1.Container.create().parent(testLayerId).setAlpha(0.5).attach(physicsWorld);
75
- pixi_1.Graphics.createElipse(size, helpers_lib_1.ColorHelper.blue)
76
- .parent(lineContainer)
77
- .setPosition(explosionCenter)
78
- .setRotation(rotation)
79
- .setAlpha(0.5)
80
- .attach(physicsWorld);
81
- rayCasts.forEach(ray => {
82
- let color = ray.hits.length > 0 ? helpers_lib_1.ColorHelper.red : helpers_lib_1.ColorHelper.white;
83
- pixi_1.Graphics.createVector(ray.line.from, ray.line.to, color).parent(lineContainer).attach(physicsWorld);
84
- });
85
- new utilities_1.Animator(lineContainer, 'alpha', { duration, animation: new utilities_1.AnimationEaseIn() }).animate({ alpha: 0 }).then(() => {
86
- lineContainer.destroy();
87
- });
88
- }
30
+ constructor(availabilityGridService, pathFinderService) {
31
+ this.availabilityGridService = availabilityGridService;
32
+ this.pathFinderService = pathFinderService;
33
+ }
34
+ printPathfindingTestGrid(physicsWorldId, testLayerId, target, physicsBodyGroup, area, gridCellSize) {
35
+ const physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
36
+ const availabilityGrid = this.availabilityGridService.getAvilabilityGrid(physicsWorld, gridCellSize, physicsBodyGroup);
37
+ availabilityGrid
38
+ .map((value, position) => ({
39
+ position: position_to_grid_position_converter_1.PositionToGridPositionConverter.gridPositionToPosition(
40
+ position,
41
+ gridCellSize
42
+ ),
43
+ availability: value
44
+ }))
45
+ .forEach(value => {
46
+ if (value.position.isInsideRectangle(area)) {
47
+ const direction = this.pathFinderService.findPathDirection(physicsWorldId, value.position, target, physicsBodyGroup);
48
+ let graphics;
49
+ if (direction === undefined) {
50
+ graphics = pixi_1.Graphics.createRectangle(new helpers_lib_1.Vector(8, 8), 2, helpers_lib_1.ColorHelper.red)
51
+ .parent(testLayerId)
52
+ .setPosition(value.position)
53
+ .attach(physicsWorldId);
54
+ } else {
55
+ graphics = pixi_1.Graphics.createArrow(
56
+ 25,
57
+ value.availability ? helpers_lib_1.ColorHelper.green : helpers_lib_1.ColorHelper.red
58
+ )
59
+ .parent(testLayerId)
60
+ .setPosition(value.position)
61
+ .setRotation(direction)
62
+ .attach(physicsWorldId);
63
+ }
64
+ const animator = new utilities_1.Animator(graphics, 'alpha', {
65
+ duration: 1000,
66
+ animation: new utilities_1.AnimationEaseIn()
67
+ });
68
+ animator.animate({ alpha: 0 }).then(() => {
69
+ graphics.destroy();
70
+ });
71
+ }
72
+ });
73
+ }
74
+ createExplosionDebugVisual(physicsWorld, testLayerId, rayCasts, explosionCenter, radius, duration = 300) {
75
+ const lineContainer = pixi_1.Container.create().parent(testLayerId).setAlpha(0.5).attach(physicsWorld);
76
+ pixi_1.Graphics.createCircle(radius, helpers_lib_1.ColorHelper.blue)
77
+ .parent(lineContainer)
78
+ .setPosition(explosionCenter)
79
+ .setAlpha(0.5)
80
+ .attach(physicsWorld);
81
+ rayCasts.forEach(ray => {
82
+ const color = ray.hits.length > 0 ? helpers_lib_1.ColorHelper.red : helpers_lib_1.ColorHelper.white;
83
+ pixi_1.Graphics.createVector(explosionCenter, ray.line.to, color).parent(lineContainer).attach(physicsWorld);
84
+ });
85
+ new utilities_1.Animator(lineContainer, 'alpha', {
86
+ duration,
87
+ animation: new utilities_1.AnimationEaseIn()
88
+ })
89
+ .animate({ alpha: 0 })
90
+ .then(() => {
91
+ lineContainer.destroy();
92
+ });
93
+ }
94
+ createElipticExplosionDebugVisual(physicsWorld, testLayerId, rayCasts, explosionCenter, rotation, size, duration = 300) {
95
+ const lineContainer = pixi_1.Container.create().parent(testLayerId).setAlpha(0.5).attach(physicsWorld);
96
+ pixi_1.Graphics.createElipse(size, helpers_lib_1.ColorHelper.blue)
97
+ .parent(lineContainer)
98
+ .setPosition(explosionCenter)
99
+ .setRotation(rotation)
100
+ .setAlpha(0.5)
101
+ .attach(physicsWorld);
102
+ rayCasts.forEach(ray => {
103
+ const color = ray.hits.length > 0 ? helpers_lib_1.ColorHelper.red : helpers_lib_1.ColorHelper.white;
104
+ pixi_1.Graphics.createVector(ray.line.from, ray.line.to, color).parent(lineContainer).attach(physicsWorld);
105
+ });
106
+ new utilities_1.Animator(lineContainer, 'alpha', {
107
+ duration,
108
+ animation: new utilities_1.AnimationEaseIn()
109
+ })
110
+ .animate({ alpha: 0 })
111
+ .then(() => {
112
+ lineContainer.destroy();
113
+ });
114
+ }
89
115
  };
90
116
  exports.DebugVisualsService = DebugVisualsService;
91
- exports.DebugVisualsService = DebugVisualsService = __decorate([
117
+ exports.DebugVisualsService = DebugVisualsService = __decorate(
118
+ [
92
119
  (0, game_entities_1.ServiceDecorator)(),
93
- __metadata("design:paramtypes", [availability_grid_service_1.AvailabilityGridService, path_finder_service_1.PathFinderService])
94
- ], DebugVisualsService);
95
- //# sourceMappingURL=debug-visuals.service.js.map
120
+ __metadata('design:paramtypes', [
121
+ availability_grid_service_1.AvailabilityGridService,
122
+ path_finder_service_1.PathFinderService
123
+ ])
124
+ ],
125
+ DebugVisualsService
126
+ );
127
+ //# sourceMappingURL=debug-visuals.service.js.map
@@ -4,11 +4,19 @@ import { ExplosionHit, PhysicsExplosionOptions } from '../⚜️gateways';
4
4
  import { RayCastingService } from './ray-casting.service';
5
5
  import { DebugVisualsService } from './debug-visuals.service';
6
6
  export declare class ElipticExplosionService {
7
- private rayCastingService;
8
- private debugVisualsService;
9
- constructor(rayCastingService: RayCastingService, debugVisualsService: DebugVisualsService);
10
- createElipticExplosion(physicsWorldId: string, explosionCenter: Vector, rotation: number, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
11
- private createRays;
12
- private getWidthOfLine;
13
- private applyForcesToBodies;
7
+ private rayCastingService;
8
+ private debugVisualsService;
9
+ constructor(rayCastingService: RayCastingService, debugVisualsService: DebugVisualsService);
10
+ createElipticExplosion(
11
+ physicsWorldId: string,
12
+ explosionCenter: Vector,
13
+ rotation: number,
14
+ size: Vector,
15
+ physicsBodyGroup: PhysicsBodyGroup,
16
+ severity: number,
17
+ options?: PhysicsExplosionOptions
18
+ ): ExplosionHit[];
19
+ private createRays;
20
+ private getWidthOfLine;
21
+ private applyForcesToBodies;
14
22
  }