bard-legends-framework 0.9.6 → 0.10.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 (241) 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.d.ts +4 -1
  21. package/dist/game-entities/entity/entity.js +5 -5
  22. package/dist/game-entities/entity/entity.spec.js +263 -293
  23. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  24. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  25. package/dist/game-entities/scene/scene.spec.js +219 -223
  26. package/dist/game-entities/service/service.js +0 -4
  27. package/dist/game-entities/service/service.spec.js +265 -237
  28. package/dist/game-entities/service/service.test.js +4 -2
  29. package/dist/game-entities/update-loop.d.ts +18 -18
  30. package/dist/game-entities/update-loop.js +46 -28
  31. package/dist/game-entities/view/view.spec.js +490 -506
  32. package/dist/game-entities/view/view.test.js +1 -1
  33. package/dist/lib/animator/animations.d.ts +13 -13
  34. package/dist/lib/animator/animations.js +43 -40
  35. package/dist/lib/animator/animator.d.ts +41 -41
  36. package/dist/lib/animator/animator.js +194 -197
  37. package/dist/lib/animator/animator.spec.js +699 -612
  38. package/dist/lib/animator/index.js +24 -19
  39. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  40. package/dist/lib/libraries/animator/animations.js +43 -40
  41. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  42. package/dist/lib/libraries/animator/animator.js +194 -197
  43. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  44. package/dist/lib/libraries/animator/index.js +24 -19
  45. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  46. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  47. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  48. package/dist/lib/path-finder/path-finder.js +19 -20
  49. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  50. package/dist/lib/services/keyboard/keyboard.js +39 -31
  51. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  52. package/dist/lib/services/mouse/mouse.service.js +65 -53
  53. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  54. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  55. package/dist/lib/update-loop.d.ts +10 -10
  56. package/dist/lib/update-loop.js +35 -27
  57. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  58. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  59. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  60. package/dist/physics/entitity-types/movable-entity.js +21 -22
  61. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  62. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  63. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  64. package/dist/physics/entitity-types/physics-entity.js +97 -88
  65. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  66. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  67. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  68. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  69. package/dist/physics/helpers/p2js.helper.js +21 -22
  70. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  71. package/dist/physics/helpers/shape-factory.js +99 -75
  72. package/dist/physics/libs/p2js.helper.js +1 -1
  73. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  74. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  75. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  76. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  77. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  78. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  79. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  80. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  81. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  82. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  83. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  84. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  85. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  86. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  87. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  88. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  89. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  90. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  91. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  92. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  93. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  94. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  95. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  96. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  97. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  98. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  99. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  100. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  101. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  102. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  103. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  104. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  105. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  106. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  107. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  108. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  109. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  110. package/dist/physics/physics-world.d.ts +50 -34
  111. package/dist/physics/physics-world.js +142 -133
  112. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  113. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  114. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  115. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  116. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  117. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  118. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  119. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  120. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  121. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  122. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  123. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  124. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  125. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  126. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  127. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  128. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  129. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  130. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  131. package/dist/physics/sub-elements/physics-collision.js +141 -121
  132. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  133. package/dist/physics/sub-elements/physics-materials.js +101 -100
  134. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  135. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  136. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  137. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  138. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  139. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  140. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  141. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  142. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  143. package/dist/pixi/display-object/components/filters.js +106 -81
  144. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  145. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  146. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  147. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  148. package/dist/pixi/display-object/container-attributes.js +1 -1
  149. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  150. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  151. package/dist/pixi/display-object/display-object.d.ts +17 -17
  152. package/dist/pixi/display-object/display-object.js +79 -75
  153. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  154. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  155. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  156. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  157. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  163. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  164. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  165. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  166. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  167. package/dist/pixi/display-object/filters.js +20 -4
  168. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  169. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  170. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  171. package/dist/pixi/display-object/objects/container.js +39 -30
  172. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  173. package/dist/pixi/display-object/objects/graphics.js +218 -202
  174. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  175. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  176. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  177. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  178. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  179. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  180. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  181. package/dist/pixi/display-object/objects/sprite.js +248 -233
  182. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  183. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  184. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  185. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  186. package/dist/pixi/display-object/objects/text.js +111 -102
  187. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  188. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  189. package/dist/pixi/game.d.ts +1 -1
  190. package/dist/pixi/game.js +2 -2
  191. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  192. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  193. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  194. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  196. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  197. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  198. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  199. package/dist/pixi/modules/CAMERA/index.js +3 -3
  200. package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +1 -1
  201. package/dist/services/keyboard/keyboard.d.ts +4 -4
  202. package/dist/services/keyboard/keyboard.js +39 -31
  203. package/dist/services/mouse/mouse.service.d.ts +8 -8
  204. package/dist/services/mouse/mouse.service.js +65 -53
  205. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  206. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  207. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  208. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  209. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  210. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  211. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  212. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  213. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  214. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  215. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  216. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  217. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  218. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  219. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  220. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  221. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  222. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  223. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  224. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  225. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  226. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  227. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  228. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  229. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  230. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  231. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  232. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  233. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  234. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  235. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  236. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  237. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  238. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  239. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  240. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  241. package/package.json +8 -13
