bard-legends-framework 0.0.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 (224) hide show
  1. package/.eslintrc.js +192 -0
  2. package/.vscode/settings.json +4 -0
  3. package/coverage/clover.xml +539 -0
  4. package/coverage/coverage-final.json +12 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/game-entities/controller.ts.html +235 -0
  9. package/coverage/lcov-report/game-entities/entity-base.ts.html +202 -0
  10. package/coverage/lcov-report/game-entities/entity.ts.html +526 -0
  11. package/coverage/lcov-report/game-entities/index.html +191 -0
  12. package/coverage/lcov-report/game-entities/service.ts.html +379 -0
  13. package/coverage/lcov-report/game-entities/store.ts.html +391 -0
  14. package/coverage/lcov-report/game-entities/view.ts.html +154 -0
  15. package/coverage/lcov-report/helpers/animator/animator.ts.html +658 -0
  16. package/coverage/lcov-report/helpers/animator/index.html +116 -0
  17. package/coverage/lcov-report/helpers/auto-destroy/auto-destroy.ts.html +184 -0
  18. package/coverage/lcov-report/helpers/auto-destroy/index.html +116 -0
  19. package/coverage/lcov-report/helpers/index.html +116 -0
  20. package/coverage/lcov-report/helpers/update-loop.ts.html +127 -0
  21. package/coverage/lcov-report/helpers/view-array/index.html +116 -0
  22. package/coverage/lcov-report/helpers/view-array/view-array.ts.html +388 -0
  23. package/coverage/lcov-report/index.html +191 -0
  24. package/coverage/lcov-report/lib/vector/index.html +116 -0
  25. package/coverage/lcov-report/lib/vector/vector.ts.html +484 -0
  26. package/coverage/lcov-report/prettify.css +1 -0
  27. package/coverage/lcov-report/prettify.js +2 -0
  28. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  29. package/coverage/lcov-report/sorter.js +196 -0
  30. package/coverage/lcov.info +1056 -0
  31. package/dist/_interfaces/index.d.ts +7 -0
  32. package/dist/_interfaces/index.js +3 -0
  33. package/dist/_interfaces/index.js.map +1 -0
  34. package/dist/app.d.ts +21 -0
  35. package/dist/app.js +54 -0
  36. package/dist/app.js.map +1 -0
  37. package/dist/game-assets/container/container.d.ts +26 -0
  38. package/dist/game-assets/container/container.js +94 -0
  39. package/dist/game-assets/container/container.js.map +1 -0
  40. package/dist/game-assets/display-object/container.d.ts +59 -0
  41. package/dist/game-assets/display-object/container.js +219 -0
  42. package/dist/game-assets/display-object/container.js.map +1 -0
  43. package/dist/game-assets/display-object/container.spec.js.map +1 -0
  44. package/dist/game-assets/display-object/display-object.d.ts +56 -0
  45. package/dist/game-assets/display-object/display-object.js +214 -0
  46. package/dist/game-assets/display-object/display-object.js.map +1 -0
  47. package/dist/game-assets/display-object/display-object.spec.js.map +1 -0
  48. package/dist/game-assets/display-object/interfaces.d.ts +23 -0
  49. package/dist/game-assets/display-object/interfaces.js +3 -0
  50. package/dist/game-assets/display-object/interfaces.js.map +1 -0
  51. package/dist/game-assets/display-object/objects/container.d.ts +9 -0
  52. package/dist/game-assets/display-object/objects/container.js +41 -0
  53. package/dist/game-assets/display-object/objects/container.js.map +1 -0
  54. package/dist/game-assets/display-object/objects/graphics.d.ts +23 -0
  55. package/dist/game-assets/display-object/objects/graphics.js +117 -0
  56. package/dist/game-assets/display-object/objects/graphics.js.map +1 -0
  57. package/dist/game-assets/display-object/objects/image.d.ts +29 -0
  58. package/dist/game-assets/display-object/objects/image.js +130 -0
  59. package/dist/game-assets/display-object/objects/image.js.map +1 -0
  60. package/dist/game-assets/display-object/objects/sprite.d.ts +34 -0
  61. package/dist/game-assets/display-object/objects/sprite.js +87 -0
  62. package/dist/game-assets/display-object/objects/sprite.js.map +1 -0
  63. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.d.ts +19 -0
  64. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js +94 -0
  65. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js.map +1 -0
  66. package/dist/game-assets/filters/filters.d.ts +38 -0
  67. package/dist/game-assets/filters/filters.js +162 -0
  68. package/dist/game-assets/filters/filters.js.map +1 -0
  69. package/dist/game-assets/filters/glow-filter.d.ts +11 -0
  70. package/dist/game-assets/filters/glow-filter.js +33 -0
  71. package/dist/game-assets/filters/glow-filter.js.map +1 -0
  72. package/dist/game-assets/filters/shaders.d.ts +8 -0
  73. package/dist/game-assets/filters/shaders.js +82 -0
  74. package/dist/game-assets/filters/shaders.js.map +1 -0
  75. package/dist/game-assets/game-assets.d.ts +14 -0
  76. package/dist/game-assets/game-assets.js +92 -0
  77. package/dist/game-assets/game-assets.js.map +1 -0
  78. package/dist/game-assets/graphics/graphics.d.ts +26 -0
  79. package/dist/game-assets/graphics/graphics.js +104 -0
  80. package/dist/game-assets/graphics/graphics.js.map +1 -0
  81. package/dist/game-assets/helpers/glow.helper.d.ts +1 -0
  82. package/dist/game-assets/helpers/glow.helper.js +77 -0
  83. package/dist/game-assets/helpers/glow.helper.js.map +1 -0
  84. package/dist/game-assets/image/image-creator.d.ts +23 -0
  85. package/dist/game-assets/image/image-creator.js +96 -0
  86. package/dist/game-assets/image/image-creator.js.map +1 -0
  87. package/dist/game-assets/image/image.d.ts +34 -0
  88. package/dist/game-assets/image/image.js +139 -0
  89. package/dist/game-assets/image/image.js.map +1 -0
  90. package/dist/game-assets/image-data.helper.d.ts +16 -0
  91. package/dist/game-assets/image-data.helper.js +53 -0
  92. package/dist/game-assets/image-data.helper.js.map +1 -0
  93. package/dist/game-assets/index.d.ts +8 -0
  94. package/dist/game-assets/index.js +34 -0
  95. package/dist/game-assets/index.js.map +1 -0
  96. package/dist/game-assets/pixel-perfect-interaction.d.ts +2 -0
  97. package/dist/game-assets/pixel-perfect-interaction.js +111 -0
  98. package/dist/game-assets/pixel-perfect-interaction.js.map +1 -0
  99. package/dist/game-entities/attachable/attachable.d.ts +24 -0
  100. package/dist/game-entities/attachable/attachable.js +80 -0
  101. package/dist/game-entities/attachable/attachable.js.map +1 -0
  102. package/dist/game-entities/attachable/attachable.spec.js.map +1 -0
  103. package/dist/game-entities/controller/controller.d.ts +10 -0
  104. package/dist/game-entities/controller/controller.js +53 -0
  105. package/dist/game-entities/controller/controller.js.map +1 -0
  106. package/dist/game-entities/controller/controller.spec.js.map +1 -0
  107. package/dist/game-entities/controller.d.ts +10 -0
  108. package/dist/game-entities/controller.js +53 -0
  109. package/dist/game-entities/controller.js.map +1 -0
  110. package/dist/game-entities/entity/entity.d.ts +20 -0
  111. package/dist/game-entities/entity/entity.js +98 -0
  112. package/dist/game-entities/entity/entity.js.map +1 -0
  113. package/dist/game-entities/entity/entity.spec.js.map +1 -0
  114. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +15 -0
  115. package/dist/game-entities/entity/helpers/entity-store.helper.js +97 -0
  116. package/dist/game-entities/entity/helpers/entity-store.helper.js.map +1 -0
  117. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +11 -0
  118. package/dist/game-entities/entity/helpers/view-creation.helper.js +56 -0
  119. package/dist/game-entities/entity/helpers/view-creation.helper.js.map +1 -0
  120. package/dist/game-entities/entity-base/entity-base.d.ts +10 -0
  121. package/dist/game-entities/entity-base/entity-base.js +38 -0
  122. package/dist/game-entities/entity-base/entity-base.js.map +1 -0
  123. package/dist/game-entities/entity-base/entity-base.spec.js.map +1 -0
  124. package/dist/game-entities/entity-base.d.ts +12 -0
  125. package/dist/game-entities/entity-base.js +55 -0
  126. package/dist/game-entities/entity-base.js.map +1 -0
  127. package/dist/game-entities/entity.d.ts +22 -0
  128. package/dist/game-entities/entity.js +126 -0
  129. package/dist/game-entities/entity.js.map +1 -0
  130. package/dist/game-entities/index.d.ts +5 -0
  131. package/dist/game-entities/index.js +19 -0
  132. package/dist/game-entities/index.js.map +1 -0
  133. package/dist/game-entities/scene/scene.d.ts +17 -0
  134. package/dist/game-entities/scene/scene.js +100 -0
  135. package/dist/game-entities/scene/scene.js.map +1 -0
  136. package/dist/game-entities/scene/scene.spec.js.map +1 -0
  137. package/dist/game-entities/service/service.d.ts +9 -0
  138. package/dist/game-entities/service/service.js +62 -0
  139. package/dist/game-entities/service/service.js.map +1 -0
  140. package/dist/game-entities/service/service.spec.js.map +1 -0
  141. package/dist/game-entities/service.d.ts +10 -0
  142. package/dist/game-entities/service.js +93 -0
  143. package/dist/game-entities/service.js.map +1 -0
  144. package/dist/game-entities/store/store.d.ts +19 -0
  145. package/dist/game-entities/store/store.js +131 -0
  146. package/dist/game-entities/store/store.js.map +1 -0
  147. package/dist/game-entities/store/store.spec.js.map +1 -0
  148. package/dist/game-entities/store.d.ts +18 -0
  149. package/dist/game-entities/store.js +121 -0
  150. package/dist/game-entities/store.js.map +1 -0
  151. package/dist/game-entities/tests/controller.spec.js.map +1 -0
  152. package/dist/game-entities/tests/entity-base.spec.js.map +1 -0
  153. package/dist/game-entities/tests/entity.spec.js.map +1 -0
  154. package/dist/game-entities/tests/service.spec.js.map +1 -0
  155. package/dist/game-entities/tests/store.spec.js.map +1 -0
  156. package/dist/game-entities/tests/view.spec.js.map +1 -0
  157. package/dist/game-entities/view/view.d.ts +20 -0
  158. package/dist/game-entities/view/view.js +82 -0
  159. package/dist/game-entities/view/view.js.map +1 -0
  160. package/dist/game-entities/view/view.spec.js.map +1 -0
  161. package/dist/game-entities/view.d.ts +9 -0
  162. package/dist/game-entities/view.js +20 -0
  163. package/dist/game-entities/view.js.map +1 -0
  164. package/dist/helpers/animator/animator.d.ts +35 -0
  165. package/dist/helpers/animator/animator.js +158 -0
  166. package/dist/helpers/animator/animator.js.map +1 -0
  167. package/dist/helpers/animator/animator.spec.js.map +1 -0
  168. package/dist/helpers/auto-destroy/auto-destroy.d.ts +5 -0
  169. package/dist/helpers/auto-destroy/auto-destroy.js +38 -0
  170. package/dist/helpers/auto-destroy/auto-destroy.js.map +1 -0
  171. package/dist/helpers/auto-destroy/auto-destroy.spec.js.map +1 -0
  172. package/dist/helpers/update-loop.d.ts +7 -0
  173. package/dist/helpers/update-loop.js +16 -0
  174. package/dist/helpers/update-loop.js.map +1 -0
  175. package/dist/helpers/vertice/vertice.helper.d.ts +4 -0
  176. package/dist/helpers/vertice/vertice.helper.js +23 -0
  177. package/dist/helpers/vertice/vertice.helper.js.map +1 -0
  178. package/dist/helpers/view-array/view-array.d.ts +28 -0
  179. package/dist/helpers/view-array/view-array.js +117 -0
  180. package/dist/index.d.ts +9 -0
  181. package/dist/index.js +31 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/lib/animator/animations.d.ts +25 -0
  184. package/dist/lib/animator/animations.js +58 -0
  185. package/dist/lib/animator/animations.js.map +1 -0
  186. package/dist/lib/animator/animator.d.ts +52 -0
  187. package/dist/lib/animator/animator.js +220 -0
  188. package/dist/lib/animator/animator.js.map +1 -0
  189. package/dist/lib/animator/animator.spec.js.map +1 -0
  190. package/dist/lib/animator/index.d.ts +2 -0
  191. package/dist/lib/animator/index.js +19 -0
  192. package/dist/lib/animator/index.js.map +1 -0
  193. package/dist/lib/common/common-lib.d.ts +6 -0
  194. package/dist/lib/common/common-lib.js +40 -0
  195. package/dist/lib/common/common-lib.js.map +1 -0
  196. package/dist/lib/path-finder/path-finder.d.ts +5 -0
  197. package/dist/lib/path-finder/path-finder.js +24 -0
  198. package/dist/lib/path-finder/path-finder.js.map +1 -0
  199. package/dist/lib/update-loop.d.ts +13 -0
  200. package/dist/lib/update-loop.js +34 -0
  201. package/dist/lib/update-loop.js.map +1 -0
  202. package/dist/lib/vector/vector-coordinate-convertion.spec.js.map +1 -0
  203. package/dist/lib/vector/vector-radian.spec.js.map +1 -0
  204. package/dist/lib/vector/vector.d.ts +28 -0
  205. package/dist/lib/vector/vector.js +114 -0
  206. package/dist/lib/vector/vector.js.map +1 -0
  207. package/dist/lib/vector/vector.spec.js.map +1 -0
  208. package/dist/services/keyboard/keyboard.d.ts +7 -0
  209. package/dist/services/keyboard/keyboard.js +36 -0
  210. package/dist/services/keyboard/keyboard.js.map +1 -0
  211. package/dist/services/mouse/mouse.d.ts +12 -0
  212. package/dist/services/mouse/mouse.js +57 -0
  213. package/dist/services/mouse/mouse.js.map +1 -0
  214. package/dist/services/mouse/mouse.service.d.ts +12 -0
  215. package/dist/services/mouse/mouse.service.js +56 -0
  216. package/dist/services/mouse/mouse.service.js.map +1 -0
  217. package/dist/services/mouse/mouser-target-focus.service.d.ts +16 -0
  218. package/dist/services/mouse/mouser-target-focus.service.js +89 -0
  219. package/dist/services/mouse/mouser-target-focus.service.js.map +1 -0
  220. package/dist/services/sound/sound.d.ts +3 -0
  221. package/dist/services/sound/sound.js +22 -0
  222. package/dist/services/sound/sound.js.map +1 -0
  223. package/package.json +71 -0
  224. package/tsconfig.json +24 -0
