bard-legends-framework 0.9.5 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/dist/_interfaces/index.d.ts +2 -2
  2. package/dist/_interfaces/index.js +2 -3
  3. package/dist/game-entities/attachable/attachable.d.ts +6 -6
  4. package/dist/game-entities/attachable/attachable.js +28 -30
  5. package/dist/game-entities/attachable/attachable.spec.js +129 -128
  6. package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
  7. package/dist/game-entities/attachable/attachable.store.js +34 -32
  8. package/dist/game-entities/attachable/attachable.test.js +132 -131
  9. package/dist/game-entities/attachable/destroyable.d.ts +13 -13
  10. package/dist/game-entities/attachable/destroyable.js +64 -69
  11. package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
  12. package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
  13. package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
  14. package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
  15. package/dist/game-entities/attachable/interfaces.d.ts +6 -6
  16. package/dist/game-entities/attachable/interfaces.js +2 -3
  17. package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
  18. package/dist/game-entities/controller/controller.js +0 -1
  19. package/dist/game-entities/controller/controller.spec.js +128 -125
  20. package/dist/game-entities/entity/entity.spec.js +263 -293
  21. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  22. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  23. package/dist/game-entities/scene/scene.spec.js +219 -223
  24. package/dist/game-entities/service/service.js +0 -4
  25. package/dist/game-entities/service/service.spec.js +265 -237
  26. package/dist/game-entities/service/service.test.js +4 -2
  27. package/dist/game-entities/update-loop.d.ts +18 -18
  28. package/dist/game-entities/update-loop.js +46 -28
  29. package/dist/game-entities/view/view.js +1 -1
  30. package/dist/game-entities/view/view.spec.js +490 -506
  31. package/dist/game-entities/view/view.test.js +1 -1
  32. package/dist/lib/animator/animations.d.ts +13 -13
  33. package/dist/lib/animator/animations.js +43 -40
  34. package/dist/lib/animator/animator.d.ts +41 -41
  35. package/dist/lib/animator/animator.js +194 -197
  36. package/dist/lib/animator/animator.spec.js +699 -612
  37. package/dist/lib/animator/index.js +24 -19
  38. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  39. package/dist/lib/libraries/animator/animations.js +43 -40
  40. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  41. package/dist/lib/libraries/animator/animator.js +194 -197
  42. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  43. package/dist/lib/libraries/animator/index.js +24 -19
  44. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  45. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  46. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  47. package/dist/lib/path-finder/path-finder.js +19 -20
  48. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  49. package/dist/lib/services/keyboard/keyboard.js +39 -31
  50. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  51. package/dist/lib/services/mouse/mouse.service.js +65 -53
  52. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  53. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  54. package/dist/lib/update-loop.d.ts +10 -10
  55. package/dist/lib/update-loop.js +35 -27
  56. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  57. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  58. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  59. package/dist/physics/entitity-types/movable-entity.js +21 -22
  60. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  61. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  62. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  63. package/dist/physics/entitity-types/physics-entity.js +97 -88
  64. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  65. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  66. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  67. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  68. package/dist/physics/helpers/p2js.helper.js +21 -22
  69. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  70. package/dist/physics/helpers/shape-factory.js +99 -75
  71. package/dist/physics/libs/p2js.helper.js +1 -1
  72. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  73. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  74. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  75. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  76. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  77. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  78. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  79. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  80. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  81. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  82. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  83. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  84. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  85. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  86. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  87. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  88. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  89. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  90. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  91. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  92. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  93. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  94. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  95. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  96. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  97. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  98. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  99. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  100. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  101. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  102. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  103. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  104. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  105. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  106. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  107. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  108. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  109. package/dist/physics/physics-world.d.ts +50 -34
  110. package/dist/physics/physics-world.js +142 -133
  111. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  112. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  113. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  114. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  115. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  116. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  117. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  118. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  119. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  120. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  121. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  122. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  123. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  124. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  125. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  126. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  127. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  128. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  129. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  130. package/dist/physics/sub-elements/physics-collision.js +141 -121
  131. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  132. package/dist/physics/sub-elements/physics-materials.js +101 -100
  133. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  134. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  135. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  136. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  137. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  138. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  139. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  140. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  141. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  142. package/dist/pixi/display-object/components/filters.js +106 -81
  143. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  144. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  145. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  146. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  147. package/dist/pixi/display-object/container-attributes.js +1 -1
  148. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  149. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  150. package/dist/pixi/display-object/display-object.d.ts +17 -17
  151. package/dist/pixi/display-object/display-object.js +79 -75
  152. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  153. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  154. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  155. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  156. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  157. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  163. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  164. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  165. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  166. package/dist/pixi/display-object/filters.js +20 -4
  167. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  168. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  169. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  170. package/dist/pixi/display-object/objects/container.js +39 -30
  171. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  172. package/dist/pixi/display-object/objects/graphics.js +218 -202
  173. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  174. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  175. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  176. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  177. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  178. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  179. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  180. package/dist/pixi/display-object/objects/sprite.js +248 -233
  181. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  182. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  183. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  184. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  185. package/dist/pixi/display-object/objects/text.js +111 -102
  186. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  187. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  188. package/dist/pixi/game.d.ts +1 -1
  189. package/dist/pixi/game.js +2 -2
  190. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  191. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  192. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  193. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  194. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  196. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  197. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  198. package/dist/pixi/modules/CAMERA/index.js +3 -3
  199. package/dist/services/keyboard/keyboard.d.ts +4 -4
  200. package/dist/services/keyboard/keyboard.js +39 -31
  201. package/dist/services/mouse/mouse.service.d.ts +8 -8
  202. package/dist/services/mouse/mouse.service.js +65 -53
  203. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  204. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  205. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  206. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  207. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  208. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  209. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  210. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  211. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  212. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  213. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  214. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  215. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  216. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  217. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  218. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  219. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  220. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  221. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  222. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  223. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  224. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  225. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  226. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  227. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  228. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  229. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  230. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  231. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  232. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  233. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  234. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  235. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  236. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  237. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  238. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  239. package/package.json +6 -12