@@ -1,36 +1,44 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.UpdateCycle = void 0;
4
- const actions_lib_1 = require("actions-lib");
5
- const decorate_actions_lib_1 = require("../game-entities/attachable/helpers/decorate-actions-lib");
3
+ const actions_lib_1 = require('actions-lib');
4
+ const decorate_actions_lib_1 = require('../game-entities/attachable/helpers/decorate-actions-lib');
6
5
  // TODO: figure out why first "update-loop.ts" is getting ignited, and remove decorate from here to index.ts
7
6
  decorate_actions_lib_1.ActionsLibDecorator.decorate();
8
7
  class UpdateCycle {
9
- static { this.hardResetAction = new actions_lib_1.Action(); }
10
- static { this.updateAction = new actions_lib_1.Action(); }
11
- static { this.time = 0; }
12
- static { this.destroyPhase = false; }
13
- static { this.endUpdateAction = new actions_lib_1.Action(); }
14
- static triggerUpdateTick(delta) {
15
- this.time += delta;
16
- UpdateCycle.updateAction.trigger({ time: this.time, delta });
17
- UpdateCycle.destroyPhase = true;
18
- UpdateCycle.endUpdateAction.trigger();
19
- UpdateCycle.destroyPhase = false;
20
- }
21
- static waitUntilDestroyPhase(callback) {
22
- if (UpdateCycle.destroyPhase) {
23
- callback();
24
- }
25
- else {
26
- UpdateCycle.endUpdateAction.waitUntilNextCallback(callback);
27
- }
8
+ static {
9
+ UpdateCycle.hardResetAction = new actions_lib_1.Action();
10
+ }
11
+ static {
12
+ UpdateCycle.updateAction = new actions_lib_1.Action();
13
+ }
14
+ static {
15
+ UpdateCycle.time = 0;
16
+ }
17
+ static {
18
+ UpdateCycle.destroyPhase = false;
19
+ }
20
+ static {
21
+ UpdateCycle.endUpdateAction = new actions_lib_1.Action();
22
+ }
23
+ static triggerUpdateTick(delta) {
24
+ UpdateCycle.time += delta;
25
+ UpdateCycle.updateAction.trigger({ time: UpdateCycle.time, delta });
26
+ UpdateCycle.destroyPhase = true;
27
+ UpdateCycle.endUpdateAction.trigger();
28
+ UpdateCycle.destroyPhase = false;
29
+ }
30
+ static waitUntilDestroyPhase(callback) {
31
+ if (UpdateCycle.destroyPhase) {
32
+ callback();
33
+ } else {
34
+ UpdateCycle.endUpdateAction.waitUntilNextCallback(callback);
28
35
  }
36
+ }
29
37
  }
30
38
  exports.UpdateCycle = UpdateCycle;
31
39
  UpdateCycle.hardResetAction
32
- .subscribe(() => {
40
+ .subscribe(() => {
33
41
  UpdateCycle['time'] = 0;
34
- })
35
- .skipAttachCheck();
36
- //# sourceMappingURL=update-loop.js.map
42
+ })
43
+ .skipAttachCheck();
44
+ //# sourceMappingURL=update-loop.js.map
@@ -4,10 +4,10 @@ import { PhysicsWorld } from '../physics-world';
4
4
  import { PhysicsBodyDTO, PhysicsEntityDefinition, CollisionReport } from '../interfaces';
5
5
  import { PhysicsEntity } from './physics-entity';
6
6
  export declare abstract class ImmovablePhysicsEntity extends PhysicsEntity {
7
- readonly position: Vector;
8
- readonly rotation: number;
9
- readonly onCollision: Action<CollisionReport[]>;
10
- constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
11
- destroy(): void;
12
- convertToDTO(): PhysicsBodyDTO;
7
+ readonly position: Vector;
8
+ readonly rotation: number;
9
+ readonly onCollision: Action<CollisionReport[]>;
10
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
11
+ destroy(): void;
12
+ convertToDTO(): PhysicsBodyDTO;
13
13
  }
@@ -1,28 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.ImmovablePhysicsEntity = void 0;
4
- const actions_lib_1 = require("actions-lib");
5
- const helpers_lib_1 = require("helpers-lib");
6
- const physics_entity_1 = require("./physics-entity");
7
- const p2js_helper_1 = require("../helpers/p2js.helper");
3
+ const actions_lib_1 = require('actions-lib');
4
+ const helpers_lib_1 = require('helpers-lib');
5
+ const physics_entity_1 = require('./physics-entity');
6
+ const p2js_helper_1 = require('../helpers/p2js.helper');
8
7
  class ImmovablePhysicsEntity extends physics_entity_1.PhysicsEntity {
9
- constructor(physicsWorld, physicsEntityDefinition) {
10
- super(physicsWorld, physicsEntityDefinition, 'static');
11
- this.onCollision = new actions_lib_1.Action();
12
- this.position = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.position);
13
- this.rotation = this.p2Body.angle;
14
- }
15
- destroy() { }
16
- convertToDTO() {
17
- return {
18
- entityId: this.id,
19
- entityClassName: this.constructor.name,
20
- position: this.position,
21
- rotation: this.rotation,
22
- velocity: helpers_lib_1.Vector.zero,
23
- rotationalSpeed: 0
24
- };
25
- }
8
+ constructor(physicsWorld, physicsEntityDefinition) {
9
+ super(physicsWorld, physicsEntityDefinition, 'static');
10
+ this.onCollision = new actions_lib_1.Action();
11
+ this.position = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.position);
12
+ this.rotation = this.p2Body.angle;
13
+ }
14
+ destroy() {}
15
+ convertToDTO() {
16
+ return {
17
+ entityId: this.id,
18
+ entityClassName: this.constructor.name,
19
+ position: this.position,
20
+ rotation: this.rotation,
21
+ velocity: helpers_lib_1.Vector.zero,
22
+ rotationalSpeed: 0
23
+ };
24
+ }
26
25
  }
