bard-legends-framework 0.10.9 → 0.12.0

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 (288) hide show
  1. package/dist/actions-performance.test.d.ts +1 -0
  2. package/dist/actions-performance.test.js +83 -0
  3. package/dist/game-entities/controller/controller.d.ts +2 -3
  4. package/dist/game-entities/controller/controller.js +9 -8
  5. package/dist/game-entities/controller/controller.test.js +2 -2
  6. package/dist/game-entities/entity/entity.d.ts +11 -9
  7. package/dist/game-entities/entity/entity.js +20 -16
  8. package/dist/game-entities/entity/entity.test.js +116 -147
  9. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +6 -9
  10. package/dist/game-entities/entity/helpers/entity-store.helper.js +22 -57
  11. package/dist/game-entities/entity/helpers/entity-store.helper.test.d.ts +1 -0
  12. package/dist/game-entities/entity/helpers/entity-store.helper.test.js +136 -0
  13. package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +7 -7
  14. package/dist/game-entities/entity/helpers/entity-views.helper.js +28 -23
  15. package/dist/game-entities/entity/singleton-entity.d.ts +3 -3
  16. package/dist/game-entities/entity/singleton-entity.js +1 -1
  17. package/dist/game-entities/entity/singleton-entity.test.js +9 -31
  18. package/dist/game-entities/hard-reset.d.ts +5 -0
  19. package/dist/game-entities/hard-reset.js +14 -0
  20. package/dist/game-entities/index.d.ts +1 -3
  21. package/dist/game-entities/index.js +3 -7
  22. package/dist/game-entities/scene/scene.d.ts +15 -15
  23. package/dist/game-entities/scene/scene.js +61 -60
  24. package/dist/game-entities/scene/scene.test.js +97 -67
  25. package/dist/game-entities/service/service.d.ts +1 -4
  26. package/dist/game-entities/service/service.js +15 -14
  27. package/dist/game-entities/service/service.test.js +33 -38
  28. package/dist/game-entities/unit-test.helper.d.ts +5 -0
  29. package/dist/game-entities/unit-test.helper.js +14 -0
  30. package/dist/game-entities/update-cycle.d.ts +10 -9
  31. package/dist/game-entities/update-cycle.js +34 -23
  32. package/dist/game-entities/view/view.d.ts +10 -11
  33. package/dist/game-entities/view/view.js +17 -35
  34. package/dist/game-entities/view/view.test.js +73 -250
  35. package/dist/physics/entity-types/immovable-physics-entity.d.ts +2 -4
  36. package/dist/physics/entity-types/immovable-physics-entity.js +4 -6
  37. package/dist/physics/entity-types/movable-entity.d.ts +1 -1
  38. package/dist/physics/entity-types/movable-entity.js +6 -6
  39. package/dist/physics/entity-types/movable-physics-entity.d.ts +10 -11
  40. package/dist/physics/entity-types/movable-physics-entity.js +31 -32
  41. package/dist/physics/entity-types/physics-entity.d.ts +12 -15
  42. package/dist/physics/entity-types/physics-entity.js +30 -28
  43. package/dist/physics/interfaces.d.ts +6 -6
  44. package/dist/physics/interfaces.js +4 -4
  45. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +16 -16
  46. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +22 -22
  47. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +20 -20
  48. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +30 -30
  49. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +3 -3
  50. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +10 -10
  51. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +16 -16
  52. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +11 -11
  53. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +18 -18
  54. package/dist/physics/module//360/237/223/220services/collision/collisions.service.d.ts +5 -5
  55. package/dist/physics/module//360/237/223/220services/collision/collisions.service.js +17 -17
  56. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.d.ts +4 -4
  57. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.js +11 -11
  58. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.d.ts +2 -2
  59. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +4 -4
  60. package/dist/physics/module//360/237/223/220services/creation/border.service.d.ts +2 -2
  61. package/dist/physics/module//360/237/223/220services/creation/border.service.js +9 -9
  62. package/dist/physics/module//360/237/223/220services/creation/materials.service.d.ts +7 -7
  63. package/dist/physics/module//360/237/223/220services/creation/materials.service.js +17 -17
  64. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.d.ts +11 -11
  65. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +28 -27
  66. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.d.ts +4 -4
  67. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.js +13 -13
  68. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.d.ts +9 -9
  69. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +19 -19
  70. package/dist/physics/module//360/237/223/220services/impact/explosion.service.d.ts +9 -9
  71. package/dist/physics/module//360/237/223/220services/impact/explosion.service.js +20 -20
  72. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.d.ts +1 -1
  73. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.js +4 -4
  74. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.d.ts +2 -2
  75. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.js +3 -3
  76. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.d.ts +5 -5
  77. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +13 -13
  78. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.d.ts +4 -4
  79. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +13 -13
  80. package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +4 -4
  81. package/dist/physics/module//360/237/223/220services/query/physics-query.service.js +4 -4
  82. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.d.ts +1 -4
  83. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.js +7 -15
  84. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.d.ts +9 -9
  85. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +60 -49
  86. package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +1 -1
  87. package/dist/physics/module//360/237/247/212entities/border.entity.js +3 -3
  88. package/dist/physics/module//360/237/247/212entities/physics-world.entity.js +2 -2
  89. package/dist/pixi/components/display-object-array.d.ts +5 -5
  90. package/dist/pixi/components/display-object-array.js +14 -14
  91. package/dist/pixi/components/helpers/smooth-scroller.d.ts +7 -7
  92. package/dist/pixi/components/helpers/smooth-scroller.js +23 -23
  93. package/dist/pixi/components/helpers/smooth-scroller.test.js +14 -14
  94. package/dist/pixi/components/menu/menu-entity.d.ts +14 -0
  95. package/dist/pixi/components/menu/menu-entity.js +48 -0
  96. package/dist/pixi/components/menu/menu.ui.d.ts +23 -0
  97. package/dist/pixi/components/menu/menu.ui.js +97 -0
  98. package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +4 -3
  99. package/dist/pixi/components/mouse-wheel-listener.ui.js +15 -14
  100. package/dist/pixi/components/scroll-area.ui.d.ts +1 -1
  101. package/dist/pixi/components/scroll-area.ui.js +9 -9
  102. package/dist/pixi/components/scroll-mask.ui.d.ts +9 -8
  103. package/dist/pixi/components/scroll-mask.ui.js +25 -24
  104. package/dist/pixi/display-object/container-attributes.d.ts +24 -26
  105. package/dist/pixi/display-object/container-attributes.js +27 -28
  106. package/dist/pixi/display-object/container.d.ts +3 -6
  107. package/dist/pixi/display-object/container.js +2 -12
  108. package/dist/pixi/display-object/filters/base-filters/blur.filter.d.ts +9 -9
  109. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +25 -25
  110. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.d.ts +7 -7
  111. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +17 -17
  112. package/dist/pixi/display-object/filters/composite-filters/glow-filter.d.ts +6 -6
  113. package/dist/pixi/display-object/filters/composite-filters/glow-filter.js +10 -11
  114. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.d.ts +2 -2
  115. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.js +5 -5
  116. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.d.ts +5 -5
  117. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +8 -8
  118. package/dist/pixi/display-object/filters/templates/plane.template.d.ts +5 -5
  119. package/dist/pixi/display-object/filters/templates/plane.template.js +7 -7
  120. package/dist/pixi/display-object/filters.d.ts +7 -7
  121. package/dist/pixi/display-object/filters.js +34 -34
  122. package/dist/pixi/display-object/index.d.ts +1 -1
  123. package/dist/pixi/display-object/objects/graphics/graphics.d.ts +9 -9
  124. package/dist/pixi/display-object/objects/graphics/graphics.js +25 -25
  125. package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
  126. package/dist/pixi/display-object/objects/placeholder.js +7 -7
  127. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +9 -9
  128. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +29 -26
  129. package/dist/pixi/display-object/objects/sprite/sprite.d.ts +10 -9
  130. package/dist/pixi/display-object/objects/sprite/sprite.js +62 -53
  131. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +4 -3
  132. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +6 -6
  133. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +16 -16
  134. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +28 -28
  135. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +1 -1
  136. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +3 -3
  137. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +17 -17
  138. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +62 -62
  139. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +2 -2
  140. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +3 -3
  141. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +6 -6
  142. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +12 -12
  143. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +2 -2
  144. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +5 -5
  145. package/dist/pixi/display-object/objects/text/rich-text.d.ts +0 -1
  146. package/dist/pixi/display-object/objects/text/rich-text.js +0 -1
  147. package/dist/pixi/display-object/objects/text/text.d.ts +9 -10
  148. package/dist/pixi/display-object/objects/text/text.js +34 -35
  149. package/dist/pixi/game.d.ts +26 -17
  150. package/dist/pixi/game.js +53 -39
  151. package/dist/pixi/helpers/game-assets.d.ts +5 -5
  152. package/dist/pixi/helpers/game-assets.js +14 -11
  153. package/dist/pixi/helpers/position-conversion.helper.d.ts +4 -4
  154. package/dist/pixi/helpers/position-conversion.helper.js +3 -3
  155. package/dist/pixi/index.d.ts +3 -37
  156. package/dist/pixi/index.js +6 -22
  157. package/dist/pixi/modules/CAMERA/camera.d.ts +5 -4
  158. package/dist/pixi/modules/CAMERA/camera.js +9 -9
  159. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.d.ts +3 -2
  160. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.js +1 -1
  161. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.d.ts +3 -2
  162. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.js +5 -5
  163. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.d.ts +3 -3
  164. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.js +7 -7
  165. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +8 -8
  166. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.js +8 -8
  167. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.d.ts +2 -2
  168. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.js +12 -12
  169. package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +4 -4
  170. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +17 -16
  171. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +50 -49
  172. package/dist/pixi/pixi-definitions.d.ts +38 -0
  173. package/dist/pixi/pixi-definitions.js +37 -0
  174. package/dist/pixi/services/keyboard/keyboard.d.ts +6 -4
  175. package/dist/pixi/services/keyboard/keyboard.js +15 -13
  176. package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +12 -11
  177. package/dist/pixi/services/mouse/mouse-target-focus.service.js +31 -30
  178. package/dist/pixi/services/mouse/mouse.service.d.ts +16 -6
  179. package/dist/pixi/services/mouse/mouse.service.js +42 -22
  180. package/dist/utilities/animator/animating-content/fade-in-content.d.ts +18 -0
  181. package/dist/utilities/animator/animating-content/fade-in-content.js +37 -0
  182. package/dist/utilities/animator/animating-content/fade-in-content.test.d.ts +1 -0
  183. package/dist/utilities/animator/animating-content/fade-in-content.test.js +10 -0
  184. package/dist/utilities/animator/animating-content/slide-in-content.d.ts +37 -0
  185. package/dist/utilities/animator/animating-content/slide-in-content.js +99 -0
  186. package/dist/utilities/animator/animating-content/slide-in-content.test.d.ts +1 -0
  187. package/dist/utilities/animator/animating-content/slide-in-content.test.js +10 -0
  188. package/dist/utilities/animator/animations.d.ts +45 -0
  189. package/dist/utilities/animator/animations.js +92 -0
  190. package/dist/utilities/animator/animator/animator.d.ts +44 -0
  191. package/dist/utilities/animator/animator/animator.js +234 -0
  192. package/dist/utilities/animator/animator/animator.memory-leak.test.d.ts +1 -0
  193. package/dist/utilities/animator/animator/animator.memory-leak.test.js +73 -0
  194. package/dist/utilities/animator/animator/animator.performance.test.d.ts +1 -0
  195. package/dist/utilities/animator/animator/animator.performance.test.js +116 -0
  196. package/dist/utilities/animator/animator/animator.test.d.ts +1 -0
  197. package/dist/utilities/animator/animator/animator.test.js +1046 -0
  198. package/dist/utilities/animator/animator.d.ts +60 -0
  199. package/dist/utilities/animator/animator.js +322 -0
  200. package/dist/utilities/animator/animator.performance.test.d.ts +1 -0
  201. package/dist/utilities/animator/animator.performance.test.js +46 -0
  202. package/dist/utilities/animator/animator.test.d.ts +1 -0
  203. package/dist/utilities/animator/animator.test.js +928 -0
  204. package/dist/utilities/animator/animator2/animator.d.ts +42 -0
  205. package/dist/utilities/animator/animator2/animator.js +222 -0
  206. package/dist/utilities/animator/animator2/animator.memory-leak.test.d.ts +1 -0
  207. package/dist/utilities/animator/animator2/animator.memory-leak.test.js +73 -0
  208. package/dist/utilities/animator/animator2/animator.performance.test.d.ts +1 -0
  209. package/dist/utilities/animator/animator2/animator.performance.test.js +65 -0
  210. package/dist/utilities/animator/animator2/animator.test.d.ts +1 -0
  211. package/dist/utilities/animator/animator2/animator.test.js +1007 -0
  212. package/dist/utilities/animator/animator_old/animator.d.ts +60 -0
  213. package/dist/utilities/animator/animator_old/animator.js +337 -0
  214. package/dist/utilities/animator/animator_old/animator.performance.test.d.ts +1 -0
  215. package/dist/utilities/animator/animator_old/animator.performance.test.js +121 -0
  216. package/dist/utilities/animator/animator_old/animator.test.d.ts +1 -0
  217. package/dist/utilities/animator/animator_old/animator.test.js +996 -0
  218. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.d.ts +18 -0
  219. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.js +37 -0
  220. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.d.ts +1 -0
  221. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.js +10 -0
  222. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.d.ts +38 -0
  223. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.js +208 -0
  224. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.d.ts +1 -0
  225. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.js +439 -0
  226. package/dist/utilities/animator/content-animations/slide/slide-in-content.d.ts +41 -0
  227. package/dist/utilities/animator/content-animations/slide/slide-in-content.js +107 -0
  228. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.d.ts +1 -0
  229. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.js +10 -0
  230. package/dist/utilities/animator/content-animations/slide/slide-state-animation.d.ts +24 -0
  231. package/dist/utilities/animator/content-animations/slide/slide-state-animation.js +138 -0
  232. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.d.ts +1 -0
  233. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.js +307 -0
  234. package/dist/utilities/animator/content-animations/slide/state-animation.d.ts +37 -0
  235. package/dist/utilities/animator/content-animations/slide/state-animation.js +170 -0
  236. package/dist/utilities/animator/content-animations/slide/state-animation.test.d.ts +1 -0
  237. package/dist/utilities/animator/content-animations/slide/state-animation.test.js +340 -0
  238. package/dist/utilities/animator/index.d.ts +7 -0
  239. package/dist/utilities/animator/index.js +24 -0
  240. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.d.ts +18 -0
  241. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.js +37 -0
  242. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.d.ts +1 -0
  243. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.js +10 -0
  244. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.d.ts +32 -0
  245. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.js +168 -0
  246. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.d.ts +1 -0
  247. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.js +431 -0
  248. package/dist/utilities/animator/state-animation/slide/slide-in-content.d.ts +37 -0
  249. package/dist/utilities/animator/state-animation/slide/slide-in-content.js +100 -0
  250. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.d.ts +1 -0
  251. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.js +10 -0
  252. package/dist/utilities/animator/state-animation/slide/slide-state-animation.d.ts +24 -0
  253. package/dist/utilities/animator/state-animation/slide/slide-state-animation.js +130 -0
  254. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.d.ts +1 -0
  255. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.js +301 -0
  256. package/dist/utilities/animator/state-animation/slide-state-animation.d.ts +24 -0
  257. package/dist/utilities/animator/state-animation/slide-state-animation.js +130 -0
  258. package/dist/utilities/animator/state-animation/slide-state-animation.test.d.ts +1 -0
  259. package/dist/utilities/animator/state-animation/slide-state-animation.test.js +301 -0
  260. package/dist/utilities/animator/state-animation/state-animation.d.ts +33 -0
  261. package/dist/utilities/animator/state-animation/state-animation.js +146 -0
  262. package/dist/utilities/animator/state-animation/state-animation.test.d.ts +1 -0
  263. package/dist/utilities/animator/state-animation/state-animation.test.js +335 -0
  264. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.d.ts +32 -0
  265. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.js +168 -0
  266. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.d.ts +1 -0
  267. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +431 -0
  268. package/dist/utilities/data-structures/vector-set/vector-set.d.ts +7 -0
  269. package/dist/utilities/data-structures/vector-set/vector-set.js +26 -0
  270. package/dist/utilities/delta-time/delta-time.d.ts +3 -0
  271. package/dist/utilities/delta-time/delta-time.js +10 -0
  272. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +6 -0
  273. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +55 -0
  274. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.d.ts +1 -0
  275. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.test.js +100 -0
  276. package/dist/utilities/grid-algorithms/path-finder/path-finder.d.ts +8 -0
  277. package/dist/utilities/grid-algorithms/path-finder/path-finder.js +98 -0
  278. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.d.ts +1 -0
  279. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +155 -0
  280. package/dist/utilities/grid-algorithms/position-to-grid-position-converter.d.ts +6 -0
  281. package/dist/utilities/grid-algorithms/position-to-grid-position-converter.js +17 -0
  282. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +18 -0
  283. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +129 -0
  284. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.d.ts +1 -0
  285. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +254 -0
  286. package/dist/utilities/index.d.ts +6 -6
  287. package/dist/utilities/index.js +6 -6
  288. package/package.json +8 -6
