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.
- package/.eslintrc.js +192 -0
- package/.vscode/settings.json +4 -0
- package/coverage/clover.xml +539 -0
- package/coverage/coverage-final.json +12 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/game-entities/controller.ts.html +235 -0
- package/coverage/lcov-report/game-entities/entity-base.ts.html +202 -0
- package/coverage/lcov-report/game-entities/entity.ts.html +526 -0
- package/coverage/lcov-report/game-entities/index.html +191 -0
- package/coverage/lcov-report/game-entities/service.ts.html +379 -0
- package/coverage/lcov-report/game-entities/store.ts.html +391 -0
- package/coverage/lcov-report/game-entities/view.ts.html +154 -0
- package/coverage/lcov-report/helpers/animator/animator.ts.html +658 -0
- package/coverage/lcov-report/helpers/animator/index.html +116 -0
- package/coverage/lcov-report/helpers/auto-destroy/auto-destroy.ts.html +184 -0
- package/coverage/lcov-report/helpers/auto-destroy/index.html +116 -0
- package/coverage/lcov-report/helpers/index.html +116 -0
- package/coverage/lcov-report/helpers/update-loop.ts.html +127 -0
- package/coverage/lcov-report/helpers/view-array/index.html +116 -0
- package/coverage/lcov-report/helpers/view-array/view-array.ts.html +388 -0
- package/coverage/lcov-report/index.html +191 -0
- package/coverage/lcov-report/lib/vector/index.html +116 -0
- package/coverage/lcov-report/lib/vector/vector.ts.html +484 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +1056 -0
- package/dist/_interfaces/index.d.ts +7 -0
- package/dist/_interfaces/index.js +3 -0
- package/dist/_interfaces/index.js.map +1 -0
- package/dist/app.d.ts +21 -0
- package/dist/app.js +54 -0
- package/dist/app.js.map +1 -0
- package/dist/game-assets/container/container.d.ts +26 -0
- package/dist/game-assets/container/container.js +94 -0
- package/dist/game-assets/container/container.js.map +1 -0
- package/dist/game-assets/display-object/container.d.ts +59 -0
- package/dist/game-assets/display-object/container.js +219 -0
- package/dist/game-assets/display-object/container.js.map +1 -0
- package/dist/game-assets/display-object/container.spec.js.map +1 -0
- package/dist/game-assets/display-object/display-object.d.ts +56 -0
- package/dist/game-assets/display-object/display-object.js +214 -0
- package/dist/game-assets/display-object/display-object.js.map +1 -0
- package/dist/game-assets/display-object/display-object.spec.js.map +1 -0
- package/dist/game-assets/display-object/interfaces.d.ts +23 -0
- package/dist/game-assets/display-object/interfaces.js +3 -0
- package/dist/game-assets/display-object/interfaces.js.map +1 -0
- package/dist/game-assets/display-object/objects/container.d.ts +9 -0
- package/dist/game-assets/display-object/objects/container.js +41 -0
- package/dist/game-assets/display-object/objects/container.js.map +1 -0
- package/dist/game-assets/display-object/objects/graphics.d.ts +23 -0
- package/dist/game-assets/display-object/objects/graphics.js +117 -0
- package/dist/game-assets/display-object/objects/graphics.js.map +1 -0
- package/dist/game-assets/display-object/objects/image.d.ts +29 -0
- package/dist/game-assets/display-object/objects/image.js +130 -0
- package/dist/game-assets/display-object/objects/image.js.map +1 -0
- package/dist/game-assets/display-object/objects/sprite.d.ts +34 -0
- package/dist/game-assets/display-object/objects/sprite.js +87 -0
- package/dist/game-assets/display-object/objects/sprite.js.map +1 -0
- package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.d.ts +19 -0
- package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js +94 -0
- package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js.map +1 -0
- package/dist/game-assets/filters/filters.d.ts +38 -0
- package/dist/game-assets/filters/filters.js +162 -0
- package/dist/game-assets/filters/filters.js.map +1 -0
- package/dist/game-assets/filters/glow-filter.d.ts +11 -0
- package/dist/game-assets/filters/glow-filter.js +33 -0
- package/dist/game-assets/filters/glow-filter.js.map +1 -0
- package/dist/game-assets/filters/shaders.d.ts +8 -0
- package/dist/game-assets/filters/shaders.js +82 -0
- package/dist/game-assets/filters/shaders.js.map +1 -0
- package/dist/game-assets/game-assets.d.ts +14 -0
- package/dist/game-assets/game-assets.js +92 -0
- package/dist/game-assets/game-assets.js.map +1 -0
- package/dist/game-assets/graphics/graphics.d.ts +26 -0
- package/dist/game-assets/graphics/graphics.js +104 -0
- package/dist/game-assets/graphics/graphics.js.map +1 -0
- package/dist/game-assets/helpers/glow.helper.d.ts +1 -0
- package/dist/game-assets/helpers/glow.helper.js +77 -0
- package/dist/game-assets/helpers/glow.helper.js.map +1 -0
- package/dist/game-assets/image/image-creator.d.ts +23 -0
- package/dist/game-assets/image/image-creator.js +96 -0
- package/dist/game-assets/image/image-creator.js.map +1 -0
- package/dist/game-assets/image/image.d.ts +34 -0
- package/dist/game-assets/image/image.js +139 -0
- package/dist/game-assets/image/image.js.map +1 -0
- package/dist/game-assets/image-data.helper.d.ts +16 -0
- package/dist/game-assets/image-data.helper.js +53 -0
- package/dist/game-assets/image-data.helper.js.map +1 -0
- package/dist/game-assets/index.d.ts +8 -0
- package/dist/game-assets/index.js +34 -0
- package/dist/game-assets/index.js.map +1 -0
- package/dist/game-assets/pixel-perfect-interaction.d.ts +2 -0
- package/dist/game-assets/pixel-perfect-interaction.js +111 -0
- package/dist/game-assets/pixel-perfect-interaction.js.map +1 -0
- package/dist/game-entities/attachable/attachable.d.ts +24 -0
- package/dist/game-entities/attachable/attachable.js +80 -0
- package/dist/game-entities/attachable/attachable.js.map +1 -0
- package/dist/game-entities/attachable/attachable.spec.js.map +1 -0
- package/dist/game-entities/controller/controller.d.ts +10 -0
- package/dist/game-entities/controller/controller.js +53 -0
- package/dist/game-entities/controller/controller.js.map +1 -0
- package/dist/game-entities/controller/controller.spec.js.map +1 -0
- package/dist/game-entities/controller.d.ts +10 -0
- package/dist/game-entities/controller.js +53 -0
- package/dist/game-entities/controller.js.map +1 -0
- package/dist/game-entities/entity/entity.d.ts +20 -0
- package/dist/game-entities/entity/entity.js +98 -0
- package/dist/game-entities/entity/entity.js.map +1 -0
- package/dist/game-entities/entity/entity.spec.js.map +1 -0
- package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +15 -0
- package/dist/game-entities/entity/helpers/entity-store.helper.js +97 -0
- package/dist/game-entities/entity/helpers/entity-store.helper.js.map +1 -0
- package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +11 -0
- package/dist/game-entities/entity/helpers/view-creation.helper.js +56 -0
- package/dist/game-entities/entity/helpers/view-creation.helper.js.map +1 -0
- package/dist/game-entities/entity-base/entity-base.d.ts +10 -0
- package/dist/game-entities/entity-base/entity-base.js +38 -0
- package/dist/game-entities/entity-base/entity-base.js.map +1 -0
- package/dist/game-entities/entity-base/entity-base.spec.js.map +1 -0
- package/dist/game-entities/entity-base.d.ts +12 -0
- package/dist/game-entities/entity-base.js +55 -0
- package/dist/game-entities/entity-base.js.map +1 -0
- package/dist/game-entities/entity.d.ts +22 -0
- package/dist/game-entities/entity.js +126 -0
- package/dist/game-entities/entity.js.map +1 -0
- package/dist/game-entities/index.d.ts +5 -0
- package/dist/game-entities/index.js +19 -0
- package/dist/game-entities/index.js.map +1 -0
- package/dist/game-entities/scene/scene.d.ts +17 -0
- package/dist/game-entities/scene/scene.js +100 -0
- package/dist/game-entities/scene/scene.js.map +1 -0
- package/dist/game-entities/scene/scene.spec.js.map +1 -0
- package/dist/game-entities/service/service.d.ts +9 -0
- package/dist/game-entities/service/service.js +62 -0
- package/dist/game-entities/service/service.js.map +1 -0
- package/dist/game-entities/service/service.spec.js.map +1 -0
- package/dist/game-entities/service.d.ts +10 -0
- package/dist/game-entities/service.js +93 -0
- package/dist/game-entities/service.js.map +1 -0
- package/dist/game-entities/store/store.d.ts +19 -0
- package/dist/game-entities/store/store.js +131 -0
- package/dist/game-entities/store/store.js.map +1 -0
- package/dist/game-entities/store/store.spec.js.map +1 -0
- package/dist/game-entities/store.d.ts +18 -0
- package/dist/game-entities/store.js +121 -0
- package/dist/game-entities/store.js.map +1 -0
- package/dist/game-entities/tests/controller.spec.js.map +1 -0
- package/dist/game-entities/tests/entity-base.spec.js.map +1 -0
- package/dist/game-entities/tests/entity.spec.js.map +1 -0
- package/dist/game-entities/tests/service.spec.js.map +1 -0
- package/dist/game-entities/tests/store.spec.js.map +1 -0
- package/dist/game-entities/tests/view.spec.js.map +1 -0
- package/dist/game-entities/view/view.d.ts +20 -0
- package/dist/game-entities/view/view.js +82 -0
- package/dist/game-entities/view/view.js.map +1 -0
- package/dist/game-entities/view/view.spec.js.map +1 -0
- package/dist/game-entities/view.d.ts +9 -0
- package/dist/game-entities/view.js +20 -0
- package/dist/game-entities/view.js.map +1 -0
- package/dist/helpers/animator/animator.d.ts +35 -0
- package/dist/helpers/animator/animator.js +158 -0
- package/dist/helpers/animator/animator.js.map +1 -0
- package/dist/helpers/animator/animator.spec.js.map +1 -0
- package/dist/helpers/auto-destroy/auto-destroy.d.ts +5 -0
- package/dist/helpers/auto-destroy/auto-destroy.js +38 -0
- package/dist/helpers/auto-destroy/auto-destroy.js.map +1 -0
- package/dist/helpers/auto-destroy/auto-destroy.spec.js.map +1 -0
- package/dist/helpers/update-loop.d.ts +7 -0
- package/dist/helpers/update-loop.js +16 -0
- package/dist/helpers/update-loop.js.map +1 -0
- package/dist/helpers/vertice/vertice.helper.d.ts +4 -0
- package/dist/helpers/vertice/vertice.helper.js +23 -0
- package/dist/helpers/vertice/vertice.helper.js.map +1 -0
- package/dist/helpers/view-array/view-array.d.ts +28 -0
- package/dist/helpers/view-array/view-array.js +117 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/animator/animations.d.ts +25 -0
- package/dist/lib/animator/animations.js +58 -0
- package/dist/lib/animator/animations.js.map +1 -0
- package/dist/lib/animator/animator.d.ts +52 -0
- package/dist/lib/animator/animator.js +220 -0
- package/dist/lib/animator/animator.js.map +1 -0
- package/dist/lib/animator/animator.spec.js.map +1 -0
- package/dist/lib/animator/index.d.ts +2 -0
- package/dist/lib/animator/index.js +19 -0
- package/dist/lib/animator/index.js.map +1 -0
- package/dist/lib/common/common-lib.d.ts +6 -0
- package/dist/lib/common/common-lib.js +40 -0
- package/dist/lib/common/common-lib.js.map +1 -0
- package/dist/lib/path-finder/path-finder.d.ts +5 -0
- package/dist/lib/path-finder/path-finder.js +24 -0
- package/dist/lib/path-finder/path-finder.js.map +1 -0
- package/dist/lib/update-loop.d.ts +13 -0
- package/dist/lib/update-loop.js +34 -0
- package/dist/lib/update-loop.js.map +1 -0
- package/dist/lib/vector/vector-coordinate-convertion.spec.js.map +1 -0
- package/dist/lib/vector/vector-radian.spec.js.map +1 -0
- package/dist/lib/vector/vector.d.ts +28 -0
- package/dist/lib/vector/vector.js +114 -0
- package/dist/lib/vector/vector.js.map +1 -0
- package/dist/lib/vector/vector.spec.js.map +1 -0
- package/dist/services/keyboard/keyboard.d.ts +7 -0
- package/dist/services/keyboard/keyboard.js +36 -0
- package/dist/services/keyboard/keyboard.js.map +1 -0
- package/dist/services/mouse/mouse.d.ts +12 -0
- package/dist/services/mouse/mouse.js +57 -0
- package/dist/services/mouse/mouse.js.map +1 -0
- package/dist/services/mouse/mouse.service.d.ts +12 -0
- package/dist/services/mouse/mouse.service.js +56 -0
- package/dist/services/mouse/mouse.service.js.map +1 -0
- package/dist/services/mouse/mouser-target-focus.service.d.ts +16 -0
- package/dist/services/mouse/mouser-target-focus.service.js +89 -0
- package/dist/services/mouse/mouser-target-focus.service.js.map +1 -0
- package/dist/services/sound/sound.d.ts +3 -0
- package/dist/services/sound/sound.js +22 -0
- package/dist/services/sound/sound.js.map +1 -0
- package/package.json +71 -0
- 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,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
|
+
}
|