27
26
  exports.ImmovablePhysicsEntity = ImmovablePhysicsEntity;
28
- //# sourceMappingURL=immovable-physics-entity.js.map
27
+ //# sourceMappingURL=immovable-physics-entity.js.map
@@ -2,10 +2,10 @@ import { Variable } from 'actions-lib';
2
2
  import { Vector } from 'helpers-lib';
3
3
  import { Entity } from '../../game-entities';
4
4
  export declare abstract class MovableEntity extends Entity {
5
- readonly position: Variable<Vector>;
6
- readonly rotation: Variable<number>;
7
- readonly velocity: Variable<Vector>;
8
- readonly rotationalSpeed: Variable<number>;
9
- constructor();
10
- private step;
5
+ readonly position: Variable<Vector>;
6
+ readonly rotation: Variable<number>;
7
+ readonly velocity: Variable<Vector>;
8
+ readonly rotationalSpeed: Variable<number>;
9
+ constructor();
10
+ private step;
11
11
  }
@@ -1,26 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.MovableEntity = void 0;
4
- const actions_lib_1 = require("actions-lib");
5
- const helpers_lib_1 = require("helpers-lib");
6
- const game_entities_1 = require("../../game-entities");
3
+ const actions_lib_1 = require('actions-lib');
4
+ const helpers_lib_1 = require('helpers-lib');
5
+ const game_entities_1 = require('../../game-entities');
7
6
  class MovableEntity extends game_entities_1.Entity {
8
- constructor() {
9
- super();
10
- this.position = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
11
- this.rotation = new actions_lib_1.Variable().set(0);
12
- this.velocity = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
13
- this.rotationalSpeed = new actions_lib_1.Variable().set(0);
14
- game_entities_1.UpdateCycle.beforeSceneUpdateAction
15
- .subscribe(({ time, delta }) => {
16
- this.step(time, delta);
17
- })
18
- .attach(this);
19
- }
20
- step(time, delta) {
21
- this.position.value = this.position.value.add(this.velocity.value.multiply(delta));
22
- this.rotation.value = this.rotation.value + this.rotationalSpeed.value * delta;
23
- }
7
+ constructor() {
8
+ super();
9
+ this.position = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
10
+ this.rotation = new actions_lib_1.Variable().set(0);
11
+ this.velocity = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
12
+ this.rotationalSpeed = new actions_lib_1.Variable().set(0);
13
+ game_entities_1.UpdateCycle.beforeSceneUpdateAction
14
+ .subscribe(({ time, delta }) => {
15
+ this.step(time, delta);
16
+ })
17
+ .attach(this);
18
+ }
19
+ step(time, delta) {
20
+ this.position.value = this.position.value.add(this.velocity.value.multiply(delta));
21
+ this.rotation.value = this.rotation.value + this.rotationalSpeed.value * delta;
22
+ }
24
23
  }