@@ -0,0 +1,56 @@
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;
6
+ 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 });
12
+ exports.MouseService = void 0;
13
+ const actions_lib_1 = require("actions-lib");
14
+ const service_1 = require("../../game-entities/service/service");
15
+ const update_loop_1 = require("../../lib/update-loop");
16
+ let MouseService = class MouseService {
17
+ constructor() {
18
+ this.mouseStagePosition = new actions_lib_1.Variable({ notifyOnChange: true }).set({ x: 0, y: 0 });
19
+ this.mouseScreenPosition = new actions_lib_1.Variable({ notifyOnChange: true }).set({ x: 0, y: 0 });
20
+ this.mouseMainButtonState = new actions_lib_1.Variable().set(false);
21
+ this.resetScreenMousePositionToStagePositionFunction();
22
+ this.startListeningMouseMove();
23
+ document.addEventListener('mousedown', () => {
24
+ this.mouseMainButtonState.value = true;
25
+ });
26
+ document.addEventListener('mouseup', () => {
27
+ this.mouseMainButtonState.value = false;
28
+ });
29
+ }
30
+ setScreenMousePositionToStagePositionFunction(converterFunction) {
31
+ this.converterFunction = converterFunction;
32
+ }
33
+ resetScreenMousePositionToStagePositionFunction() {
34
+ this.converterFunction = (mouseScreenPosition) => mouseScreenPosition;
35
+ }
36
+ startListeningMouseMove() {
37
+ let mouseScreenPosition = { x: 0, y: 0 };
38
+ let updateMousePosition = () => {
39
+ this.mouseScreenPosition.value = mouseScreenPosition;
40
+ this.mouseStagePosition.value = this.converterFunction(mouseScreenPosition);
41
+ };
42
+ document.addEventListener('mousemove', function (event) {
43
+ mouseScreenPosition = { x: event.clientX, y: event.clientY };
44
+ updateMousePosition();
45
+ });
46
+ update_loop_1.UpdateCycle.updateAction.subscribe(() => {
47
+ updateMousePosition();
48
+ });
49
+ }
50
+ };
51
+ exports.MouseService = MouseService;
52
+ exports.MouseService = MouseService = __decorate([
53
+ (0, service_1.ServiceDecorator)(),
54
+ __metadata("design:paramtypes", [])
55
+ ], MouseService);
56
+ //# sourceMappingURL=mouse.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mouse.service.js","sourceRoot":"","sources":["../../../src/services/mouse/mouse.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAuC;AAGvC,iEAAuE;AACvE,uDAAoD;AAG7C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAOvB;QANS,uBAAkB,GAAG,IAAI,sBAAQ,CAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,wBAAmB,GAAG,IAAI,sBAAQ,CAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,yBAAoB,GAAG,IAAI,sBAAQ,EAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAKjE,IAAI,CAAC,+CAA+C,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YAC1C,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C,CAAC,iBAAsD;QAClG,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,+CAA+C;QAC7C,IAAI,CAAC,iBAAiB,GAAG,CAAC,mBAAyB,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC9E,CAAC;IAEO,uBAAuB;QAC7B,IAAI,mBAAmB,GAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/C,IAAI,mBAAmB,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,mBAAmB,CAAC;YACrD,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC9E,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,KAAK;YACpD,mBAAmB,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7D,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,yBAAW,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACtC,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,0BAAgB,GAAE;;GACN,YAAY,CA4CxB"}
@@ -0,0 +1,16 @@
1
+ import { Action } from 'actions-lib';
2
+ import { Vec2 } from 'helpers-lib';
3
+ import { MouseService } from './mouse.service';
4
+ export declare class MouseTargetFocusService {
5
+ onTargetFocus: Action<Vec2>;
6
+ get lastFocusedPosition(): Vec2 | undefined;
7
+ get focusedInLastFrame(): boolean;
8
+ private previousPosition;
9
+ private peakValueChange;
10
+ private triggerCountdown;
11
+ private triggerAfterCooldown;
12
+ private _lastFocusedPosition;
13
+ private _focusedInLastFrame;
14
+ constructor(mouseService: MouseService);
15
+ private check;
16
+ }
@@ -0,0 +1,89 @@
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;
6
+ 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 });
12
+ 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_loop_1 = require("../../lib/update-loop");
18
+ let MouseTargetFocusService = class MouseTargetFocusService {
19
+ get lastFocusedPosition() {
20
+ return this._lastFocusedPosition;
21
+ }
22
+ get focusedInLastFrame() {
23
+ return this._focusedInLastFrame;
24
+ }
25
+ constructor(mouseService) {
26
+ this.onTargetFocus = new actions_lib_1.Action();
27
+ this.triggerCountdown = 0;
28
+ this.triggerAfterCooldown = false;
29
+ this._lastFocusedPosition = undefined;
30
+ this._focusedInLastFrame = false;
31
+ update_loop_1.UpdateCycle.updateAction.subscribe((event) => this.check(mouseService, event.delta));
32
+ }
33
+ check(mouseService, delta) {
34
+ let focusHappened = false;
35
+ let mouseScreenPositon = mouseService.mouseScreenPosition.value;
36
+ if (this.previousPosition) {
37
+ let changeVector = helpers_lib_1.Vector.fromTo(this.previousPosition, mouseScreenPositon);
38
+ let valueChange = (Math.abs(changeVector.x) + Math.abs(changeVector.y)) * delta;
39
+ if (this.peakValueChange !== undefined) {
40
+ if (this.peakValueChange - valueChange > 100) {
41
+ if (this.triggerCountdown > 50) {
42
+ this.triggerCountdown = 50;
43
+ }
44
+ this.triggerAfterCooldown = true;
45
+ }
46
+ else if (this.peakValueChange - valueChange > 20) {
47
+ if (this.triggerCountdown > 0) {
48
+ this.triggerAfterCooldown = true;
49
+ }
50
+ else {
51
+ focusHappened = true;
52
+ }
53
+ }
54
+ if (this.triggerCountdown <= 0 && this.triggerAfterCooldown) {
55
+ focusHappened = true;
56
+ }
57
+ if (focusHappened) {
58
+ this.triggerCountdown = 300;
59
+ this.peakValueChange = valueChange;
60
+ this.triggerAfterCooldown = false;
61
+ }
62
+ if (valueChange > this.peakValueChange) {
63
+ this.peakValueChange = valueChange;
64
+ }
65
+ if (this.triggerCountdown > 0) {
66
+ this.triggerCountdown -= delta;
67
+ }
68
+ }
69
+ else {
70
+ this.peakValueChange = valueChange;
71
+ }
72
+ }
73
+ this.previousPosition = mouseScreenPositon;
74
+ if (focusHappened) {
75
+ this._focusedInLastFrame = true;
76
+ this._lastFocusedPosition = mouseService.mouseStagePosition.value;
77
+ this.onTargetFocus.trigger(this._lastFocusedPosition);
78
+ }
79
+ else {
80
+ this._focusedInLastFrame = false;
81
+ }
82
+ }
83
+ };
84
+ exports.MouseTargetFocusService = MouseTargetFocusService;
85
+ exports.MouseTargetFocusService = MouseTargetFocusService = __decorate([
86
+ (0, service_1.ServiceDecorator)(),
87
+ __metadata("design:paramtypes", [mouse_service_1.MouseService])
88
+ ], MouseTargetFocusService);
89
+ //# sourceMappingURL=mouser-target-focus.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mouser-target-focus.service.js","sourceRoot":"","sources":["../../../src/services/mouse/mouser-target-focus.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class SoundService {
2
+ play(sound: string): void;
3
+ }
@@ -0,0 +1,22 @@
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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SoundService = void 0;
10
+ const sound_1 = require("@pixi/sound");
11
+ const service_1 = require("../../game-entities/service/service");
12
+ sound_1.sound.volumeAll = 0.1;
13
+ let SoundService = class SoundService {
14
+ play(sound) {
15
+ sound_1.sound.play(sound);
16
+ }
17
+ };
18
+ exports.SoundService = SoundService;
19
+ exports.SoundService = SoundService = __decorate([
20
+ (0, service_1.ServiceDecorator)()
21
+ ], SoundService);
22
+ //# sourceMappingURL=sound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../src/services/sound/sound.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAiD;AAEjD,iEAAuE;AACvE,aAAS,CAAC,SAAS,GAAG,GAAG,CAAC;AAGnB,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,IAAI,CAAC,KAAa;QAChB,aAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAA;AAJY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,0BAAgB,GAAE;GACN,YAAY,CAIxB"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "bard-legends-framework",
3
+ "version": "0.0.0",
4
+ "description": "Bard Legends Framework",
5
+ "main": "dist/index.js",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/sefabaser/Bard-Legends-Framework.git"
9
+ },
10
+ "author": "sefabaser",
11
+ "license": "MIT",
12
+ "bugs": {
13
+ "url": "https://github.com/sefabaser/Bard-Legends-Framework/issues"
14
+ },
15
+ "prettier": {
16
+ "printWidth": 120,
17
+ "tabWidth": 2,
18
+ "semicolons": true,
19
+ "singleQuote": true,
20
+ "trailingComma": "none",
21
+ "arrowParens": "avoid"
22
+ },
23
+ "jest": {
24
+ "moduleFileExtensions": [
25
+ "js",
26
+ "json",
27
+ "ts"
28
+ ],
29
+ "moduleDirectories": [
30
+ "node_modules",
31
+ "__dirname/"
32
+ ],
33
+ "rootDir": "src",
34
+ "testRegex": ".spec.ts$",
35
+ "transform": {
36
+ "^.+\\.(t|j)s$": "ts-jest"
37
+ },
38
+ "coverageDirectory": "../coverage",
39
+ "testEnvironment": "node"
40
+ },
41
+ "homepage": "https://github.com/sefabaser/Bard-Legends-Framework#readme",
42
+ "scripts": {
43
+ "clean-install": "cls && rm -rf node_modules && rm -rf package-lock.json && npm install",
44
+ "build": "tsc",
45
+ "pretest": "cls",
46
+ "lint": "eslint \"src/**/*.ts\" --fix",
47
+ "test": "jest",
48
+ "test-watch": "jest --watch",
49
+ "test-coverage": "jest --coverage",
50
+ "deploy": "npm test && npm run build && npm publish"
51
+ },
52
+ "dependencies": {
53
+ "actions-lib": "1.7.1",
54
+ "astar-typescript": "1.2.7",
55
+ "helpers-lib": "1.5.31",
56
+ "reflect-metadata": "0.2.1"
57
+ },
58
+ "devDependencies": {
59
+ "@types/jest": "29.5.12",
60
+ "@typescript-eslint/eslint-plugin": "7.4.0",
61
+ "@typescript-eslint/parser": "7.4.0",
62
+ "eslint": "8.57.0",
63
+ "eslint-config-prettier": "9.1.0",
64
+ "eslint-plugin-import": "2.29.1",
65
+ "eslint-plugin-no-null": "1.0.2",
66
+ "eslint-plugin-sort-class-members": "1.20.0",
67
+ "jest": "29.7.0",
68
+ "ts-jest": "29.1.2",
69
+ "typescript": "5.4.3"
70
+ }
71
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "include": ["src"],
3
+ "compilerOptions": {
4
+ "target": "ESNext",
5
+ "module": "commonjs",
6
+ "allowJs": true,
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": true,
9
+ "noImplicitAny": true,
10
+ "noImplicitThis": true,
11
+ "sourceMap": true,
12
+ "baseUrl": ".",
13
+ "outDir": "dist",
14
+ "moduleResolution": "node",
15
+ "resolveJsonModule": true,
16
+ "strict": true,
17
+ "strictFunctionTypes": false,
18
+ "allowSyntheticDefaultImports": true,
19
+ "experimentalDecorators": true,
20
+ "declaration": true,
21
+ "emitDecoratorMetadata": true,
22
+ "useDefineForClassFields": false
23
+ }
24
+ }