@@ -1,77 +1,172 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const helpers_lib_1 = require("helpers-lib");
5
- const mouse_position_helper_1 = require("./mouse-position.helper");
1
+ Object.defineProperty(exports, '__esModule', { value: true });
2
+ const vitest_1 = require('vitest');
3
+ const helpers_lib_1 = require('helpers-lib');
4
+ const mouse_position_helper_1 = require('./mouse-position.helper');
6
5
  const Center = new helpers_lib_1.Vector(600, 400);
7
6
  (0, vitest_1.describe)('Mouse Position Helper: ', () => {
8
- (0, vitest_1.describe)('includeScaleInScreenPosition', () => {
9
- (0, vitest_1.test)('canter position should always return the same regardless of scale', () => {
10
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 0.5, Center).toVec2()).toEqual({
11
- x: 600,
12
- y: 400
13
- });
14
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 1, Center).toVec2()).toEqual({
15
- x: 600,
16
- y: 400
17
- });
18
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 2, Center).toVec2()).toEqual({
19
- x: 600,
20
- y: 400
21
- });
22
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 3, Center).toVec2()).toEqual({
23
- x: 600,
24
- y: 400
25
- });
26
- });
27
- (0, vitest_1.test)('top left corner', () => {
28
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 0.5, Center).toVec2()).toEqual({
29
- x: -600,
30
- y: -400
31
- });
32
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 1, Center).toVec2()).toEqual({ x: 0, y: 0 });
33
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 2, Center).toVec2()).toEqual({ x: 300, y: 200 });
34
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(0, 0), 3, Center).toVec2()).toEqual({
35
- x: 400,
36
- y: 266.6666666666667
37
- });
38
- });
39
- (0, vitest_1.test)('bottom right corner', () => {
40
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(1200, 800), 0.5, Center).toVec2()).toEqual({
41
- x: 1800,
42
- y: 1200
43
- });
44
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 1, Center).toVec2()).toEqual({
45
- x: 600,
46
- y: 400
47
- });
48
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(600, 400), 2, Center).toVec2()).toEqual({
49
- x: 600,
50
- y: 400
51
- });
52
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(1200, 800), 3, Center).toVec2()).toEqual({
53
- x: 800,
54
- y: 533.3333333333333
55
- });
56
- });
57
- (0, vitest_1.test)('upper right direction', () => {
58
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 0.5, Center).toVec2()).toEqual({
59
- x: 1200,
60
- y: 0
61
- });
62
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 1, Center).toVec2()).toEqual({
63
- x: 900,
64
- y: 200
65
- });
66
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 2, Center).toVec2()).toEqual({
67
- x: 750,
68
- y: 300
69
- });
70
- (0, vitest_1.expect)(mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(new helpers_lib_1.Vector(900, 200), 3, Center).toVec2()).toEqual({
71
- x: 700,
72
- y: 333.33333333333337
73
- });
74
- });
7
+ (0, vitest_1.describe)('includeScaleInScreenPosition', () => {
8
+ (0, vitest_1.test)('canter position should always return the same regardless of scale', () => {
9
+ (0, vitest_1.expect)(
10
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
11
+ new helpers_lib_1.Vector(600, 400),
12
+ 0.5,
13
+ Center
14
+ ).toVec2()
15
+ ).toEqual({
16
+ x: 600,
17
+ y: 400
18
+ });
19
+ (0, vitest_1.expect)(
20
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
21
+ new helpers_lib_1.Vector(600, 400),
22
+ 1,
23
+ Center
24
+ ).toVec2()
25
+ ).toEqual({
26
+ x: 600,
27
+ y: 400
28
+ });
29
+ (0, vitest_1.expect)(
30
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
31
+ new helpers_lib_1.Vector(600, 400),
32
+ 2,
33
+ Center
34
+ ).toVec2()
35
+ ).toEqual({
36
+ x: 600,
37
+ y: 400
38
+ });
39
+ (0, vitest_1.expect)(
40
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
41
+ new helpers_lib_1.Vector(600, 400),
42
+ 3,
43
+ Center
44
+ ).toVec2()
45
+ ).toEqual({
46
+ x: 600,
47
+ y: 400
48
+ });
75
49
  });