25
24
  exports.MovableEntity = MovableEntity;
26
- //# sourceMappingURL=movable-entity.js.map
25
+ //# sourceMappingURL=movable-entity.js.map
@@ -4,18 +4,18 @@ import { PhysicsWorld } from '../physics-world';
4
4
  import { PhysicsBodyDTO, PhysicsEntityDefinition, CollisionReport } from '../interfaces';
5
5
  import { PhysicsEntity } from './physics-entity';
6
6
  export declare abstract class MovablePhysicsEntity extends PhysicsEntity {
7
- readonly position: Variable<Vector>;
8
- readonly rotation: Variable<number>;
9
- readonly velocity: Variable<Vector>;
10
- readonly rotationalSpeed: Variable<number>;
11
- readonly onCollision: Action<CollisionReport[]>;
12
- private ignorePositionUpdate;
13
- private ignoreRotationUpdate;
14
- private ignoreVelocityUpdate;
15
- private ignoreRotationalSpeedUpdate;
16
- constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
17
- convertToDTO(): PhysicsBodyDTO;
18
- private step;
19
- private phsicsToLocalSync;
20
- private localToPhsicsSync;
7
+ readonly position: Variable<Vector>;
8
+ readonly rotation: Variable<number>;
9
+ readonly velocity: Variable<Vector>;
10
+ readonly rotationalSpeed: Variable<number>;
11
+ readonly onCollision: Action<CollisionReport[]>;
12
+ private ignorePositionUpdate;
13
+ private ignoreRotationUpdate;
14
+ private ignoreVelocityUpdate;
15
+ private ignoreRotationalSpeedUpdate;
16
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition);
17
+ convertToDTO(): PhysicsBodyDTO;
18
+ private step;
19
+ private phsicsToLocalSync;
20
+ private localToPhsicsSync;
21
21
  }