@@ -2,8 +2,8 @@ import p2 from 'p2';
2
2
  import { PhysicsEntityDefinition } from '../../../interfaces';
3
3
  import { MaterialDefinition } from '../../⚜️gateways';
4
4
  export declare class ShapeCreationService {
5
- createBody(physicsWorldId: string, physicsEntityDefinition: PhysicsEntityDefinition, material: p2.Material, materialDefinition: MaterialDefinition, type: 'dynamic' | 'static'): p2.Body;
6
- private createCircleBody;
7
- private createPolygonBody;
8
- private createRectangleBody;
5
+ createBody(physicsWorldID: number, physicsEntityDefinition: PhysicsEntityDefinition, material: p2.Material, materialDefinition: MaterialDefinition, type: 'dynamic' | 'static'): p2.Body;
6
+ private _createCircleBody;
7
+ private _createPolygonBody;
8
+ private _createRectangleBody;
9
9
  }
@@ -15,23 +15,23 @@ const game_entities_1 = require("../../../../game-entities");
15
15
  const interfaces_1 = require("../../../interfaces");
16
16
  const physics_world_entity_1 = require("../../\uD83E\uDDCAentities/physics-world.entity");
17
17
  let ShapeCreationService = class ShapeCreationService {
18
- createBody(physicsWorldId, physicsEntityDefinition, material, materialDefinition, type) {
19
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
18
+ createBody(physicsWorldID, physicsEntityDefinition, material, materialDefinition, type) {
19
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
20
20
  if (!physicsWorld.physicsBodyGroupToP2Group.has(physicsEntityDefinition.shapeDefinition.group)) {
21
21
  throw new Error(`Physics body group "${physicsEntityDefinition.shapeDefinition.group}" not found`);
22
22
  }
23
23
  switch (physicsEntityDefinition.shapeDefinition.shapeType) {
24
- case interfaces_1.PhysicsShapeType.point:
25
- return this.createCircleBody(physicsWorld, undefined, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
26
- case interfaces_1.PhysicsShapeType.circle:
27
- return this.createCircleBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
28
- case interfaces_1.PhysicsShapeType.polygon:
29
- return this.createPolygonBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
30
- case interfaces_1.PhysicsShapeType.rectangle:
31
- return this.createRectangleBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
24
+ case interfaces_1.PhysicsShapeType.Point:
25
+ return this._createCircleBody(physicsWorld, undefined, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
26
+ case interfaces_1.PhysicsShapeType.Circle:
27
+ return this._createCircleBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
28
+ case interfaces_1.PhysicsShapeType.Polygon:
29
+ return this._createPolygonBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
30
+ case interfaces_1.PhysicsShapeType.Rectangle:
31
+ return this._createRectangleBody(physicsWorld, physicsEntityDefinition.shapeDefinition.shapeData, material, materialDefinition, physicsEntityDefinition.shapeDefinition.group, type);
32
32
  }
33
33
  }
34
- createCircleBody(physicsWorld, shapeData, material, materialDefinition, group, type) {
34
+ _createCircleBody(physicsWorld, shapeData, material, materialDefinition, group, type) {
35
35
  let shape = new p2_1.default.Circle({
36
36
  collisionGroup: physicsWorld.physicsBodyGroupToP2Group.get(group),
37
37
  collisionMask: physicsWorld.physicsBodyGroupToP2Mask.get(group),
@@ -47,7 +47,7 @@ let ShapeCreationService = class ShapeCreationService {
47
47
  p2Body.addShape(shape);
48
48
  return p2Body;
49
49
  }
50
- createPolygonBody(physicsWorld, polygonShapeData, material, materialDefinition, group, type) {
50
+ _createPolygonBody(physicsWorld, polygonShapeData, material, materialDefinition, group, type) {
51
51
  let collisionGroup = physicsWorld.physicsBodyGroupToP2Group.get(group);
52
52
  let collisionMask = physicsWorld.physicsBodyGroupToP2Mask.get(group);
53
53
  let shapes = polygonShapeData
@@ -71,7 +71,7 @@ let ShapeCreationService = class ShapeCreationService {
71
71
  p2Body.setDensity(materialDefinition.density);
72
72
  return p2Body;
73
73
  }
74
- createRectangleBody(physicsWorld, rectangleShapeData, material, materialDefinition, group, type) {
74
+ _createRectangleBody(physicsWorld, rectangleShapeData, material, materialDefinition, group, type) {
75
75
  let shape = new p2_1.default.Box({
76
76
  width: rectangleShapeData.x,
77
77
  height: rectangleShapeData.y,
@@ -6,13 +6,13 @@ import { TestVisualsService } from '../test-visuals/test-visuals.service';
6
6
  import { ImpactService } from './impact.service';
7
7
  import { RayCastHitConverterService } from './ray-cast-hit-converter';
8
8
  export declare class ElipticExplosionService {
9
- private rayCastingService;
10
- private testVisualsService;
11
- private rayCastHitConverterService;
12
- private impactService;
13
- constructor(rayCastingService: RayCastingService, testVisualsService: TestVisualsService, rayCastHitConverterService: RayCastHitConverterService, impactService: ImpactService);
14
- createElipticExplosion(physicsWorldId: string, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
15
- private createRays;
16
- private getWidthOfLine;
17
- private applyForcesToBodies;
9
+ private _rayCastingService;
10
+ private _testVisualsService;
11
+ private _rayCastHitConverterService;
12
+ private _impactService;
13
+ constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
14
+ createElipticExplosion(physicsWorldID: number, explosionCenter: Vector, rotation: Radian, size: Vector, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
15
+ private _createRays;
16
+ private _getWidthOfLine;
17
+ private _applyForcesToBodies;
18
18
  }
@@ -19,26 +19,26 @@ const impact_service_1 = require("./impact.service");
19
19
  const ray_cast_hit_converter_1 = require("./ray-cast-hit-converter");
20
20
  const MIN_GAP_BETWEEN_LINES = 15;
21
21
  let ElipticExplosionService = class ElipticExplosionService {
22
- constructor(rayCastingService, testVisualsService, rayCastHitConverterService, impactService) {
23
- this.rayCastingService = rayCastingService;
24
- this.testVisualsService = testVisualsService;
25
- this.rayCastHitConverterService = rayCastHitConverterService;
26
- this.impactService = impactService;
22
+ constructor(_rayCastingService, _testVisualsService, _rayCastHitConverterService, _impactService) {
23
+ this._rayCastingService = _rayCastingService;
24
+ this._testVisualsService = _testVisualsService;
25
+ this._rayCastHitConverterService = _rayCastHitConverterService;
26
+ this._impactService = _impactService;
27
27
  }
28
- createElipticExplosion(physicsWorldId, explosionCenter, rotation, size, physicsBodyGroup, severity, options) {
29
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
30
- let rayCasts = this.createRays(explosionCenter, rotation, size, physicsBodyGroup, options?.hitOnlyClosest === true, physicsWorld);
31
- let explosionHitWithP2Bodies = this.rayCastHitConverterService.toExplosionHits(rayCasts, false);
32
- this.applyForcesToBodies(explosionHitWithP2Bodies, severity);
33
- if (options?.testLayerId) {
34
- this.testVisualsService.createElipticExplosionDebugVisual(physicsWorld, options.testLayerId, rayCasts, explosionCenter, rotation, size, options.debugRayDuration);
28
+ createElipticExplosion(physicsWorldID, explosionCenter, rotation, size, physicsBodyGroup, severity, options) {
29
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
30
+ let rayCasts = this._createRays(explosionCenter, rotation, size, physicsBodyGroup, options?.hitOnlyClosest === true, physicsWorld);
31
+ let explosionHitWithP2Bodies = this._rayCastHitConverterService.toExplosionHits(rayCasts, false);
32
+ this._applyForcesToBodies(explosionHitWithP2Bodies, severity);
33
+ if (options?.testLayerID) {
34
+ this._testVisualsService.createElipticExplosionDebugVisual(physicsWorld, options.testLayerID, rayCasts, explosionCenter, rotation, size, options.debugRayDuration);
35
35
  }
36
36
  return explosionHitWithP2Bodies.map(explosionHitWithP2Body => {
37
37
  let { p2Body: _p2Body, ...explosionHit } = explosionHitWithP2Body;
38
38
  return explosionHit;
39
39
  });
40
40
  }
41
- createRays(explosionCenter, rotation, size, physicsBodyGroup, hitOnlyClosest, physicsWorld) {
41
+ _createRays(explosionCenter, rotation, size, physicsBodyGroup, hitOnlyClosest, physicsWorld) {
42
42
  let lines = [];
43
43
  let centerDirection = rotation.vector;
44
44
  let lineDirection = rotation.add(helpers_lib_1.Radian.get90).vector;
@@ -56,7 +56,7 @@ let ElipticExplosionService = class ElipticExplosionService {
56
56
  helpers_lib_1.ArrayHelper.createIntegerArray(lineCount).forEach(index => {
57
57
  let distanceFromCenter = gap * (index + 1);
58
58
  let distanceFromCenterVector = gapVector.multiplyNumber(index + 1);
59
- let vector = lineDirection.normalize(this.getWidthOfLine(width, heightSquared, distanceFromCenter));
59
+ let vector = lineDirection.normalize(this._getWidthOfLine(width, heightSquared, distanceFromCenter));
60
60
  let center1 = explosionCenter.add(distanceFromCenterVector);
61
61
  lines.push(new helpers_lib_1.Line(center1, center1.add(vector)));
62
62
  lines.push(new helpers_lib_1.Line(center1, center1.add(vector.multiplyNumber(-1))));
@@ -66,19 +66,19 @@ let ElipticExplosionService = class ElipticExplosionService {
66
66
  });
67
67
  return lines.map(line => {
68
68
  if (hitOnlyClosest) {
69
- let hit = this.rayCastingService.castClosest(physicsWorld, line, physicsBodyGroup);
69
+ let hit = this._rayCastingService.castClosest(physicsWorld, line, physicsBodyGroup);
70
70
  return { line, hits: hit ? [hit] : [] };
71
71
  }
72
72
  else {
73
- let hits = this.rayCastingService.castAllFirstContacts(physicsWorld, line, physicsBodyGroup);
73
+ let hits = this._rayCastingService.castAllFirstContacts(physicsWorld, line, physicsBodyGroup);
74
74
  return { line, hits };
75
75
  }
76
76
  });
77
77
  }
78
- getWidthOfLine(width, heightSquared, distanceFromCenter) {
78
+ _getWidthOfLine(width, heightSquared, distanceFromCenter) {
79
79
  return Math.sqrt(1 - Math.pow(distanceFromCenter, 2) / heightSquared) * width;
80
80
  }
81
- applyForcesToBodies(explosionHits, severity) {
81
+ _applyForcesToBodies(explosionHits, severity) {
82
82
  explosionHits.forEach(explosionHit => {
83
83
  explosionHit.raycastResults.forEach(rayCastResult => {
84
84
  let hitDirection;
@@ -91,7 +91,7 @@ let ElipticExplosionService = class ElipticExplosionService {
91
91
  hitDirection = rayCastResult.line.fromTo.multiplyNumber(-1);
92
92
  force = severity * (1 - rayCastResult.fraction) * 8;
93
93
  }
94
- this.impactService.applyImpulse(rayCastResult.body, rayCastResult.hitPosition(), hitDirection, force);
94
+ this._impactService.applyImpulse(rayCastResult.body, rayCastResult.hitPosition(), hitDirection, force);
95
95
  });
96
96
  });
97
97
  }
@@ -6,13 +6,13 @@ import { TestVisualsService } from '../test-visuals/test-visuals.service';
6
6
  import { ImpactService } from './impact.service';
7
7
  import { RayCastHitConverterService } from './ray-cast-hit-converter';
8
8
  export declare class ExplosionService {
9
- private rayCastingService;
10
- private testVisualsService;
11
- private rayCastHitConverterService;
12
- private impactService;
13
- constructor(rayCastingService: RayCastingService, testVisualsService: TestVisualsService, rayCastHitConverterService: RayCastHitConverterService, impactService: ImpactService);
14
- createExplosion(physicsWorldId: string, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
15
- private createRays;
16
- private applyForcesToBodies;
17
- private getTotalCountOfRays;
9
+ private _rayCastingService;
10
+ private _testVisualsService;
11
+ private _rayCastHitConverterService;
12
+ private _impactService;
13
+ constructor(_rayCastingService: RayCastingService, _testVisualsService: TestVisualsService, _rayCastHitConverterService: RayCastHitConverterService, _impactService: ImpactService);
14
+ createExplosion(physicsWorldID: number, explosionCenter: Vector, radius: number, physicsBodyGroup: PhysicsBodyGroup, severity: number, options?: PhysicsExplosionOptions): ExplosionHit[];
15
+ private _createRays;
16
+ private _applyForcesToBodies;
17
+ private _getTotalCountOfRays;
18
18
  }
@@ -19,24 +19,24 @@ const test_visuals_service_1 = require("../test-visuals/test-visuals.service");
19
19
  const impact_service_1 = require("./impact.service");
20
20
  const ray_cast_hit_converter_1 = require("./ray-cast-hit-converter");
21
21
  let ExplosionService = class ExplosionService {
22
- constructor(rayCastingService, testVisualsService, rayCastHitConverterService, impactService) {
23
- this.rayCastingService = rayCastingService;
24
- this.testVisualsService = testVisualsService;
25
- this.rayCastHitConverterService = rayCastHitConverterService;
26
- this.impactService = impactService;
22
+ constructor(_rayCastingService, _testVisualsService, _rayCastHitConverterService, _impactService) {
23
+ this._rayCastingService = _rayCastingService;
24
+ this._testVisualsService = _testVisualsService;
25
+ this._rayCastHitConverterService = _rayCastHitConverterService;
26
+ this._impactService = _impactService;
27
27
  }
28
- createExplosion(physicsWorldId, explosionCenter, radius, physicsBodyGroup, severity, options) {
29
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
30
- let totalCountOfRays = this.getTotalCountOfRays(radius);
31
- let rayCasts = this.createRays(explosionCenter, radius, physicsBodyGroup, totalCountOfRays, options?.hitOnlyClosest === true, physicsWorld);
32
- let explosionHits = this.rayCastHitConverterService.toExplosionHits(rayCasts);
33
- this.applyForcesToBodies(explosionCenter, radius, severity, totalCountOfRays, explosionHits);
34
- if (options?.testLayerId) {
35
- this.testVisualsService.createExplosionDebugVisual(physicsWorld, options.testLayerId, rayCasts, explosionCenter, radius, options.debugRayDuration);
28
+ createExplosion(physicsWorldID, explosionCenter, radius, physicsBodyGroup, severity, options) {
29
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
30
+ let totalCountOfRays = this._getTotalCountOfRays(radius);
31
+ let rayCasts = this._createRays(explosionCenter, radius, physicsBodyGroup, totalCountOfRays, options?.hitOnlyClosest === true, physicsWorld);
32
+ let explosionHits = this._rayCastHitConverterService.toExplosionHits(rayCasts);
33
+ this._applyForcesToBodies(explosionCenter, radius, severity, totalCountOfRays, explosionHits);
34
+ if (options?.testLayerID) {
35
+ this._testVisualsService.createExplosionDebugVisual(physicsWorld, options.testLayerID, rayCasts, explosionCenter, radius, options.debugRayDuration);
36
36
  }
37
37
  return explosionHits;
38
38
  }
39
- createRays(explosionCenter, radius, physicsBodyGroup, totalCountOfRays, hitOnlyClosest, physicsWorld) {
39
+ _createRays(explosionCenter, radius, physicsBodyGroup, totalCountOfRays, hitOnlyClosest, physicsWorld) {
40
40
  let radianPerLine = new helpers_lib_1.Radian(helpers_lib_1.PI_360 / totalCountOfRays);
41
41
  let directionVector = new helpers_lib_1.Vector(0, -radius);
42
42
  let rotationVector = radianPerLine.vector;
@@ -48,32 +48,32 @@ let ExplosionService = class ExplosionService {
48
48
  })
49
49
  .map(line => {
50
50
  if (hitOnlyClosest) {
51
- let hit = this.rayCastingService.castClosest(physicsWorld, line, physicsBodyGroup);
51
+ let hit = this._rayCastingService.castClosest(physicsWorld, line, physicsBodyGroup);
52
52
  return { line, hits: hit ? [hit] : [] };
53
53
  }
54
54
  else {
55
- let hits = this.rayCastingService.castAllFirstContacts(physicsWorld, line, physicsBodyGroup);
55
+ let hits = this._rayCastingService.castAllFirstContacts(physicsWorld, line, physicsBodyGroup);
56
56
  return { line, hits };
57
57
  }
58
58
  });
59
59
  }
60
- applyForcesToBodies(explosionCenter, radius, severity, totalCountOfRays, explosionHits) {
60
+ _applyForcesToBodies(explosionCenter, radius, severity, totalCountOfRays, explosionHits) {
61
61
  explosionHits.forEach(explosionHit => {
62
62
  if (explosionHit.isExternal) {
63
63
  explosionHit.raycastResults.forEach(rayCastResult => {
64
64
  let force = severity * (1 - rayCastResult.fraction);
65
- this.impactService.applyImpulse(rayCastResult.body, rayCastResult.hitPosition(), rayCastResult.line.fromTo, force);
65
+ this._impactService.applyImpulse(rayCastResult.body, rayCastResult.hitPosition(), rayCastResult.line.fromTo, force);
66
66
  });
67
67
  }
68
68
  else {
69
69
  let vectorToCenter = helpers_lib_1.Vector.fromTo(explosionCenter, p2js_helper_1.P2JSHelper.arrayToVector(explosionHit.p2Body.position));
70
70
  let fractionToCenter = vectorToCenter.length / radius;
71
71
  let force = (severity * totalCountOfRays * fractionToCenter) / 2;
72
- this.impactService.applyImpulse(explosionHit.p2Body, explosionHit.getHitPosition(), vectorToCenter, force);
72
+ this._impactService.applyImpulse(explosionHit.p2Body, explosionHit.getHitPosition(), vectorToCenter, force);
73
73
  }
74
74
  });
75
75
  }
76
- getTotalCountOfRays(radius) {
76
+ _getTotalCountOfRays(radius) {
77
77
  if (radius > 100) {
78
78
  return Math.floor(radius * 0.3);
79
79
  }
@@ -5,5 +5,5 @@ export interface ExplosionHitWithP2Body extends ExplosionHit {
5
5
  }
6
6
  export declare class RayCastHitConverterService {
7
7
  toExplosionHits(rayCasts: RayCast[], allRaysStartingFromSamePosition?: boolean): ExplosionHitWithP2Body[];
8
- private convertRayResultGroupToExplosionHit;
8
+ private _convertRayResultGroupToExplosionHit;
9
9
  }
@@ -42,14 +42,14 @@ let RayCastHitConverterService = class RayCastHitConverterService {
42
42
  }
43
43
  });
44
44
  });
45
- return [...bodyToHitResults.values()].map(rayResultGroupOfABody => this.convertRayResultGroupToExplosionHit(rayResultGroupOfABody, rayCasts.length));
45
+ return [...bodyToHitResults.values()].map(rayResultGroupOfABody => this._convertRayResultGroupToExplosionHit(rayResultGroupOfABody, rayCasts.length));
46
46
  }
47
- convertRayResultGroupToExplosionHit(rayResultGroupOfABody, totalCountOfRays) {
47
+ _convertRayResultGroupToExplosionHit(rayResultGroupOfABody, totalCountOfRays) {
48
48
  let ratioOfHits = rayResultGroupOfABody.hitCount / totalCountOfRays;
49
49
  let raycastResults = rayResultGroupOfABody.rayCastHits;
50
50
  if (rayResultGroupOfABody.isExternal) {
51
51
  return {
52
- body: physics_entity_1.PhysicsEntity.getFromP2BodyIdOrFail(rayResultGroupOfABody.closestRaycastHit.body.id).convertToDTO(),
52
+ body: physics_entity_1.PhysicsEntity.getFromP2BodyIDOrFail(rayResultGroupOfABody.closestRaycastHit.body.id).convertToDTO(),
53
53
  p2Body: rayResultGroupOfABody.closestRaycastHit.body,
54
54
  isExternal: true,
55
55
  normal: rayResultGroupOfABody.closestRaycastHit.normal,
@@ -63,7 +63,7 @@ let RayCastHitConverterService = class RayCastHitConverterService {
63
63
  else {
64
64
  let bodyPosition = p2js_helper_1.P2JSHelper.arrayToVector(rayResultGroupOfABody.closestRaycastHit.body.position);
65
65
  return {
66
- body: physics_entity_1.PhysicsEntity.getFromP2BodyIdOrFail(rayResultGroupOfABody.closestRaycastHit.body.id).convertToDTO(),
66
+ body: physics_entity_1.PhysicsEntity.getFromP2BodyIDOrFail(rayResultGroupOfABody.closestRaycastHit.body.id).convertToDTO(),
67
67
  p2Body: rayResultGroupOfABody.closestRaycastHit.body,
68
68
  isExternal: false,
69
69
  normal: helpers_lib_1.Vector.fromTo(bodyPosition, rayResultGroupOfABody.explosionCenter).normalize(),
@@ -3,8 +3,8 @@ import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
3
3
  import { PhysicsWorldEntity } from '../../🧊entities/physics-world.entity';
4
4
  import { PhysicsBodyGroupService } from '../collision/physics-body-group.service';
5
5
  export declare class AvailabilityGridCacheService {
6
- private physicsBodyGroupService;
7
- constructor(physicsBodyGroupService: PhysicsBodyGroupService);
6
+ private _physicsBodyGroupService;
7
+ constructor(_physicsBodyGroupService: PhysicsBodyGroupService);
8
8
  getCollidableGrids(physicsWorld: PhysicsWorldEntity, physicsBodyGroup: PhysicsBodyGroup): {
9
9
  grid: Grid<boolean>;
10
10
  cellSize: number;
@@ -13,14 +13,14 @@ exports.AvailabilityGridCacheService = void 0;
13
13
  const game_entities_1 = require("../../../../game-entities");
14
14
  const physics_body_group_service_1 = require("../collision/physics-body-group.service");
15
15
  let AvailabilityGridCacheService = class AvailabilityGridCacheService {
16
- constructor(physicsBodyGroupService) {
17
- this.physicsBodyGroupService = physicsBodyGroupService;
16
+ constructor(_physicsBodyGroupService) {
17
+ this._physicsBodyGroupService = _physicsBodyGroupService;
18
18
  }
19
19
  getCollidableGrids(physicsWorld, physicsBodyGroup) {
20
20
  let results = [];
21
21
  physicsWorld.availabilityGridCache.forEach((cellSizeMap, cellSize) => {
22
22
  cellSizeMap.forEach((grid, gridPhysicsBodyGroup) => {
23
- if (this.physicsBodyGroupService.canCollide(physicsWorld, gridPhysicsBodyGroup, physicsBodyGroup)) {
23
+ if (this._physicsBodyGroupService.canCollide(physicsWorld, gridPhysicsBodyGroup, physicsBodyGroup)) {
24
24
  results.push({ grid, cellSize });
25
25
  }
26
26
  });
@@ -5,12 +5,12 @@ import { PhysicsWorldEntity } from '../../🧊entities/physics-world.entity';
5
5
  import { PhysicsBodyGroupService } from '../collision/physics-body-group.service';
6
6
  import { AvailabilityGridCacheService } from './availability-grid-cache.service';
7
7
  export declare class AvailabilityGridService {
8
- private physicsBodyGroupService;
9
- private availabilityGridCacheService;
10
- constructor(physicsBodyGroupService: PhysicsBodyGroupService, availabilityGridCacheService: AvailabilityGridCacheService);
8
+ private _physicsBodyGroupService;
9
+ private _availabilityGridCacheService;
10
+ constructor(_physicsBodyGroupService: PhysicsBodyGroupService, _availabilityGridCacheService: AvailabilityGridCacheService);
11
11
  onBodyAdded(physicsWorld: PhysicsWorldEntity, body: p2.Body, physicsBodyGroup: PhysicsBodyGroup): void;
12
12
  findClosestAvailableSpace(physicsWorld: PhysicsWorldEntity, body: p2.Body, physicsBodyGroup: PhysicsBodyGroup, gridCellSize?: number): Vector | undefined;
13
13
  getAvilabilityGrid(physicsWorld: PhysicsWorldEntity, cellSize: number, physicsBodyGroup: PhysicsBodyGroup): Grid<boolean>;
14
- private createGrid;
15
- private getGridSpaceBoundingBox;
14
+ private _createGrid;
15
+ private _getGridSpaceBoundingBox;
16
16
  }
@@ -13,22 +13,22 @@ exports.AvailabilityGridService = void 0;
13
13
  const helpers_lib_1 = require("helpers-lib");
14
14
  const game_entities_1 = require("../../../../game-entities");
15
15
  const utilities_1 = require("../../../../utilities");
16
- const position_to_grid_position_converter_1 = require("../../../../utilities/libraries/grid-algorithms/position-to-grid-position-converter");
16
+ const position_to_grid_position_converter_1 = require("../../../../utilities/grid-algorithms/position-to-grid-position-converter");
17
17
  const physics_entity_1 = require("../../../entity-types/physics-entity");
18
18
  const p2js_helper_1 = require("../../../libs/p2js.helper");
19
19
  const physics_body_group_service_1 = require("../collision/physics-body-group.service");
20
20
  const availability_grid_cache_service_1 = require("./availability-grid-cache.service");
21
21
  const path_finder_service_1 = require("./path-finder.service");
22
22
  let AvailabilityGridService = class AvailabilityGridService {
23
- constructor(physicsBodyGroupService, availabilityGridCacheService) {
24
- this.physicsBodyGroupService = physicsBodyGroupService;
25
- this.availabilityGridCacheService = availabilityGridCacheService;
23
+ constructor(_physicsBodyGroupService, _availabilityGridCacheService) {
24
+ this._physicsBodyGroupService = _physicsBodyGroupService;
25
+ this._availabilityGridCacheService = _availabilityGridCacheService;
26
26
  }
27
27
  onBodyAdded(physicsWorld, body, physicsBodyGroup) {
28
28
  body.aabbNeedsUpdate = true;
29
29
  body.updateAABB();
30
30
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(body.aabb);
31
- this.availabilityGridCacheService.getCollidableGrids(physicsWorld, physicsBodyGroup).forEach(item => {
31
+ this._availabilityGridCacheService.getCollidableGrids(physicsWorld, physicsBodyGroup).forEach(item => {
32
32
  let gridSpaceBoundingBox = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(boundingBox, item.cellSize);
33
33
  item.grid.setArea(gridSpaceBoundingBox, false);
34
34
  });
@@ -40,29 +40,29 @@ let AvailabilityGridService = class AvailabilityGridService {
40
40
  return changeVector;
41
41
  }
42
42
  getAvilabilityGrid(physicsWorld, cellSize, physicsBodyGroup) {
43
- let grid = this.availabilityGridCacheService.get(physicsWorld, cellSize, physicsBodyGroup);
43
+ let grid = this._availabilityGridCacheService.get(physicsWorld, cellSize, physicsBodyGroup);
44
44
  if (!grid) {
45
- grid = this.createGrid(physicsWorld, cellSize, physicsBodyGroup);
46
- this.availabilityGridCacheService.set(physicsWorld, cellSize, physicsBodyGroup, grid);
45
+ grid = this._createGrid(physicsWorld, cellSize, physicsBodyGroup);
46
+ this._availabilityGridCacheService.set(physicsWorld, cellSize, physicsBodyGroup, grid);
47
47
  }
48
48
  return grid;
49
49
  }
50
- createGrid(physicsWorld, cellSize, physicsBodyGroup) {
50
+ _createGrid(physicsWorld, cellSize, physicsBodyGroup) {
51
51
  let grid = new helpers_lib_1.Grid({
52
52
  size: new helpers_lib_1.Vector(Math.floor(physicsWorld.mapSize.x / cellSize), Math.floor(physicsWorld.mapSize.y / cellSize)),
53
53
  defaultValue: true
54
54
  });
55
55
  physicsWorld.p2World.bodies.forEach(p2Body => {
56
- let physicsEntity = physics_entity_1.PhysicsEntity.getFromP2BodyIdOrFail(p2Body.id);
56
+ let physicsEntity = physics_entity_1.PhysicsEntity.getFromP2BodyIDOrFail(p2Body.id);
57
57
  if (physicsEntity.includeInPathfinding &&
58
- this.physicsBodyGroupService.canCollide(physicsWorld, physicsEntity.physicsBodyGroup, physicsBodyGroup)) {
59
- let gridSpaceBoundingBox = this.getGridSpaceBoundingBox(p2Body, cellSize);
58
+ this._physicsBodyGroupService.canCollide(physicsWorld, physicsEntity.physicsBodyGroup, physicsBodyGroup)) {
59
+ let gridSpaceBoundingBox = this._getGridSpaceBoundingBox(p2Body, cellSize);
60
60
  grid.setArea(gridSpaceBoundingBox, false);
61
61
  }
62
62
  });
63
63
  return grid;
64
64
  }
65
- getGridSpaceBoundingBox(p2Body, cellSize) {
65
+ _getGridSpaceBoundingBox(p2Body, cellSize) {
66
66
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(p2Body.aabb);
67
67
  return position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(boundingBox, cellSize);
68
68
  }
@@ -4,11 +4,11 @@ import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
4
4
  import { AvailabilityGridService } from './availability-grid.service';
5
5
  export declare const DEFAULT_GRID_CELL_SIZE = 50;
6
6
  export declare class PathFinderService {
7
- private physicsAvailabilityGrid;
8
- constructor(physicsAvailabilityGrid: AvailabilityGridService);
9
- findPathAStar(physicsWorldId: string, startingPosition: Vector, target: Vector | string, collidableWithGroup: PhysicsBodyGroup, options?: {
7
+ private _physicsAvailabilityGrid;
8
+ constructor(_physicsAvailabilityGrid: AvailabilityGridService);
9
+ findPathAStar(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, options?: {
10
10
  neighborType?: GridNeighborType;
11
11
  gridCellSize?: number;
12
12
  }): PathFinderResult;
13
- findPathDirection(physicsWorldId: string, startingPosition: Vector, target: Vector | string, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
13
+ findPathDirection(physicsWorldID: number, startingPosition: Vector, target: Vector | number, collidableWithGroup: PhysicsBodyGroup, gridCellSize?: number): Radian | undefined;
14
14
  }
@@ -13,30 +13,30 @@ exports.PathFinderService = exports.DEFAULT_GRID_CELL_SIZE = void 0;
13
13
  const helpers_lib_1 = require("helpers-lib");
14
14
  const game_entities_1 = require("../../../../game-entities");
15
15
  const utilities_1 = require("../../../../utilities");
16
- const position_to_grid_position_converter_1 = require("../../../../utilities/libraries/grid-algorithms/position-to-grid-position-converter");
16
+ const position_to_grid_position_converter_1 = require("../../../../utilities/grid-algorithms/position-to-grid-position-converter");
17
17
  const physics_entity_1 = require("../../../entity-types/physics-entity");
18
18
  const p2js_helper_1 = require("../../../libs/p2js.helper");
19
19
  const physics_world_entity_1 = require("../../\uD83E\uDDCAentities/physics-world.entity");
20
20
  const availability_grid_service_1 = require("./availability-grid.service");
21
21
  exports.DEFAULT_GRID_CELL_SIZE = 50;
22
22
  let PathFinderService = class PathFinderService {
23
- constructor(physicsAvailabilityGrid) {
24
- this.physicsAvailabilityGrid = physicsAvailabilityGrid;
23
+ constructor(_physicsAvailabilityGrid) {
24
+ this._physicsAvailabilityGrid = _physicsAvailabilityGrid;
25
25
  }
26
- findPathAStar(physicsWorldId, startingPosition, target, collidableWithGroup, options) {
26
+ findPathAStar(physicsWorldID, startingPosition, target, collidableWithGroup, options) {
27
27
  if (!options) {
28
28
  options = {};
29
29
  }
30
30
  if (options.neighborType === undefined) {
31
- options.neighborType = helpers_lib_1.GridNeighborType.ORTOGONAL;
31
+ options.neighborType = helpers_lib_1.GridNeighborType.Ortogonal;
32
32
  }
33
33
  if (options.gridCellSize === undefined) {
34
34
  options.gridCellSize = exports.DEFAULT_GRID_CELL_SIZE;
35
35
  }
36
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
36
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
37
37
  let targetPosition;
38
38
  let targetP2Body;
39
- if (helpers_lib_1.Comparator.isString(target)) {
39
+ if (helpers_lib_1.Comparator.isNumber(target)) {
40
40
  let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
41
41
  targetP2Body = targetEntity['p2Body'];
42
42
  targetPosition = p2js_helper_1.P2JSHelper.arrayToVector(targetP2Body.position);
@@ -46,7 +46,7 @@ let PathFinderService = class PathFinderService {
46
46
  }
47
47
  let startingGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(startingPosition, options.gridCellSize);
48
48
  let targetGridPosition = position_to_grid_position_converter_1.PositionToGridPositionConverter.positionToGridPosition(targetPosition, options.gridCellSize);
49
- let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, options.gridCellSize, collidableWithGroup);
49
+ let availabilityGrid = this._physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, options.gridCellSize, collidableWithGroup);
50
50
  if (targetP2Body) {
51
51
  let boundingBox = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetP2Body.aabb);
52
52
  let gridSpaceBoundingBox = position_to_grid_position_converter_1.PositionToGridPositionConverter.areaToGridArea(boundingBox, options.gridCellSize);
@@ -56,12 +56,12 @@ let PathFinderService = class PathFinderService {
56
56
  result.path = result.path.map(gridPosition => position_to_grid_position_converter_1.PositionToGridPositionConverter.gridPositionToPosition(gridPosition, options.gridCellSize));
57
57
  return result;
58
58
  }
59
- findPathDirection(physicsWorldId, startingPosition, target, collidableWithGroup, gridCellSize = exports.DEFAULT_GRID_CELL_SIZE) {
60
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
59
+ findPathDirection(physicsWorldID, startingPosition, target, collidableWithGroup, gridCellSize = exports.DEFAULT_GRID_CELL_SIZE) {
60
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
61
61
  let targetArea;
62
- if (helpers_lib_1.Comparator.isString(target)) {
62
+ if (helpers_lib_1.Comparator.isNumber(target)) {
63
63
  let targetEntity = physics_entity_1.PhysicsEntity.getPhysicsInstanceOrFail(target);
64
- targetArea = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetEntity['p2Body'].aabb);
64
+ targetArea = p2js_helper_1.P2JSHelper.aabbToBoundingBox(targetEntity.p2Body.aabb);
65
65
  }
66
66
  else {
67
67
  targetArea = new helpers_lib_1.Rectangle(target, target);
@@ -70,7 +70,7 @@ let PathFinderService = class PathFinderService {
70
70
  let cacheName = JSON.stringify({ targetGridArea, collidableWithGroup });
71
71
  let vectorField = physicsWorld.vectorFieldCache.get(cacheName);
72
72
  if (!vectorField) {
73
- let availabilityGrid = this.physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, gridCellSize, collidableWithGroup);
73
+ let availabilityGrid = this._physicsAvailabilityGrid.getAvilabilityGrid(physicsWorld, gridCellSize, collidableWithGroup);
74
74
  vectorField = new utilities_1.VectorFieldPathFinder(targetGridArea, availabilityGrid);
75
75
  physicsWorld.vectorFieldCache.set(cacheName, vectorField);
76
76
  }
@@ -1,9 +1,9 @@
1
- import { ActionListenerCallbackFunction, ActionSubscription } from 'actions-lib';
1
+ import { IAttachment, NotifierCallbackFunction } from 'actions-lib';
2
2
  import { MapSizeDTO } from '../../⚜️gateways';
3
3
  export declare class PhysicsQueryService {
4
- getMapSize(physicsWorldId: string): MapSizeDTO;
5
- subscribeToPhysicsStep(physicsWorldId: string, callback: ActionListenerCallbackFunction<{
4
+ getMapSize(physicsWorldID: number): MapSizeDTO;
5
+ subscribeToPhysicsStep(physicsWorldID: number, callback: NotifierCallbackFunction<{
6
6
  time: number;
7
7
  delta: number;
8
- }>): ActionSubscription;
8
+ }>): IAttachment;
9
9
  }
@@ -10,12 +10,12 @@ exports.PhysicsQueryService = void 0;
10
10
  const game_entities_1 = require("../../../../game-entities");
11
11
  const physics_world_entity_1 = require("../../\uD83E\uDDCAentities/physics-world.entity");
12
12
  let PhysicsQueryService = class PhysicsQueryService {
13
- getMapSize(physicsWorldId) {
14
- let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId);
13
+ getMapSize(physicsWorldID) {
14
+ let physicsWorld = physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID);
15
15
  return { dimentions: physicsWorld.mapSize, center: physicsWorld.mapSizeCenter };
16
16
  }
17
- subscribeToPhysicsStep(physicsWorldId, callback) {
18
- return physics_world_entity_1.PhysicsWorldEntity.getInstanceByIdOrFail(physicsWorldId).onPhysicsStep.subscribe(callback);
17
+ subscribeToPhysicsStep(physicsWorldID, callback) {
18
+ return physics_world_entity_1.PhysicsWorldEntity.getInstanceByIDOrFail(physicsWorldID).onPhysicsStep.subscribe(callback);
19
19
  }
20
20
  };
21
21
  exports.PhysicsQueryService = PhysicsQueryService;
@@ -2,11 +2,8 @@ import { Line } from 'helpers-lib';
2
2
  import { PhysicsBodyGroup } from '../../../libs/physics-body-groups';
3
3
  import { RayCastHit } from '../../⚜️gateways';
4
4
  import { PhysicsWorldEntity } from '../../🧊entities/physics-world.entity';
5
- import { PhysicsBodyGroupService } from '../collision/physics-body-group.service';
6
5
  export declare class RayCastingService {
7
- private physicsBodyGroupService;
8
- constructor(physicsBodyGroupService: PhysicsBodyGroupService);
9
6
  castClosest(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit | undefined;
10
7
  castAllFirstContacts(physicsWorld: PhysicsWorldEntity, line: Line, physicsBodyGroup: PhysicsBodyGroup): RayCastHit[];
11
- private convertP2RaycastResultToRaycastResult;
8
+ private _convertP2RaycastResultToRaycastResult;
12
9
  }