50
+ (0, vitest_1.test)('top left corner', () => {
51
+ (0, vitest_1.expect)(
52
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
53
+ new helpers_lib_1.Vector(0, 0),
54
+ 0.5,
55
+ Center
56
+ ).toVec2()
57
+ ).toEqual({
58
+ x: -600,
59
+ y: -400
60
+ });
61
+ (0, vitest_1.expect)(
62
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
63
+ new helpers_lib_1.Vector(0, 0),
64
+ 1,
65
+ Center
66
+ ).toVec2()
67
+ ).toEqual({ x: 0, y: 0 });
68
+ (0, vitest_1.expect)(
69
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
70
+ new helpers_lib_1.Vector(0, 0),
71
+ 2,
72
+ Center
73
+ ).toVec2()
74
+ ).toEqual({ x: 300, y: 200 });
75
+ (0, vitest_1.expect)(
76
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
77
+ new helpers_lib_1.Vector(0, 0),
78
+ 3,
79
+ Center
80
+ ).toVec2()
81
+ ).toEqual({
82
+ x: 400,
83
+ y: 266.6666666666667
84
+ });
85
+ });
86
+ (0, vitest_1.test)('bottom right corner', () => {
87
+ (0, vitest_1.expect)(
88
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
89
+ new helpers_lib_1.Vector(1200, 800),
90
+ 0.5,
91
+ Center
92
+ ).toVec2()
93
+ ).toEqual({
94
+ x: 1800,
95
+ y: 1200
96
+ });
97
+ (0, vitest_1.expect)(
98
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
99
+ new helpers_lib_1.Vector(600, 400),
100
+ 1,
101
+ Center
102
+ ).toVec2()
103
+ ).toEqual({
104
+ x: 600,
105
+ y: 400
106
+ });
107
+ (0, vitest_1.expect)(
108
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
109
+ new helpers_lib_1.Vector(600, 400),
110
+ 2,
111
+ Center
112
+ ).toVec2()
113
+ ).toEqual({
114
+ x: 600,
115
+ y: 400
116
+ });
117
+ (0, vitest_1.expect)(
118
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
119
+ new helpers_lib_1.Vector(1200, 800),
120
+ 3,
121
+ Center
122
+ ).toVec2()
123
+ ).toEqual({
124
+ x: 800,
125
+ y: 533.3333333333333
126
+ });
127
+ });
128
+ (0, vitest_1.test)('upper right direction', () => {
129
+ (0, vitest_1.expect)(
130
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
131
+ new helpers_lib_1.Vector(900, 200),
132
+ 0.5,
133
+ Center
134
+ ).toVec2()
135
+ ).toEqual({
136
+ x: 1200,
137
+ y: 0
138
+ });
139
+ (0, vitest_1.expect)(
140
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
141
+ new helpers_lib_1.Vector(900, 200),
142
+ 1,
143
+ Center
144
+ ).toVec2()
145
+ ).toEqual({
146
+ x: 900,
147
+ y: 200
148
+ });
149
+ (0, vitest_1.expect)(
150
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
151
+ new helpers_lib_1.Vector(900, 200),
152
+ 2,
153
+ Center
154
+ ).toVec2()
155
+ ).toEqual({
156
+ x: 750,
157
+ y: 300
158
+ });
159
+ (0, vitest_1.expect)(
160
+ mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
161
+ new helpers_lib_1.Vector(900, 200),
162
+ 3,
163
+ Center
164
+ ).toVec2()
165
+ ).toEqual({
166
+ x: 700,
167
+ y: 333.33333333333337
168
+ });
169
+ });
170
+ });
76
171
  });