@@ -1,92 +1,87 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.MovablePhysicsEntity = void 0;
4
- const actions_lib_1 = require("actions-lib");
5
- const helpers_lib_1 = require("helpers-lib");
6
- const p2js_helper_1 = require("../helpers/p2js.helper");
7
- const physics_entity_1 = require("./physics-entity");
3
+ const actions_lib_1 = require('actions-lib');
4
+ const helpers_lib_1 = require('helpers-lib');
5
+ const p2js_helper_1 = require('../helpers/p2js.helper');
6
+ const physics_entity_1 = require('./physics-entity');
8
7
  class MovablePhysicsEntity extends physics_entity_1.PhysicsEntity {
9
- constructor(physicsWorld, physicsEntityDefinition) {
10
- super(physicsWorld, physicsEntityDefinition, 'dynamic');
11
- this.position = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
12
- this.rotation = new actions_lib_1.Variable().set(0);
13
- this.velocity = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
14
- this.rotationalSpeed = new actions_lib_1.Variable().set(0);
15
- this.onCollision = new actions_lib_1.Action();
16
- this.ignorePositionUpdate = false;
17
- this.ignoreRotationUpdate = false;
18
- this.ignoreVelocityUpdate = false;
19
- this.ignoreRotationalSpeedUpdate = false;
20
- this.phsicsToLocalSync();
21
- this.localToPhsicsSync();
22
- this.physicsWorld.onPhysicsStep.subscribe(({ time, delta }) => this.step(time, delta)).attach(this);
23
- }
24
- convertToDTO() {
25
- return {
26
- entityId: this.id,
27
- entityClassName: this.constructor.name,
28
- position: this.position.value,
29
- rotation: this.rotation.value,
30
- velocity: this.velocity.value,
31
- rotationalSpeed: this.rotationalSpeed.value
32
- };
33
- }
34
- step(time, delta) {
35
- this.ignorePositionUpdate = true;
36
- this.ignoreRotationUpdate = true;
37
- this.ignoreVelocityUpdate = true;
38
- this.ignoreRotationalSpeedUpdate = true;
39
- this.phsicsToLocalSync();
40
- }
41
- phsicsToLocalSync() {
42
- this.position.value = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.position);
43
- this.rotation.value = this.p2Body.angle;
44
- this.velocity.value = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.velocity);
45
- this.rotationalSpeed.value = this.p2Body.angularVelocity;
46
- }
47
- localToPhsicsSync() {
48
- this.position
49
- .subscribe(position => {
50
- if (this.ignorePositionUpdate) {
51
- this.ignorePositionUpdate = false;
52
- }
53
- else {
54
- this.p2Body.position = [position.x, position.y];
55
- }
56
- })
57
- .attach(this);
58
- this.rotation
59
- .subscribe(rotation => {
60
- if (this.ignoreRotationUpdate) {
61
- this.ignoreRotationUpdate = false;
62
- }
63
- else {
64
- this.p2Body.angle = rotation;
65
- }
66
- })
67
- .attach(this);
68
- this.velocity
69
- .subscribe(velocity => {
70
- if (this.ignoreVelocityUpdate) {
71
- this.ignoreVelocityUpdate = false;
72
- }
73
- else {
74
- this.p2Body.velocity = [velocity.x, velocity.y];
75
- }
76
- })
77
- .attach(this);
78
- this.rotationalSpeed
79
- .subscribe(rotationalSpeed => {
80
- if (this.ignoreRotationalSpeedUpdate) {
81
- this.ignoreRotationalSpeedUpdate = false;
82
- }
83
- else {
84
- let torque = (rotationalSpeed - this.p2Body.angularVelocity) / this.p2Body.invInertia;
85
- this.p2Body.angularForce = torque;
86
- }
87
- })
88
- .attach(this);
89
- }
8
+ constructor(physicsWorld, physicsEntityDefinition) {
9
+ super(physicsWorld, physicsEntityDefinition, 'dynamic');
10
+ this.position = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
11
+ this.rotation = new actions_lib_1.Variable().set(0);
12
+ this.velocity = new actions_lib_1.Variable().set(helpers_lib_1.Vector.zero);
13
+ this.rotationalSpeed = new actions_lib_1.Variable().set(0);
14
+ this.onCollision = new actions_lib_1.Action();
15
+ this.ignorePositionUpdate = false;
16
+ this.ignoreRotationUpdate = false;
17
+ this.ignoreVelocityUpdate = false;
18
+ this.ignoreRotationalSpeedUpdate = false;
19
+ this.phsicsToLocalSync();
20
+ this.localToPhsicsSync();
21
+ this.physicsWorld.onPhysicsStep.subscribe(({ time, delta }) => this.step(time, delta)).attach(this);
22
+ }
23
+ convertToDTO() {
24
+ return {
25
+ entityId: this.id,
26
+ entityClassName: this.constructor.name,
27
+ position: this.position.value,
28
+ rotation: this.rotation.value,
29
+ velocity: this.velocity.value,
30
+ rotationalSpeed: this.rotationalSpeed.value
31
+ };
32
+ }
33
+ step(time, delta) {
34
+ this.ignorePositionUpdate = true;
35
+ this.ignoreRotationUpdate = true;
36
+ this.ignoreVelocityUpdate = true;
37
+ this.ignoreRotationalSpeedUpdate = true;
38
+ this.phsicsToLocalSync();
39
+ }
40
+ phsicsToLocalSync() {
41
+ this.position.value = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.position);
42
+ this.rotation.value = this.p2Body.angle;
43
+ this.velocity.value = p2js_helper_1.P2JSHelper.arrayToVector(this.p2Body.velocity);
44
+ this.rotationalSpeed.value = this.p2Body.angularVelocity;
45
+ }
46
+ localToPhsicsSync() {
47
+ this.position
48
+ .subscribe(position => {
49
+ if (this.ignorePositionUpdate) {
50
+ this.ignorePositionUpdate = false;
51
+ } else {
52
+ this.p2Body.position = [position.x, position.y];
53
+ }
54
+ })
55
+ .attach(this);
56
+ this.rotation
57
+ .subscribe(rotation => {
58
+ if (this.ignoreRotationUpdate) {
59
+ this.ignoreRotationUpdate = false;
60
+ } else {
61
+ this.p2Body.angle = rotation;
62
+ }
63
+ })
64
+ .attach(this);
65
+ this.velocity
66
+ .subscribe(velocity => {
67
+ if (this.ignoreVelocityUpdate) {
68
+ this.ignoreVelocityUpdate = false;
69
+ } else {
70
+ this.p2Body.velocity = [velocity.x, velocity.y];
71
+ }
72
+ })
73
+ .attach(this);
74
+ this.rotationalSpeed
75
+ .subscribe(rotationalSpeed => {
76
+ if (this.ignoreRotationalSpeedUpdate) {
77
+ this.ignoreRotationalSpeedUpdate = false;
78
+ } else {
79
+ const torque = (rotationalSpeed - this.p2Body.angularVelocity) / this.p2Body.invInertia;
80
+ this.p2Body.angularForce = torque;
81
+ }
82
+ })
83
+ .attach(this);
84
+ }
90
85
  }
