@gamebob/axon-surge 0.46.0 → 0.48.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/dist/axon-surge.js +8437 -7608
- package/dist/codex/CodexStorage.d.ts +8 -0
- package/dist/codex/CodexStorage.d.ts.map +1 -1
- package/dist/codex/CodexTypes.d.ts +8 -0
- package/dist/codex/CodexTypes.d.ts.map +1 -1
- package/dist/codex/FormationCodex.d.ts +21 -0
- package/dist/codex/FormationCodex.d.ts.map +1 -0
- package/dist/content/ContentRegistry.d.ts.map +1 -1
- package/dist/content/ContentTypes.d.ts +2 -1
- package/dist/content/ContentTypes.d.ts.map +1 -1
- package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
- package/dist/core/GameEngineCodexInitialization.d.ts.map +1 -1
- package/dist/core/GameEngineInitialization.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsProgress.d.ts.map +1 -1
- package/dist/core/GameEngineStartMenuInitialization.d.ts.map +1 -1
- package/dist/core/GameEngineState.d.ts +2 -0
- package/dist/core/GameEngineState.d.ts.map +1 -1
- package/dist/director/PatternSpawnHelpers.d.ts +17 -0
- package/dist/director/PatternSpawnHelpers.d.ts.map +1 -0
- package/dist/director/SpawnGeometry.d.ts +3 -0
- package/dist/director/SpawnGeometry.d.ts.map +1 -0
- package/dist/director/SpawnerPatternCatalog.d.ts +3 -0
- package/dist/director/SpawnerPatternCatalog.d.ts.map +1 -0
- package/dist/director/SpawnerPatternRegistry.d.ts +11 -0
- package/dist/director/SpawnerPatternRegistry.d.ts.map +1 -0
- package/dist/director/SpawnerPatternTypes.d.ts +21 -0
- package/dist/director/SpawnerPatternTypes.d.ts.map +1 -0
- package/dist/director/WaveDirector.d.ts +3 -1
- package/dist/director/WaveDirector.d.ts.map +1 -1
- package/dist/director/WaveSpawnResolver.d.ts +1 -1
- package/dist/director/WaveSpawnResolver.d.ts.map +1 -1
- package/dist/director/patterns/circle.pattern.d.ts +3 -0
- package/dist/director/patterns/circle.pattern.d.ts.map +1 -0
- package/dist/director/patterns/crossfire.pattern.d.ts +3 -0
- package/dist/director/patterns/crossfire.pattern.d.ts.map +1 -0
- package/dist/director/patterns/dense.pattern.d.ts +3 -0
- package/dist/director/patterns/dense.pattern.d.ts.map +1 -0
- package/dist/director/patterns/marching.pattern.d.ts +3 -0
- package/dist/director/patterns/marching.pattern.d.ts.map +1 -0
- package/dist/director/patterns/sine.pattern.d.ts +3 -0
- package/dist/director/patterns/sine.pattern.d.ts.map +1 -0
- package/dist/director/patterns/spiral.pattern.d.ts +3 -0
- package/dist/director/patterns/spiral.pattern.d.ts.map +1 -0
- package/dist/entities/EnemyEntity.d.ts +1 -0
- package/dist/entities/EnemyEntity.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +30 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/render/JuiceEffects.d.ts +4 -0
- package/dist/render/JuiceEffects.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/ui/CodexCanvasFactories.d.ts +2 -0
- package/dist/ui/CodexCanvasFactories.d.ts.map +1 -1
- package/dist/ui/CodexFormationCanvas.d.ts +44 -0
- package/dist/ui/CodexFormationCanvas.d.ts.map +1 -0
- package/dist/ui/CodexOverlay.d.ts +9 -15
- package/dist/ui/CodexOverlay.d.ts.map +1 -1
- package/dist/ui/CodexOverlayBookMarkup.d.ts +2 -0
- package/dist/ui/CodexOverlayBookMarkup.d.ts.map +1 -1
- package/dist/ui/CodexOverlayTypes.d.ts +23 -0
- package/dist/ui/CodexOverlayTypes.d.ts.map +1 -0
- package/dist/ui/HUDOverlay.d.ts +2 -1
- package/dist/ui/HUDOverlay.d.ts.map +1 -1
- package/dist/ui/SettingsModal.d.ts +24 -4
- package/dist/ui/SettingsModal.d.ts.map +1 -1
- package/dist/ui/SettingsModalView.d.ts +18 -4
- package/dist/ui/SettingsModalView.d.ts.map +1 -1
- package/dist/ui/SettingsPreferences.d.ts +13 -0
- package/dist/ui/SettingsPreferences.d.ts.map +1 -1
- package/dist/ui/StartMenu.d.ts +4 -0
- package/dist/ui/StartMenu.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/director/SpawnerPatterns.d.ts +0 -30
- package/dist/director/SpawnerPatterns.d.ts.map +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { CodexSpecimenCanvas } from "./CodexSpecimenCanvas";
|
|
2
2
|
import type { CodexVariantCanvas } from "./CodexVariantCanvas";
|
|
3
3
|
import type { BossCodexCanvas } from "./BossCodexCanvas";
|
|
4
|
+
import type { CodexFormationCanvas } from "./CodexFormationCanvas";
|
|
4
5
|
export interface CodexCanvasFactories {
|
|
5
6
|
createSpecimen(canvas: HTMLCanvasElement): CodexSpecimenCanvas;
|
|
6
7
|
createVariant(canvas: HTMLCanvasElement, variantId: string, silhouette: boolean): CodexVariantCanvas;
|
|
7
8
|
createBoss(canvas: HTMLCanvasElement): BossCodexCanvas;
|
|
9
|
+
createFormation(canvas: HTMLCanvasElement, formationId: string): CodexFormationCanvas;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=CodexCanvasFactories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexCanvasFactories.d.ts","sourceRoot":"","sources":["../../src/ui/CodexCanvasFactories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexCanvasFactories.d.ts","sourceRoot":"","sources":["../../src/ui/CodexCanvasFactories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACjC,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAC/D,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACrG,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACvD,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACzF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { GameConfigManager } from "../config/GameConfig";
|
|
2
|
+
import type { ContentRegistry } from "../content/ContentRegistry";
|
|
3
|
+
import type { EntityFactory } from "../factory/EntityFactory";
|
|
4
|
+
import type { ThemeManager } from "../theme/ThemeManager";
|
|
5
|
+
import type { SpawnerPatternRegistry } from "../director/SpawnerPatternRegistry";
|
|
6
|
+
export declare class CodexFormationCanvas {
|
|
7
|
+
private readonly canvas;
|
|
8
|
+
private readonly context;
|
|
9
|
+
private readonly content;
|
|
10
|
+
private readonly factory;
|
|
11
|
+
private readonly patternRegistry;
|
|
12
|
+
private readonly shapeRenderer;
|
|
13
|
+
private readonly themeManager;
|
|
14
|
+
private readonly pool;
|
|
15
|
+
private entities;
|
|
16
|
+
private formationId;
|
|
17
|
+
private animationFrameId;
|
|
18
|
+
private resizeObserver;
|
|
19
|
+
private lastTime;
|
|
20
|
+
private elapsed;
|
|
21
|
+
private displayWidth;
|
|
22
|
+
private displayHeight;
|
|
23
|
+
constructor(options: {
|
|
24
|
+
canvas: HTMLCanvasElement;
|
|
25
|
+
content: ContentRegistry;
|
|
26
|
+
factory: EntityFactory;
|
|
27
|
+
patternRegistry: SpawnerPatternRegistry;
|
|
28
|
+
configManager: GameConfigManager;
|
|
29
|
+
themeManager: ThemeManager;
|
|
30
|
+
});
|
|
31
|
+
setFormation(formationId: string): void;
|
|
32
|
+
start(): void;
|
|
33
|
+
stop(): void;
|
|
34
|
+
destroy(): void;
|
|
35
|
+
private resetSimulation;
|
|
36
|
+
private update;
|
|
37
|
+
private render;
|
|
38
|
+
private clearCanvas;
|
|
39
|
+
private renderBackground;
|
|
40
|
+
private renderCore;
|
|
41
|
+
private renderEntities;
|
|
42
|
+
private resize;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=CodexFormationCanvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexFormationCanvas.d.ts","sourceRoot":"","sources":["../../src/ui/CodexFormationCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AASjF,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,aAAa,CAAkB;gBAEpB,OAAO,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,aAAa,CAAC;QAAC,eAAe,EAAE,sBAAsB,CAAC;QAAC,aAAa,EAAE,iBAAiB,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE;IAc3M,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMvC,KAAK,IAAI,IAAI;IAeb,IAAI,IAAI,IAAI;IAOZ,OAAO,IAAI,IAAI;IAOtB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,MAAM;IAoBd,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,MAAM;CAQjB"}
|
|
@@ -2,16 +2,17 @@ import type { I18nService } from "../i18n/I18nService";
|
|
|
2
2
|
import type { Codex } from "../codex/Codex";
|
|
3
3
|
import type { CodexEntrySnapshot } from "../codex/CodexTypes";
|
|
4
4
|
import type { BossCodex } from "../codex/BossCodex";
|
|
5
|
+
import type { FormationCodex } from "../codex/FormationCodex";
|
|
5
6
|
import type { ThemeManager } from "../theme/ThemeManager";
|
|
6
7
|
import type { GameConfigManager } from "../config/GameConfig";
|
|
7
8
|
import type { ContentRegistry } from "../content/ContentRegistry";
|
|
8
|
-
import type {
|
|
9
|
-
import type { CodexCanvasFactories } from "./CodexCanvasFactories";
|
|
9
|
+
import type { CodexOverlayOptions } from "./CodexOverlayTypes";
|
|
10
10
|
export declare class CodexOverlay {
|
|
11
11
|
readonly container: HTMLElement;
|
|
12
12
|
readonly i18n: I18nService;
|
|
13
13
|
readonly codex: Codex;
|
|
14
14
|
readonly bossCodex: BossCodex;
|
|
15
|
+
readonly formationCodex: FormationCodex;
|
|
15
16
|
readonly content: ContentRegistry;
|
|
16
17
|
readonly configManager: GameConfigManager;
|
|
17
18
|
readonly themeManager: ThemeManager;
|
|
@@ -20,26 +21,18 @@ export declare class CodexOverlay {
|
|
|
20
21
|
private readonly canvasFactories;
|
|
21
22
|
private readonly unsubscribe;
|
|
22
23
|
private readonly unsubscribeBossCodex;
|
|
23
|
-
|
|
24
|
+
private readonly unsubscribeFormationCodex;
|
|
25
|
+
selectedSection: "enemies" | "bosses" | "formations";
|
|
24
26
|
selectedEnemyId: string | null;
|
|
25
27
|
selectedBossId: string | null;
|
|
28
|
+
selectedFormationId: string | null;
|
|
26
29
|
private specimen;
|
|
27
30
|
private bossSpecimen;
|
|
31
|
+
private formationSpecimen;
|
|
28
32
|
private readonly variantSpecimens;
|
|
29
33
|
private isOpen;
|
|
30
34
|
private readonly handleKeyDown;
|
|
31
|
-
constructor(options:
|
|
32
|
-
parent: HTMLElement;
|
|
33
|
-
i18n: I18nService;
|
|
34
|
-
codex: Codex;
|
|
35
|
-
bossCodex: BossCodex;
|
|
36
|
-
content: ContentRegistry;
|
|
37
|
-
configManager: GameConfigManager;
|
|
38
|
-
themeManager: ThemeManager;
|
|
39
|
-
environment: UiEnvironment;
|
|
40
|
-
canvasFactories: CodexCanvasFactories;
|
|
41
|
-
onClose: () => void;
|
|
42
|
-
});
|
|
35
|
+
constructor(options: CodexOverlayOptions);
|
|
43
36
|
private mount;
|
|
44
37
|
render(): void;
|
|
45
38
|
private getOpenAccordionId;
|
|
@@ -47,6 +40,7 @@ export declare class CodexOverlay {
|
|
|
47
40
|
private resetCanvases;
|
|
48
41
|
private renderBossSection;
|
|
49
42
|
private renderEnemySection;
|
|
43
|
+
private renderFormationSection;
|
|
50
44
|
private bindEnemyButtons;
|
|
51
45
|
private bindAccordions;
|
|
52
46
|
private mountEnemyCanvases;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/CodexOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CodexOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/CodexOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AASlE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,qBAAa,YAAY;IACrB,SAAgB,SAAS,EAAE,WAAW,CAAC;IACvC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,aAAa,EAAE,iBAAiB,CAAC;IACjD,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAa;IAChD,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAa;IACjE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IACrC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;gBAEiB,OAAO,EAAE,mBAAmB;IAqB/C,OAAO,CAAC,KAAK;IAMN,MAAM,IAAI,IAAI;IAkBrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,0BAA0B;IAiB3B,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,IAAI;IAaZ,cAAc,IAAI,IAAI;IAKtB,OAAO,IAAI,IAAI;IAYf,uBAAuB,IAAI,IAAI;IAK/B,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM;IAIzD,iBAAiB,IAAI,MAAM;CAGrC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { CodexEntrySnapshot } from "../codex/CodexTypes";
|
|
2
2
|
import type { BossCodexSnapshot } from "../codex/BossCodex";
|
|
3
3
|
import type { CodexOverlay } from "./CodexOverlay";
|
|
4
|
+
import type { FormationCodexEntrySnapshot } from "../codex/CodexTypes";
|
|
4
5
|
export declare function renderSectionTabs(view: CodexOverlay): string;
|
|
5
6
|
export declare function renderEnemyBook(view: CodexOverlay, entries: readonly CodexEntrySnapshot[]): string;
|
|
6
7
|
export declare function renderBossBook(view: CodexOverlay, entries: readonly BossCodexSnapshot[]): string;
|
|
8
|
+
export declare function renderFormationBook(view: CodexOverlay, entries: readonly FormationCodexEntrySnapshot[]): string;
|
|
7
9
|
//# sourceMappingURL=CodexOverlayBookMarkup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexOverlayBookMarkup.d.ts","sourceRoot":"","sources":["../../src/ui/CodexOverlayBookMarkup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexOverlayBookMarkup.d.ts","sourceRoot":"","sources":["../../src/ui/CodexOverlayBookMarkup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAIvE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM5D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAsBlG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,CAKhG;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,2BAA2B,EAAE,GAAG,MAAM,CAK/G"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { I18nService } from "../i18n/I18nService";
|
|
2
|
+
import type { Codex } from "../codex/Codex";
|
|
3
|
+
import type { BossCodex } from "../codex/BossCodex";
|
|
4
|
+
import type { FormationCodex } from "../codex/FormationCodex";
|
|
5
|
+
import type { ThemeManager } from "../theme/ThemeManager";
|
|
6
|
+
import type { GameConfigManager } from "../config/GameConfig";
|
|
7
|
+
import type { ContentRegistry } from "../content/ContentRegistry";
|
|
8
|
+
import type { UiEnvironment } from "./UiEnvironment";
|
|
9
|
+
import type { CodexCanvasFactories } from "./CodexCanvasFactories";
|
|
10
|
+
export interface CodexOverlayOptions {
|
|
11
|
+
readonly parent: HTMLElement;
|
|
12
|
+
readonly i18n: I18nService;
|
|
13
|
+
readonly codex: Codex;
|
|
14
|
+
readonly bossCodex: BossCodex;
|
|
15
|
+
readonly formationCodex: FormationCodex;
|
|
16
|
+
readonly content: ContentRegistry;
|
|
17
|
+
readonly configManager: GameConfigManager;
|
|
18
|
+
readonly themeManager: ThemeManager;
|
|
19
|
+
readonly environment: UiEnvironment;
|
|
20
|
+
readonly canvasFactories: CodexCanvasFactories;
|
|
21
|
+
readonly onClose: () => void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=CodexOverlayTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexOverlayTypes.d.ts","sourceRoot":"","sources":["../../src/ui/CodexOverlayTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC"}
|
package/dist/ui/HUDOverlay.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { I18nService } from "../i18n/I18nService";
|
|
1
2
|
export declare class HUDOverlay {
|
|
2
3
|
private container;
|
|
3
4
|
private comboElement;
|
|
4
5
|
private challengeCounterElement;
|
|
5
6
|
private settingsButton;
|
|
6
|
-
constructor(parent: HTMLElement, onOpenSettings: () => void);
|
|
7
|
+
constructor(parent: HTMLElement, i18n: I18nService, onOpenSettings: () => void);
|
|
7
8
|
renderLabels(): void;
|
|
8
9
|
update(combo: number, challengeKillsRemaining?: number | null): void;
|
|
9
10
|
show(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HUDOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/HUDOverlay.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI;
|
|
1
|
+
{"version":3,"file":"HUDOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/HUDOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI;IA4BvE,YAAY,IAAI,IAAI;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,uBAAuB,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAmB1E,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;CAGtB"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { I18nService } from "../i18n/I18nService";
|
|
2
2
|
import type { ThemeManager } from "../theme/ThemeManager";
|
|
3
3
|
import type { GamePlatform } from "../platform/platform";
|
|
4
|
-
import {
|
|
4
|
+
import type { Language } from "../i18n/locales";
|
|
5
5
|
import type { FpsLimit } from "../core/GameLoop";
|
|
6
|
-
import type { SettingsPreferences } from "./SettingsPreferences";
|
|
6
|
+
import type { EffectsIntensity, SettingsPreferences } from "./SettingsPreferences";
|
|
7
7
|
import type { UiEnvironment } from "./UiEnvironment";
|
|
8
|
+
export type SettingsAccessibilityState = {
|
|
9
|
+
readonly reducedMotion: boolean;
|
|
10
|
+
readonly effectsIntensity: EffectsIntensity;
|
|
11
|
+
readonly highContrast: boolean;
|
|
12
|
+
};
|
|
8
13
|
export type SettingsModalOptions = {
|
|
9
14
|
parent: HTMLElement;
|
|
10
15
|
i18n: I18nService;
|
|
@@ -13,8 +18,9 @@ export type SettingsModalOptions = {
|
|
|
13
18
|
preferences: SettingsPreferences;
|
|
14
19
|
environment: UiEnvironment;
|
|
15
20
|
onLanguageChanged?: (lang: Language) => void;
|
|
16
|
-
onClose?: () => void;
|
|
21
|
+
onClose?: (returnToMenu: boolean) => void;
|
|
17
22
|
onFpsLimitChanged?: (limit: FpsLimit) => void;
|
|
23
|
+
onAccessibilityChanged?: (settings: SettingsAccessibilityState) => void;
|
|
18
24
|
};
|
|
19
25
|
export declare class SettingsModal {
|
|
20
26
|
private readonly modal;
|
|
@@ -27,16 +33,30 @@ export declare class SettingsModal {
|
|
|
27
33
|
private readonly onLanguageChangedCallback;
|
|
28
34
|
private readonly onCloseCallback;
|
|
29
35
|
private readonly onFpsLimitChangedCallback;
|
|
36
|
+
private readonly onAccessibilityChangedCallback;
|
|
30
37
|
private hapticsEnabled;
|
|
31
38
|
private fpsLimit;
|
|
39
|
+
private section;
|
|
40
|
+
private returnToMenu;
|
|
32
41
|
constructor(options: SettingsModalOptions);
|
|
33
42
|
renderContent(): void;
|
|
34
43
|
isHapticsEnabled(): boolean;
|
|
35
44
|
getFpsLimit(): FpsLimit;
|
|
36
|
-
show(): void;
|
|
45
|
+
show(returnToMenu?: boolean): void;
|
|
37
46
|
hide(): void;
|
|
47
|
+
updateLanguage(): void;
|
|
38
48
|
private loadPreferences;
|
|
49
|
+
private createViewActions;
|
|
50
|
+
private changeTheme;
|
|
51
|
+
private changeFpsLimit;
|
|
52
|
+
private changeHaptics;
|
|
53
|
+
private changeTutorial;
|
|
54
|
+
private changeReducedMotion;
|
|
55
|
+
private changeEffectsIntensity;
|
|
56
|
+
private changeHighContrast;
|
|
57
|
+
private changeSection;
|
|
39
58
|
private getViewState;
|
|
59
|
+
private notifyAccessibilityChanged;
|
|
40
60
|
private changeLanguage;
|
|
41
61
|
}
|
|
42
62
|
//# sourceMappingURL=SettingsModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1J,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC9C,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAC3E,CAAC;AAEF,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IACnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA0C;IACpF,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAA+D;IAC9G,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,YAAY,CAAS;gBAEV,OAAO,EAAE,oBAAoB;IAsBzC,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,OAAO;IAG3B,WAAW,IAAI,QAAQ;IAGvB,IAAI,CAAC,YAAY,UAAQ,GAAG,IAAI;IAKhC,IAAI,IAAI,IAAI;IAGZ,cAAc,IAAI,IAAI;IAI7B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,0BAA0B;IAGlC,OAAO,CAAC,cAAc;CAKzB"}
|
|
@@ -2,12 +2,18 @@ import type { I18nService } from "../i18n/I18nService";
|
|
|
2
2
|
import type { FpsLimit } from "../core/GameLoop";
|
|
3
3
|
import type { Language } from "../i18n/locales";
|
|
4
4
|
import type { Theme } from "../theme/ThemeManager";
|
|
5
|
+
import type { EffectsIntensity } from "./SettingsPreferences";
|
|
6
|
+
export type SettingsSection = "general" | "accessibility" | "audio";
|
|
5
7
|
export interface SettingsViewState {
|
|
6
8
|
readonly language: Language;
|
|
7
9
|
readonly theme: Theme;
|
|
8
10
|
readonly fpsLimit: FpsLimit;
|
|
9
11
|
readonly hapticsEnabled: boolean;
|
|
10
12
|
readonly tutorialEnabled: boolean;
|
|
13
|
+
readonly reducedMotion: boolean;
|
|
14
|
+
readonly effectsIntensity: EffectsIntensity;
|
|
15
|
+
readonly highContrast: boolean;
|
|
16
|
+
readonly section: SettingsSection;
|
|
11
17
|
}
|
|
12
18
|
export interface SettingsViewActions {
|
|
13
19
|
readonly onLanguageChanged: (language: Language) => void;
|
|
@@ -15,6 +21,10 @@ export interface SettingsViewActions {
|
|
|
15
21
|
readonly onFpsLimitChanged: (limit: FpsLimit) => void;
|
|
16
22
|
readonly onHapticsChanged: (enabled: boolean) => void;
|
|
17
23
|
readonly onTutorialChanged: (enabled: boolean) => void;
|
|
24
|
+
readonly onReducedMotionChanged: (enabled: boolean) => void;
|
|
25
|
+
readonly onEffectsIntensityChanged: (intensity: EffectsIntensity) => void;
|
|
26
|
+
readonly onHighContrastChanged: (enabled: boolean) => void;
|
|
27
|
+
readonly onSectionChanged: (section: SettingsSection) => void;
|
|
18
28
|
readonly onClose: () => void;
|
|
19
29
|
}
|
|
20
30
|
export declare class SettingsModalView {
|
|
@@ -22,16 +32,20 @@ export declare class SettingsModalView {
|
|
|
22
32
|
private readonly i18n;
|
|
23
33
|
constructor(document: Document, i18n: I18nService);
|
|
24
34
|
render(card: HTMLElement, state: SettingsViewState, actions: SettingsViewActions): void;
|
|
25
|
-
private
|
|
35
|
+
private createHeader;
|
|
36
|
+
private createNavigation;
|
|
37
|
+
private createContent;
|
|
38
|
+
private createSectionIntro;
|
|
26
39
|
private createLanguageRow;
|
|
27
40
|
private createThemeRow;
|
|
28
41
|
private createFpsRow;
|
|
29
|
-
private
|
|
30
|
-
private
|
|
42
|
+
private createIntensityRow;
|
|
43
|
+
private createChoiceRow;
|
|
31
44
|
private createBooleanRow;
|
|
45
|
+
private createAudioPlaceholder;
|
|
32
46
|
private createRow;
|
|
33
47
|
private createToggle;
|
|
48
|
+
private createButton;
|
|
34
49
|
private createCredits;
|
|
35
|
-
private createCloseButton;
|
|
36
50
|
}
|
|
37
51
|
//# sourceMappingURL=SettingsModalView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsModalView.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModalView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsModalView.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModalView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA0B9D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,yBAAyB,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW;IAG/B,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAK9F,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;CAMxB"}
|
|
@@ -6,7 +6,14 @@ export interface SettingsPreferences {
|
|
|
6
6
|
setFpsLimit(limit: FpsLimit): void;
|
|
7
7
|
getTutorialEnabled(): boolean;
|
|
8
8
|
setTutorialEnabled(enabled: boolean): void;
|
|
9
|
+
getReducedMotion(): boolean;
|
|
10
|
+
setReducedMotion(enabled: boolean): void;
|
|
11
|
+
getEffectsIntensity(): EffectsIntensity;
|
|
12
|
+
setEffectsIntensity(intensity: EffectsIntensity): void;
|
|
13
|
+
getHighContrast(): boolean;
|
|
14
|
+
setHighContrast(enabled: boolean): void;
|
|
9
15
|
}
|
|
16
|
+
export type EffectsIntensity = "full" | "reduced" | "minimal";
|
|
10
17
|
export declare class BrowserSettingsPreferences implements SettingsPreferences {
|
|
11
18
|
private readonly storage;
|
|
12
19
|
constructor(storage?: Storage | null);
|
|
@@ -16,6 +23,12 @@ export declare class BrowserSettingsPreferences implements SettingsPreferences {
|
|
|
16
23
|
setFpsLimit(limit: FpsLimit): void;
|
|
17
24
|
getTutorialEnabled(): boolean;
|
|
18
25
|
setTutorialEnabled(enabled: boolean): void;
|
|
26
|
+
getReducedMotion(): boolean;
|
|
27
|
+
setReducedMotion(enabled: boolean): void;
|
|
28
|
+
getEffectsIntensity(): EffectsIntensity;
|
|
29
|
+
setEffectsIntensity(intensity: EffectsIntensity): void;
|
|
30
|
+
getHighContrast(): boolean;
|
|
31
|
+
setHighContrast(enabled: boolean): void;
|
|
19
32
|
private static getStorage;
|
|
20
33
|
}
|
|
21
34
|
//# sourceMappingURL=SettingsPreferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsPreferences.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,IAAI,OAAO,CAAC;IAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,WAAW,IAAI,QAAQ,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsPreferences.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,IAAI,OAAO,CAAC;IAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,WAAW,IAAI,QAAQ,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,gBAAgB,IAAI,OAAO,CAAC;IAC5B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,mBAAmB,IAAI,gBAAgB,CAAC;IACxC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvD,eAAe,IAAI,OAAO,CAAC;IAC3B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEtB,OAAO,GAAE,OAAO,GAAG,IAA8C;IAI7E,iBAAiB,IAAI,OAAO;IAI5B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,WAAW,IAAI,QAAQ;IAKvB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC,mBAAmB,IAAI,gBAAgB;IAKvC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAItD,eAAe,IAAI,OAAO;IAI1B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI9C,OAAO,CAAC,MAAM,CAAC,UAAU;CAO5B"}
|
package/dist/ui/StartMenu.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type StartMenuOptions = {
|
|
|
10
10
|
onOpenCodex: () => void;
|
|
11
11
|
onOpenChallenges: () => void;
|
|
12
12
|
onOpenAchievements: () => void;
|
|
13
|
+
onOpenSettings: () => void;
|
|
13
14
|
hasCodexUnread: () => boolean;
|
|
14
15
|
geneticMemory: GeneticMemory;
|
|
15
16
|
coreRoster: CoreRoster;
|
|
@@ -23,6 +24,7 @@ export declare class StartMenu {
|
|
|
23
24
|
private onOpenCodex;
|
|
24
25
|
private onOpenChallenges;
|
|
25
26
|
private onOpenAchievements;
|
|
27
|
+
private onOpenSettings;
|
|
26
28
|
private hasCodexUnread;
|
|
27
29
|
private geneticMemory;
|
|
28
30
|
private coreRoster;
|
|
@@ -30,6 +32,7 @@ export declare class StartMenu {
|
|
|
30
32
|
renderContent(): void;
|
|
31
33
|
private renderMarkup;
|
|
32
34
|
private bindEvents;
|
|
35
|
+
private bindMenuAction;
|
|
33
36
|
private renderSecondaryActions;
|
|
34
37
|
private renderChallengeButton;
|
|
35
38
|
private renderCoreButton;
|
|
@@ -41,6 +44,7 @@ export declare class StartMenu {
|
|
|
41
44
|
private hasPurchasableGeneticMemory;
|
|
42
45
|
private renderEcosomaIcon;
|
|
43
46
|
private renderCodexIcon;
|
|
47
|
+
private renderSettingsIcon;
|
|
44
48
|
private renderChallengeSigil;
|
|
45
49
|
}
|
|
46
50
|
//# sourceMappingURL=StartMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartMenu.d.ts","sourceRoot":"","sources":["../../src/ui/StartMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,OAAO,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"StartMenu.d.ts","sourceRoot":"","sources":["../../src/ui/StartMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,OAAO,EAAE,gBAAgB;IAmB9B,aAAa,IAAI,IAAI;IAK5B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,wBAAwB;IAIzB,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAInB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;CAG/B"}
|
package/package.json
CHANGED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
-
import type { EnemyPoolPort } from "../pool/EnemyPool";
|
|
3
|
-
import type { EntityFactory } from "../factory/EntityFactory";
|
|
4
|
-
import type { Vector2D, EnemyType } from "../types/game";
|
|
5
|
-
export type VariantResolver = (enemyId: EnemyType) => string | undefined;
|
|
6
|
-
export type SpawnerPatternOptions = {
|
|
7
|
-
algorithmId: string;
|
|
8
|
-
factory: EntityFactory;
|
|
9
|
-
pool: EnemyPoolPort;
|
|
10
|
-
enemyIds: readonly EnemyType[];
|
|
11
|
-
corePos: Vector2D;
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
variantResolver: VariantResolver;
|
|
15
|
-
};
|
|
16
|
-
export declare class SpawnerPatterns {
|
|
17
|
-
private static readonly algorithms;
|
|
18
|
-
static spawn(options: SpawnerPatternOptions): EnemyEntity[];
|
|
19
|
-
static getOffscreenPosition(width: number, height: number): Vector2D;
|
|
20
|
-
static spawnCircleOfDeath(options: SpawnerPatternOptions): EnemyEntity[];
|
|
21
|
-
static spawnDenseCluster(options: SpawnerPatternOptions): EnemyEntity[];
|
|
22
|
-
static spawnSineSnake(options: SpawnerPatternOptions): EnemyEntity[];
|
|
23
|
-
static spawnDoubleSpiral(options: SpawnerPatternOptions): EnemyEntity[];
|
|
24
|
-
static spawnMarchingWall(options: SpawnerPatternOptions): EnemyEntity[];
|
|
25
|
-
static spawnCrossfireStreams(options: SpawnerPatternOptions): EnemyEntity[];
|
|
26
|
-
private static spawnMany;
|
|
27
|
-
private static spawnEnemy;
|
|
28
|
-
private static getClusterCenter;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=SpawnerPatterns.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAWF,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAOhC;WAEY,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAIpD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAc7D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAkBjE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAiBhE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAU7D,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAgBhE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAahE,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;IASlF,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAWzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOlC"}
|