77
- //# sourceMappingURL=mouse-position.helper.test.js.map
172
+ //# sourceMappingURL=mouse-position.helper.test.js.map
@@ -2,19 +2,19 @@ import { Action } from 'actions-lib';
2
2
  import { Vector } from 'helpers-lib';
3
3
  import { MouseService } from './mouse.service';
4
4
  export declare class MouseTargetFocusService {
5
- private mouseService;
6
- onTargetFocus: Action<Vector>;
7
- get focusedInLastFrame(): boolean;
8
- get lastFocusedPosition(): Vector | undefined;
9
- private mouseStagePositionPrevious;
10
- private peakValueChange;
11
- private timePassFromLastTrigger;
12
- private triggerAfterCooldown;
13
- private _focusedInLastFrame;
14
- private _lastFocusedPosition;
15
- constructor(mouseService: MouseService);
16
- private update;
17
- private check;
18
- private iterateValues;
19
- private getPositionChange;
5
+ private mouseService;
6
+ onTargetFocus: Action<Vector>;
7
+ get focusedInLastFrame(): boolean;
8
+ get lastFocusedPosition(): Vector | undefined;
9
+ private mouseStagePositionPrevious;
10
+ private peakValueChange;
11
+ private timePassFromLastTrigger;
12
+ private triggerAfterCooldown;
13
+ private _focusedInLastFrame;
14
+ private _lastFocusedPosition;
15
+ constructor(mouseService: MouseService);
16
+ private update;
17
+ private check;
18
+ private iterateValues;
19
+ private getPositionChange;
20
20
  }