91
86
  exports.MovablePhysicsEntity = MovablePhysicsEntity;
92
- //# sourceMappingURL=movable-physics-entity.js.map
87
+ //# sourceMappingURL=movable-physics-entity.js.map
@@ -5,27 +5,27 @@ import { PhysicsBodyDTO, PhysicsEntityDefinition, CollisionReport } from '../int
5
5
  import { Entity } from '../../game-entities';
6
6
  import { PhysicsBodyGroup } from '../sub-elements/elements/physics-body-groups';
7
7
  export declare abstract class PhysicsEntity extends Entity {
8
- private static p2BodyIdToPhysicsBody;
9
- private static physicsEntities;
10
- static getFromP2BodyId(p2BodyId: number): PhysicsEntity | undefined;
11
- static getFromP2BodyIdOrFail(p2BodyId: number): PhysicsEntity;
12
- static getPhysicsInstanceOrFail(id: string): PhysicsEntity;
13
- static getPhysicsEntities(): PhysicsEntity[];
14
- readonly onCollision: Action<CollisionReport[]>;
15
- get area(): number;
16
- get mass(): number;
17
- get collisions(): ReadonlyArray<CollisionReport>;
18
- readonly physicsBodyGroup: PhysicsBodyGroup;
19
- readonly includeInPathfinding: boolean;
20
- protected readonly physicsWorld: PhysicsWorld;
21
- protected readonly p2Body: p2.Body;
22
- protected readonly type: 'dynamic' | 'static';
23
- protected physicsDestroy: () => void;
24
- private _area;
25
- private _mass;
26
- private _collisions;
27
- constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
28
- abstract convertToDTO(): PhysicsBodyDTO;
29
- destroy(): void;
30
- protected setCollisionReports(collisionReports: CollisionReport[]): void;
8
+ private static p2BodyIdToPhysicsBody;
9
+ private static physicsEntities;
10
+ static getFromP2BodyId(p2BodyId: number): PhysicsEntity | undefined;
11
+ static getFromP2BodyIdOrFail(p2BodyId: number): PhysicsEntity;
12
+ static getPhysicsInstanceOrFail(id: string): PhysicsEntity;
13
+ static getPhysicsEntities(): PhysicsEntity[];
14
+ readonly onCollision: Action<CollisionReport[]>;
15
+ get area(): number;
16
+ get mass(): number;
17
+ get collisions(): ReadonlyArray<CollisionReport>;
18
+ readonly physicsBodyGroup: PhysicsBodyGroup;
19
+ readonly includeInPathfinding: boolean;
20
+ protected readonly physicsWorld: PhysicsWorld;
21
+ protected readonly p2Body: p2.Body;
22
+ protected readonly type: 'dynamic' | 'static';
23
+ protected physicsDestroy: () => void;
24
+ private _area;
25
+ private _mass;
26
+ private _collisions;
27
+ constructor(physicsWorld: PhysicsWorld | string, physicsEntityDefinition: PhysicsEntityDefinition, type: 'dynamic' | 'static');
28
+ abstract convertToDTO(): PhysicsBodyDTO;
29
+ destroy(): void;
30
+ protected setCollisionReports(collisionReports: CollisionReport[]): void;
31
31
  }