@@ -1,85 +1,88 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
13
+ });
14
+ var __metadata =
15
+ (this && this.__metadata) ||
16
+ ((k, v) => {
17
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
18
+ });
19
+ Object.defineProperty(exports, '__esModule', { value: true });
12
20
  exports.MouseTargetFocusService = void 0;
13
- const actions_lib_1 = require("actions-lib");
14
- const helpers_lib_1 = require("helpers-lib");
15
- const mouse_service_1 = require("./mouse.service");
16
- const service_1 = require("../../../game-entities/service/service");
17
- const update_cycle_1 = require("../../../game-entities/update-cycle");
21
+ const actions_lib_1 = require('actions-lib');
22
+ const helpers_lib_1 = require('helpers-lib');
23
+ const mouse_service_1 = require('./mouse.service');
24
+ const service_1 = require('../../../game-entities/service/service');
25
+ const update_cycle_1 = require('../../../game-entities/update-cycle');
18
26
  let MouseTargetFocusService = class MouseTargetFocusService {
19
- get focusedInLastFrame() {
20
- return this._focusedInLastFrame;
21
- }
22
- get lastFocusedPosition() {
23
- return this._lastFocusedPosition;
24
- }
25
- constructor(mouseService) {
26
- this.mouseService = mouseService;
27
- this.onTargetFocus = new actions_lib_1.Action();
28
- this.timePassFromLastTrigger = 0;
29
- this.triggerAfterCooldown = false;
30
- this._focusedInLastFrame = false;
31
- this._lastFocusedPosition = undefined;
32
- update_cycle_1.UpdateCycle.beforeSceneUpdateAction
33
- .subscribe((event) => this.update(event.delta))
34
- .skipAttachCheck();
35
- }
36
- update(delta) {
37
- if (this.mouseStagePositionPrevious) {
38
- let mousePositionChange = this.getPositionChange(this.mouseService.stagePosition.value, this.mouseStagePositionPrevious);
39
- if (this.peakValueChange === undefined) {
40
- this.peakValueChange = mousePositionChange;
41
- }
42
- else {
43
- this.check(mousePositionChange, delta);
44
- }
45
- }
46
- this.mouseStagePositionPrevious = this.mouseService.stagePosition.value;
27
+ get focusedInLastFrame() {
28
+ return this._focusedInLastFrame;
29
+ }
30
+ get lastFocusedPosition() {
31
+ return this._lastFocusedPosition;
32
+ }
33
+ constructor(mouseService) {
34
+ this.mouseService = mouseService;
35
+ this.onTargetFocus = new actions_lib_1.Action();
36
+ this.timePassFromLastTrigger = 0;
37
+ this.triggerAfterCooldown = false;
38
+ this._focusedInLastFrame = false;
39
+ this._lastFocusedPosition = undefined;
40
+ update_cycle_1.UpdateCycle.beforeSceneUpdateAction.subscribe(event => this.update(event.delta)).skipAttachCheck();
41
+ }
42
+ update(delta) {
43
+ if (this.mouseStagePositionPrevious) {
44
+ const mousePositionChange = this.getPositionChange(this.mouseService.stagePosition.value, this.mouseStagePositionPrevious);
45
+ if (this.peakValueChange === undefined) {
46
+ this.peakValueChange = mousePositionChange;
47
+ } else {
48
+ this.check(mousePositionChange, delta);
49
+ }
47
50
  }
48
- check(mousePositionChange, delta) {
49
- if (this.peakValueChange - mousePositionChange > 10) {
50
- this.timePassFromLastTrigger = Math.max(250, this.timePassFromLastTrigger);
51
- this.triggerAfterCooldown = true;
52
- }
53
- else if (this.timePassFromLastTrigger > 1000) {
54
- this.triggerAfterCooldown = true;
55
- }
56
- let focusHappened = this.timePassFromLastTrigger >= 300 && this.triggerAfterCooldown;
57
- this.iterateValues(focusHappened, mousePositionChange, delta);
51
+ this.mouseStagePositionPrevious = this.mouseService.stagePosition.value;
52
+ }
53
+ check(mousePositionChange, delta) {
54
+ if (this.peakValueChange - mousePositionChange > 10) {
55
+ this.timePassFromLastTrigger = Math.max(250, this.timePassFromLastTrigger);
56
+ this.triggerAfterCooldown = true;
57
+ } else if (this.timePassFromLastTrigger > 1000) {
58
+ this.triggerAfterCooldown = true;
58
59
  }
59
- iterateValues(focusHappened, mousePositionChange, delta) {
60
- if (focusHappened || mousePositionChange > this.peakValueChange) {
61
- this.peakValueChange = mousePositionChange;
62
- }
63
- if (focusHappened) {
64
- this.triggerAfterCooldown = false;
65
- this.timePassFromLastTrigger = 0;
66
- this._focusedInLastFrame = true;
67
- this._lastFocusedPosition = this.mouseService.stagePosition.value;
68
- this.onTargetFocus.trigger(this._lastFocusedPosition);
69
- }
70
- else {
71
- this.timePassFromLastTrigger += delta;
72
- this._focusedInLastFrame = false;
73
- }
60
+ const focusHappened = this.timePassFromLastTrigger >= 300 && this.triggerAfterCooldown;
61
+ this.iterateValues(focusHappened, mousePositionChange, delta);
62
+ }
63
+ iterateValues(focusHappened, mousePositionChange, delta) {
64
+ if (focusHappened || mousePositionChange > this.peakValueChange) {
65
+ this.peakValueChange = mousePositionChange;
74
66
  }
75
- getPositionChange(positionA, positionB) {
76
- let changeVector = helpers_lib_1.Vector.fromTo(positionA, positionB);
77
- return Math.abs(changeVector.x) + Math.abs(changeVector.y);
67
+ if (focusHappened) {
68
+ this.triggerAfterCooldown = false;
69
+ this.timePassFromLastTrigger = 0;
70
+ this._focusedInLastFrame = true;
71
+ this._lastFocusedPosition = this.mouseService.stagePosition.value;
72
+ this.onTargetFocus.trigger(this._lastFocusedPosition);
73
+ } else {
74
+ this.timePassFromLastTrigger += delta;
75
+ this._focusedInLastFrame = false;
78
76
  }
77
+ }
78
+ getPositionChange(positionA, positionB) {
79
+ const changeVector = helpers_lib_1.Vector.fromTo(positionA, positionB);
80
+ return Math.abs(changeVector.x) + Math.abs(changeVector.y);
81
+ }
79
82
  };
80
83
  exports.MouseTargetFocusService = MouseTargetFocusService;
81
- exports.MouseTargetFocusService = MouseTargetFocusService = __decorate([
82
- (0, service_1.ServiceDecorator)(),
83
- __metadata("design:paramtypes", [mouse_service_1.MouseService])
84
- ], MouseTargetFocusService);
85
- //# sourceMappingURL=mouse-target-focus.service.js.map
84
+ exports.MouseTargetFocusService = MouseTargetFocusService = __decorate(
85
+ [(0, service_1.ServiceDecorator)(), __metadata('design:paramtypes', [mouse_service_1.MouseService])],
86
+ MouseTargetFocusService
87
+ );
88
+ //# sourceMappingURL=mouse-target-focus.service.js.map
@@ -1,13 +1,13 @@
1
1
  import { Variable } from 'actions-lib';
2
2
  import { Vector } from 'helpers-lib';
3
3
  export declare class MouseService {
4
- readonly stagePosition: Variable<Vector>;
5
- readonly screenPosition: Variable<Vector>;
6
- readonly mainButtonState: Variable<boolean>;
7
- readonly secondaryButtonState: Variable<boolean>;
8
- private converterFunction;
9
- constructor();
10
- setScreenMousePositionToStagePositionFunction(converterFunction: (mouseScreenPosition: Vector) => Vector): void;
11
- resetScreenMousePositionToStagePositionFunction(): void;
12
- private startListeningMouseMove;
4
+ readonly stagePosition: Variable<Vector>;
5
+ readonly screenPosition: Variable<Vector>;
6
+ readonly mainButtonState: Variable<boolean>;
7
+ readonly secondaryButtonState: Variable<boolean>;
8
+ private converterFunction;
9
+ constructor();
10
+ setScreenMousePositionToStagePositionFunction(converterFunction: (mouseScreenPosition: Vector) => Vector): void;
11
+ resetScreenMousePositionToStagePositionFunction(): void;
12
+ private startListeningMouseMove;
13
13
  }
@@ -1,77 +1,91 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
13
+ });
14
+ var __metadata =
15
+ (this && this.__metadata) ||
16
+ ((k, v) => {
17
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
18
+ });
19
+ Object.defineProperty(exports, '__esModule', { value: true });
12
20
  exports.MouseService = void 0;
13
- const actions_lib_1 = require("actions-lib");
14
- const helpers_lib_1 = require("helpers-lib");
15
- const service_1 = require("../../../game-entities/service/service");
16
- const update_cycle_1 = require("../../../game-entities/update-cycle");
17
- const pixi_1 = require("../../../pixi");
18
- const mouse_position_helper_1 = require("./helpers/mouse-position.helper");
21
+ const actions_lib_1 = require('actions-lib');
22
+ const helpers_lib_1 = require('helpers-lib');
23
+ const service_1 = require('../../../game-entities/service/service');
24
+ const update_cycle_1 = require('../../../game-entities/update-cycle');
25
+ const pixi_1 = require('../../../pixi');
26
+ const mouse_position_helper_1 = require('./helpers/mouse-position.helper');
19
27
  let MouseService = class MouseService {
20
- constructor() {
21
- this.stagePosition = new actions_lib_1.Variable({ notifyOnChange: true }).set(helpers_lib_1.Vector.zero);
22
- this.screenPosition = new actions_lib_1.Variable({ notifyOnChange: true }).set(helpers_lib_1.Vector.zero);
23
- this.mainButtonState = new actions_lib_1.Variable().set(false);
24
- this.secondaryButtonState = new actions_lib_1.Variable().set(false);
25
- this.resetScreenMousePositionToStagePositionFunction();
26
- this.startListeningMouseMove();
27
- window.addEventListener('mousedown', event => {
28
- if (event.button === 0) {
29
- this.mainButtonState.value = true;
30
- }
31
- else if (event.button === 2) {
32
- this.secondaryButtonState.value = true;
33
- }
34
- });
35
- window.addEventListener('mouseup', event => {
36
- if (event.button === 0) {
37
- this.mainButtonState.value = false;
38
- }
39
- else if (event.button === 2) {
40
- this.secondaryButtonState.value = false;
41
- }
42
- });
43
- window.addEventListener('blur', () => {
44
- this.mainButtonState.value = false;
45
- this.secondaryButtonState.value = false;
46
- });
47
- }
48
- setScreenMousePositionToStagePositionFunction(converterFunction) {
49
- this.converterFunction = converterFunction;
50
- }
51
- resetScreenMousePositionToStagePositionFunction() {
52
- this.converterFunction = (mouseScreenPosition) => mouseScreenPosition;
53
- }
54
- startListeningMouseMove() {
55
- let mouseScreenPosition = helpers_lib_1.Vector.zero;
56
- window.addEventListener('mousemove', event => {
57
- mouseScreenPosition = new helpers_lib_1.Vector(event.clientX, event.clientY);
58
- });
59
- update_cycle_1.UpdateCycle.beforeSceneUpdateAction
60
- .subscribe(() => {
61
- this.screenPosition.value = mouseScreenPosition;
62
- })
63
- .skipAttachCheck();
64
- update_cycle_1.UpdateCycle.afterSceneUpdateAction
65
- .subscribe(() => {
66
- let adjustedScreenPositionWithScale = mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(this.screenPosition.value, pixi_1.Game.instance.stage.scale, pixi_1.Game.instance.screenSizeCenter);
67
- this.stagePosition.value = this.converterFunction(adjustedScreenPositionWithScale);
68
- })
69
- .skipAttachCheck();
70
- }
28
+ constructor() {
29
+ this.stagePosition = new actions_lib_1.Variable({
30
+ notifyOnChange: true
31
+ }).set(helpers_lib_1.Vector.zero);
32
+ this.screenPosition = new actions_lib_1.Variable({
33
+ notifyOnChange: true
34
+ }).set(helpers_lib_1.Vector.zero);
35
+ this.mainButtonState = new actions_lib_1.Variable().set(false);
36
+ this.secondaryButtonState = new actions_lib_1.Variable().set(false);
37
+ this.resetScreenMousePositionToStagePositionFunction();
38
+ this.startListeningMouseMove();
39
+ window.addEventListener('mousedown', event => {
40
+ if (event.button === 0) {
41
+ this.mainButtonState.value = true;
42
+ } else if (event.button === 2) {
43
+ this.secondaryButtonState.value = true;
44
+ }
45
+ });
46
+ window.addEventListener('mouseup', event => {
47
+ if (event.button === 0) {
48
+ this.mainButtonState.value = false;
49
+ } else if (event.button === 2) {
50
+ this.secondaryButtonState.value = false;
51
+ }
52
+ });
53
+ window.addEventListener('blur', () => {
54
+ this.mainButtonState.value = false;
55
+ this.secondaryButtonState.value = false;
56
+ });
57
+ }
58
+ setScreenMousePositionToStagePositionFunction(converterFunction) {
59
+ this.converterFunction = converterFunction;
60
+ }
61
+ resetScreenMousePositionToStagePositionFunction() {
62
+ this.converterFunction = mouseScreenPosition => mouseScreenPosition;
63
+ }
64
+ startListeningMouseMove() {
65
+ let mouseScreenPosition = helpers_lib_1.Vector.zero;
66
+ window.addEventListener('mousemove', event => {
67
+ mouseScreenPosition = new helpers_lib_1.Vector(event.clientX, event.clientY);
68
+ });
69
+ update_cycle_1.UpdateCycle.beforeSceneUpdateAction
70
+ .subscribe(() => {
71
+ this.screenPosition.value = mouseScreenPosition;
72
+ })
73
+ .skipAttachCheck();
74
+ update_cycle_1.UpdateCycle.afterSceneUpdateAction
75
+ .subscribe(() => {
76
+ const adjustedScreenPositionWithScale = mouse_position_helper_1.MousePositionHelper.includeScaleInScreenPosition(
77
+ this.screenPosition.value,
78
+ pixi_1.Game.instance.stage.scale,
79
+ pixi_1.Game.instance.screenSizeCenter
80
+ );
81
+ this.stagePosition.value = this.converterFunction(adjustedScreenPositionWithScale);
82
+ })
83
+ .skipAttachCheck();
84
+ }
71
85
  };
72
86
  exports.MouseService = MouseService;
73
- exports.MouseService = MouseService = __decorate([
74
- (0, service_1.ServiceDecorator)(),
75
- __metadata("design:paramtypes", [])
76
- ], MouseService);
77
- //# sourceMappingURL=mouse.service.js.map
87
+ exports.MouseService = MouseService = __decorate(
88
+ [(0, service_1.ServiceDecorator)(), __metadata('design:paramtypes', [])],
89
+ MouseService
90
+ );
91
+ //# sourceMappingURL=mouse.service.js.map