@gamebob/axon-surge 0.5.0 → 0.6.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 +943 -632
- package/dist/core/GameEngine.d.ts +2 -2
- package/dist/core/GameEngine.d.ts.map +1 -1
- package/dist/director/InteractiveTutorial.d.ts +19 -0
- package/dist/director/InteractiveTutorial.d.ts.map +1 -0
- package/dist/director/WaveDirector.d.ts.map +1 -1
- package/dist/entities/EnemyEntity.d.ts +1 -0
- package/dist/entities/EnemyEntity.d.ts.map +1 -1
- package/dist/factory/EntityFactory.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +6 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts +2 -1
- package/dist/input/InputManager.d.ts.map +1 -1
- package/dist/physics/PhysicsEngine.d.ts.map +1 -1
- package/dist/render/CanvasRenderer.d.ts +5 -1
- package/dist/render/CanvasRenderer.d.ts.map +1 -1
- package/dist/render/CosmosBackgroundRenderer.d.ts +4 -0
- package/dist/render/CosmosBackgroundRenderer.d.ts.map +1 -0
- package/dist/render/OffscreenIndicatorRenderer.d.ts +10 -0
- package/dist/render/OffscreenIndicatorRenderer.d.ts.map +1 -0
- package/dist/render/TutorialArrowRenderer.d.ts +5 -0
- package/dist/render/TutorialArrowRenderer.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/ui/SettingsModal.d.ts.map +1 -1
- package/dist/ui/TutorialOverlay.d.ts +19 -0
- package/dist/ui/TutorialOverlay.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -23,7 +23,8 @@ export declare class GameEngine {
|
|
|
23
23
|
private hud;
|
|
24
24
|
private startMenu;
|
|
25
25
|
private settingsModal;
|
|
26
|
-
private
|
|
26
|
+
private interactiveTutorial;
|
|
27
|
+
private tutorialOverlay;
|
|
27
28
|
private progressBar;
|
|
28
29
|
private core;
|
|
29
30
|
private enemies;
|
|
@@ -37,7 +38,6 @@ export declare class GameEngine {
|
|
|
37
38
|
private combo;
|
|
38
39
|
private isRunning;
|
|
39
40
|
private isPaused;
|
|
40
|
-
private firstPlay;
|
|
41
41
|
constructor(options: GameEngineOptions);
|
|
42
42
|
setLanguage(language: Language): void;
|
|
43
43
|
setTheme(theme: Theme): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,OAAO,EAAE,iBAAiB;IA4D/B,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKrC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,WAAW;IA2CZ,SAAS,IAAI,IAAI;IA6BxB,OAAO,CAAC,MAAM;IA+Dd,OAAO,CAAC,MAAM;CAiBjB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
+
export declare class InteractiveTutorial {
|
|
3
|
+
isActive: boolean;
|
|
4
|
+
showWarning: boolean;
|
|
5
|
+
private dummyLauncher;
|
|
6
|
+
private dummyTarget;
|
|
7
|
+
private initialLauncherPos;
|
|
8
|
+
private initialTargetPos;
|
|
9
|
+
isTutorialEnabled(): boolean;
|
|
10
|
+
setTutorialEnabled(enabled: boolean): void;
|
|
11
|
+
getLauncher(): EnemyEntity | null;
|
|
12
|
+
getTarget(): EnemyEntity | null;
|
|
13
|
+
getStep(): 1 | 2;
|
|
14
|
+
start(width: number, height: number, activeEnemies: EnemyEntity[]): void;
|
|
15
|
+
update(dt: number, enemies: EnemyEntity[], width: number, height: number, onComplete: () => void, onForceRelease?: () => void): void;
|
|
16
|
+
private resetDummies;
|
|
17
|
+
complete(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=InteractiveTutorial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,qBAAa,mBAAmB;IACrB,QAAQ,EAAE,OAAO,CAAS;IAC1B,WAAW,EAAE,OAAO,CAAS;IACpC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,gBAAgB,CAA4B;IAE7C,iBAAiB,IAAI,OAAO;IAQ5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM1C,WAAW,IAAI,WAAW,GAAG,IAAI;IAIjC,SAAS,IAAI,WAAW,GAAG,IAAI;IAI/B,OAAO,IAAI,CAAC,GAAG,CAAC;IAOhB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IA+BxE,MAAM,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,IAAI,EACtB,cAAc,CAAC,EAAE,MAAM,IAAI,GAC5B,IAAI;IA0DP,OAAO,CAAC,YAAY;IAab,QAAQ,IAAI,IAAI;CAI1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,qBAAa,YAAY;IACd,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,qBAAa,YAAY;IACd,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;;IAMlC,KAAK,IAAI,IAAI;IAOb,MAAM,CACT,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,GAAG,IAAI;IAgCrB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;CAqDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvD,qBAAa,WAAW;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAkB;IACpC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,SAAS,CAAa;IAC5B,MAAM,EAAE,OAAO,CAAS;IACxB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,cAAc,EAAE,OAAO,CAAS;IAChC,QAAQ,EAAE,MAAM,CAAK;IACrB,KAAK,EAAE,MAAM,CAAa;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,gBAAgB,EAAE,MAAM,CAAO;
|
|
1
|
+
{"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvD,qBAAa,WAAW;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAkB;IACpC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,SAAS,CAAa;IAC5B,MAAM,EAAE,OAAO,CAAS;IACxB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,cAAc,EAAE,OAAO,CAAS;IAChC,QAAQ,EAAE,MAAM,CAAK;IACrB,KAAK,EAAE,MAAM,CAAa;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,gBAAgB,EAAE,MAAM,CAAO;IAC/B,QAAQ,EAAE,MAAM,CAAO;IAEvB,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,SAAS,CAAU;IAC9B,UAAU,EAAE,MAAM,CAAK;IACvB,aAAa,EAAE,MAAM,CAAO;IAC5B,UAAU,EAAE,MAAM,CAAK;gBAElB,EAAE,EAAE,MAAM;IAIf,YAAY,IAAI,MAAM;IAItB,oBAAoB,IAAI,IAAI;IAS5B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUtC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA+BxB,KAAK,IAAI,IAAI;CAevB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFactory.d.ts","sourceRoot":"","sources":["../../src/factory/EntityFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAOzD,qBAAa,aAAa;WACR,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW;WAOhF,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"EntityFactory.d.ts","sourceRoot":"","sources":["../../src/factory/EntityFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAOzD,qBAAa,aAAa;WACR,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW;WAOhF,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;CAyDjH"}
|
package/dist/i18n/locales.d.ts
CHANGED
|
@@ -15,6 +15,12 @@ export interface Translations {
|
|
|
15
15
|
grabInstruction: string;
|
|
16
16
|
throwInstruction: string;
|
|
17
17
|
comboText: string;
|
|
18
|
+
tutorialInstruction: string;
|
|
19
|
+
dontShowTutorialLabel: string;
|
|
20
|
+
tutorialSettingLabel: string;
|
|
21
|
+
tutorialStep1Text: string;
|
|
22
|
+
tutorialStep2Text: string;
|
|
23
|
+
tutorialDragWarning: string;
|
|
18
24
|
}
|
|
19
25
|
export declare const LOCALES: Record<Language, Translations>;
|
|
20
26
|
export declare const LANGUAGES: Language[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GACd,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GACd,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,CA0VlD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,QAAQ,EAgB/B,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,QAAQ,CAEzD"}
|
|
@@ -10,8 +10,9 @@ export declare class InputManager {
|
|
|
10
10
|
constructor(canvas: HTMLCanvasElement);
|
|
11
11
|
private updatePointerPos;
|
|
12
12
|
private bindEvents;
|
|
13
|
-
tryGrab(enemies: EnemyEntity[]): EnemyEntity | null;
|
|
13
|
+
tryGrab(enemies: EnemyEntity[], isTouch?: boolean): EnemyEntity | null;
|
|
14
14
|
releaseAndThrow(): EnemyEntity | null;
|
|
15
|
+
forceRelease(): void;
|
|
15
16
|
reset(): void;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=InputManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQtD,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQtD,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,UAAU;IAwDX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IAqB7E,eAAe,IAAI,WAAW,GAAG,IAAI;IA2DrC,YAAY,IAAI,IAAI;IAWpB,KAAK,IAAI,IAAI;CAMvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsEngine.d.ts","sourceRoot":"","sources":["../../src/physics/PhysicsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa;IACtB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW;IAM1C,MAAM,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI;
|
|
1
|
+
{"version":3,"file":"PhysicsEngine.d.ts","sourceRoot":"","sources":["../../src/physics/PhysicsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa;IACtB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW;IAM1C,MAAM,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI;IAmVP,OAAO,CAAC,0BAA0B;CA+DrC"}
|
|
@@ -3,12 +3,16 @@ import { EnemyEntity } from "../entities/EnemyEntity";
|
|
|
3
3
|
import type { ToxicPool, GravityVortex, Shockwave, FloatingText, Particle, Vector2D } from "../types/game";
|
|
4
4
|
import { JuiceEffects } from "./JuiceEffects";
|
|
5
5
|
import { ThemeManager } from "../theme/ThemeManager";
|
|
6
|
+
import type { InteractiveTutorial } from "../director/InteractiveTutorial";
|
|
6
7
|
export declare class CanvasRenderer {
|
|
7
8
|
private canvas;
|
|
8
9
|
private ctx;
|
|
9
10
|
private themeManager;
|
|
11
|
+
private indicatorRenderer;
|
|
12
|
+
private bgRenderer;
|
|
13
|
+
private tutorialArrowRenderer;
|
|
10
14
|
constructor(canvas: HTMLCanvasElement, themeManager: ThemeManager);
|
|
11
|
-
render(core: CoreEntity, enemies: EnemyEntity[], pools: ToxicPool[], vortices: GravityVortex[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, grabbedEnemy: EnemyEntity | null, mousePos: Vector2D): void;
|
|
15
|
+
render(core: CoreEntity, enemies: EnemyEntity[], pools: ToxicPool[], vortices: GravityVortex[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, grabbedEnemy: EnemyEntity | null, mousePos: Vector2D, level?: number, tutorial?: InteractiveTutorial): void;
|
|
12
16
|
private drawToxicPools;
|
|
13
17
|
private drawShockwaves;
|
|
14
18
|
private drawGravityVortices;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../src/render/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../src/render/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,uBAAuB,CAAC;AAIxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,qBAAqB,CAAwB;gBAEzC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY;IAS1D,MAAM,CACT,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,WAAW,GAAG,IAAI,EAChC,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,MAAU,EACjB,QAAQ,CAAC,EAAE,mBAAmB,GAC/B,IAAI;IAwCP,OAAO,CAAC,cAAc;IAqEtB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,yBAAyB;IAgCjC,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,4BAA4B;IAkEpC,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAuK1B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;CAc5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CosmosBackgroundRenderer.d.ts","sourceRoot":"","sources":["../../src/render/CosmosBackgroundRenderer.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAwB;IAC1B,MAAM,CACT,GAAG,EAAE,wBAAwB,EAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACd,IAAI;CAoCV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
+
export declare class OffscreenIndicatorRenderer {
|
|
3
|
+
private maxDistance;
|
|
4
|
+
private maxThickness;
|
|
5
|
+
private minThickness;
|
|
6
|
+
private maxLength;
|
|
7
|
+
private minLength;
|
|
8
|
+
render(ctx: CanvasRenderingContext2D, enemies: EnemyEntity[], width: number, height: number): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=OffscreenIndicatorRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OffscreenIndicatorRenderer.d.ts","sourceRoot":"","sources":["../../src/render/OffscreenIndicatorRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,0BAA0B;IACnC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAc;IAExB,MAAM,CACT,GAAG,EAAE,wBAAwB,EAC7B,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,IAAI;CAkDV"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InteractiveTutorial } from "../director/InteractiveTutorial";
|
|
2
|
+
export declare class TutorialArrowRenderer {
|
|
3
|
+
render(ctx: CanvasRenderingContext2D, tutorial: InteractiveTutorial, time: number): void;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=TutorialArrowRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TutorialArrowRenderer.d.ts","sourceRoot":"","sources":["../../src/render/TutorialArrowRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,qBAAa,qBAAqB;IACvB,MAAM,CACT,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,GACb,IAAI;CA8EV"}
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Outfit:wght@500;700;900&display=swap";:root,[data-theme=bioluminescent]{--color-bg-deep: #03050a;--color-card-bg: #0b1424;--color-axon-cyan: #00f0ff;--color-axon-magenta: #ff00dd;--color-axon-green: #39ff14;--color-axon-gold: #ffd700;--color-axon-purple: #9d4edd;--color-text-main: #ffffff;--color-text-muted: rgba(0, 240, 255, .85);--color-btn-bg: #ff00dd;--color-btn-text: #ffffff;--color-btn-hover-bg: #00f0ff;--color-btn-hover-text: #03050a;--color-toggle-bg: #050b16;--color-toggle-active-bg: #00f0ff;--color-toggle-active-text: #03050a;--color-border-glow: rgba(0, 240, 255, .4);--color-progress-fill: #ff00dd;--halo-glow-primary: rgba(0, 240, 255, .35);--backdrop-glow: rgba(3, 5, 10, .85)}[data-theme=dark]{--color-bg-deep: #08080c;--color-card-bg: #121520;--color-axon-cyan: #00b4d8;--color-axon-magenta: #d800a6;--color-axon-green: #20bf55;--color-axon-gold: #e5a93c;--color-axon-purple: #7209b7;--color-text-main: #f0f0f5;--color-text-muted: rgba(0, 180, 216, .85);--color-btn-bg: #d800a6;--color-btn-text: #ffffff;--color-btn-hover-bg: #00b4d8;--color-btn-hover-text: #08080c;--color-toggle-bg: #0b0d14;--color-toggle-active-bg: #00b4d8;--color-toggle-active-text: #08080c;--color-border-glow: rgba(0, 180, 216, .4);--color-progress-fill: #d800a6;--halo-glow-primary: rgba(0, 180, 216, .3);--backdrop-glow: rgba(8, 8, 12, .85)}[data-theme=light]{--color-bg-deep: #f0f4f8;--color-card-bg: #ffffff;--color-axon-cyan: #0284c7;--color-axon-magenta: #c026d3;--color-axon-green: #16a34a;--color-axon-gold: #d97706;--color-axon-purple: #7c3aed;--color-text-main: #0f172a;--color-text-muted: #0284c7;--color-btn-bg: #0284c7;--color-btn-text: #ffffff;--color-btn-hover-bg: #c026d3;--color-btn-hover-text: #ffffff;--color-toggle-bg: #e2e8f0;--color-toggle-active-bg: #0284c7;--color-toggle-active-text: #ffffff;--color-border-glow: rgba(2, 132, 199, .4);--color-progress-fill: #0284c7;--halo-glow-primary: rgba(2, 132, 199, .25);--backdrop-glow: rgba(240, 244, 248, .85)}.axon-game-root{position:relative;width:100%;height:100%;overflow:hidden;background:var(--color-bg-deep);font-family:Outfit,-apple-system,sans-serif;user-select:none;transition:background .3s ease}.axon-canvas{display:block;width:100%;height:100%}.axon-hud{position:absolute;top:28px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:30}.axon-hud-wave{background:transparent;border:none;padding:0;color:var(--color-text-muted);font-family:Orbitron,sans-serif;font-weight:700;font-size:11px;letter-spacing:3px;text-shadow:0 0 10px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-hud-wave span{font-size:32px;font-weight:900;color:var(--color-text-main);display:block;margin-top:2px;text-shadow:0 0 14px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-hud-level-track{width:68px;height:4px;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:4px;margin-top:6px;overflow:hidden}.axon-hud-level-fill{width:0%;height:100%;background:var(--color-axon-cyan);box-shadow:0 0 10px var(--color-axon-cyan);border-radius:4px;transition:width .2s ease}.axon-hud-combo{position:absolute;left:50%;transform:translate(-50%);top:0;pointer-events:none}.axon-hud-combo span{font-family:Orbitron,sans-serif;font-size:48px;font-weight:900;color:var(--color-axon-magenta);text-shadow:0 0 20px var(--color-axon-magenta),0 0 40px var(--color-axon-cyan);letter-spacing:2px;display:none;animation:axon-combo-pulse .3s cubic-bezier(.25,1,.5,1)}@keyframes axon-combo-pulse{0%{transform:scale(1.4)}to{transform:scale(1)}}.axon-hud-settings-btn{pointer-events:auto;background:var(--color-toggle-bg);border:1.5px solid var(--color-axon-cyan);border-radius:50%;width:44px;height:44px;color:var(--color-axon-cyan);cursor:pointer;backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 0 18px var(--halo-glow-primary);display:flex;align-items:center;justify-content:center;z-index:40}.axon-hud-settings-btn:hover{background:var(--color-axon-cyan);color:var(--color-bg-deep);box-shadow:0 0 30px var(--color-axon-cyan);transform:scale(1.1)}.axon-start-menu{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:transparent;z-index:20;pointer-events:none}.axon-title-halo{position:relative;text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:36px;background:transparent;pointer-events:auto}.axon-title{margin:0;font-family:Orbitron,sans-serif;font-size:64px;font-weight:900;color:var(--color-text-main);letter-spacing:8px;text-transform:uppercase;text-shadow:0 0 16px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-start-button{background:var(--color-btn-bg);border:2px solid var(--color-axon-cyan);border-radius:50px;color:var(--color-btn-text);font-family:Orbitron,sans-serif;font-size:18px;font-weight:900;padding:18px 52px;cursor:pointer;letter-spacing:3px;transition:all .3s cubic-bezier(.25,1,.5,1);box-shadow:0 0 35px var(--color-btn-bg);text-shadow:0 0 8px rgba(255,255,255,.8);pointer-events:auto}.axon-start-button:hover{transform:scale(1.08) translateY(-2px);background:var(--color-btn-hover-bg);color:var(--color-btn-hover-text);border-color:var(--color-axon-cyan);box-shadow:0 0 60px var(--color-btn-hover-bg)}.axon-onboarding{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:15;pointer-events:none}.axon-onboarding-hint{background:var(--color-card-bg);border:1.5px solid var(--color-axon-cyan);border-radius:30px;padding:14px 28px;color:var(--color-text-main);font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;backdrop-filter:blur(10px);box-shadow:0 0 30px var(--color-axon-cyan);animation:axon-onboarding-float 2s ease-in-out infinite alternate;transition:all .3s ease}@keyframes axon-onboarding-float{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.axon-settings-modal{border:none;background:transparent;padding:0;margin:auto;z-index:100}.axon-settings-modal::backdrop{background:var(--backdrop-glow);backdrop-filter:blur(12px);transition:background .3s ease}.axon-settings-card{background:var(--color-card-bg);border:1.5px solid var(--color-axon-cyan);border-radius:28px;padding:36px 44px;color:var(--color-text-main);min-width:380px;max-width:440px;box-shadow:0 0 50px var(--halo-glow-primary);display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.axon-settings-card h2{font-family:Orbitron,sans-serif;color:var(--color-axon-cyan);margin-top:0;margin-bottom:28px;font-size:24px;text-shadow:0 0 12px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-setting-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:22px;font-weight:700;font-size:12px;letter-spacing:1px;color:var(--color-text-main);transition:color .3s ease}.axon-select-wrapper{position:relative;display:inline-block}.axon-select{appearance:none;-webkit-appearance:none;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:20px;padding:8px 36px 8px 16px;color:var(--color-axon-cyan);font-family:Orbitron,sans-serif;font-size:11px;font-weight:900;cursor:pointer;outline:none;letter-spacing:1px;box-shadow:0 0 10px var(--halo-glow-primary);transition:all .2s ease}.axon-select:hover,.axon-select:focus{border-color:var(--color-axon-cyan);box-shadow:0 0 18px var(--color-axon-cyan)}.axon-select option{background:var(--color-card-bg);color:var(--color-text-main);font-family:Outfit,sans-serif;font-size:13px;padding:8px}.axon-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-axon-cyan);font-size:9px}.axon-toggle-group{display:flex;gap:6px;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:20px;padding:4px;transition:all .3s ease}.axon-toggle-btn{background:transparent;border:none;border-radius:14px;color:var(--color-text-muted);font-family:Orbitron,sans-serif;font-size:10px;font-weight:900;padding:7px 16px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.axon-toggle-btn.active{background:var(--color-toggle-active-bg);color:var(--color-toggle-active-text);box-shadow:0 0 14px var(--color-toggle-active-bg)}.axon-settings-credits{margin:18px 0 24px;font-size:11px;color:var(--color-text-muted);text-align:center;letter-spacing:1px;opacity:.8;transition:color .3s ease}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700;900&family=Orbitron:wght@700;900&family=Outfit:wght@500;700;900&display=swap";:root,[data-theme=bioluminescent]{--color-bg-deep: #03050a;--color-card-bg: #0b1424;--color-axon-cyan: #00f0ff;--color-axon-magenta: #ff00dd;--color-axon-green: #39ff14;--color-axon-gold: #ffd700;--color-axon-purple: #9d4edd;--color-text-main: #ffffff;--color-text-muted: rgba(0, 240, 255, .85);--color-btn-bg: #ff00dd;--color-btn-text: #ffffff;--color-btn-hover-bg: #00f0ff;--color-btn-hover-text: #03050a;--color-toggle-bg: #050b16;--color-toggle-active-bg: #00f0ff;--color-toggle-active-text: #03050a;--color-border-glow: rgba(0, 240, 255, .4);--color-progress-fill: #ff00dd;--halo-glow-primary: rgba(0, 240, 255, .35);--backdrop-glow: rgba(3, 5, 10, .85)}[data-theme=dark]{--color-bg-deep: #08080c;--color-card-bg: #121520;--color-axon-cyan: #00b4d8;--color-axon-magenta: #d800a6;--color-axon-green: #20bf55;--color-axon-gold: #e5a93c;--color-axon-purple: #7209b7;--color-text-main: #f0f0f5;--color-text-muted: rgba(0, 180, 216, .85);--color-btn-bg: #d800a6;--color-btn-text: #ffffff;--color-btn-hover-bg: #00b4d8;--color-btn-hover-text: #08080c;--color-toggle-bg: #0b0d14;--color-toggle-active-bg: #00b4d8;--color-toggle-active-text: #08080c;--color-border-glow: rgba(0, 180, 216, .4);--color-progress-fill: #d800a6;--halo-glow-primary: rgba(0, 180, 216, .3);--backdrop-glow: rgba(8, 8, 12, .85)}[data-theme=light]{--color-bg-deep: #f0f4f8;--color-card-bg: #ffffff;--color-axon-cyan: #0284c7;--color-axon-magenta: #c026d3;--color-axon-green: #16a34a;--color-axon-gold: #d97706;--color-axon-purple: #7c3aed;--color-text-main: #0f172a;--color-text-muted: #0284c7;--color-btn-bg: #0284c7;--color-btn-text: #ffffff;--color-btn-hover-bg: #c026d3;--color-btn-hover-text: #ffffff;--color-toggle-bg: #e2e8f0;--color-toggle-active-bg: #0284c7;--color-toggle-active-text: #ffffff;--color-border-glow: rgba(2, 132, 199, .4);--color-progress-fill: #0284c7;--halo-glow-primary: rgba(2, 132, 199, .25);--backdrop-glow: rgba(240, 244, 248, .85)}.axon-game-root{position:relative;width:100%;height:100%;overflow:hidden;background:var(--color-bg-deep);font-family:Outfit,-apple-system,sans-serif;user-select:none;touch-action:none;transition:background .3s ease}.axon-canvas{display:block;width:100%;height:100%;touch-action:none}.axon-hud{position:absolute;top:28px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:30}.axon-hud-wave{background:transparent;border:none;padding:0;color:var(--color-text-muted);font-family:Orbitron,sans-serif;font-weight:700;font-size:11px;letter-spacing:3px;text-shadow:0 0 10px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-hud-wave span{font-size:32px;font-weight:900;color:var(--color-text-main);display:block;margin-top:2px;text-shadow:0 0 14px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-hud-level-track{width:68px;height:4px;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:4px;margin-top:6px;overflow:hidden}.axon-hud-level-fill{width:0%;height:100%;background:var(--color-axon-cyan);box-shadow:0 0 10px var(--color-axon-cyan);border-radius:4px;transition:width .2s ease}.axon-hud-combo{position:absolute;left:50%;transform:translate(-50%);top:0;pointer-events:none}.axon-hud-combo span{font-family:Orbitron,sans-serif;font-size:48px;font-weight:900;color:var(--color-axon-magenta);text-shadow:0 0 20px var(--color-axon-magenta),0 0 40px var(--color-axon-cyan);letter-spacing:2px;display:none;animation:axon-combo-pulse .3s cubic-bezier(.25,1,.5,1)}@keyframes axon-combo-pulse{0%{transform:scale(1.4)}to{transform:scale(1)}}.axon-hud-settings-btn{pointer-events:auto;background:var(--color-toggle-bg);border:1.5px solid var(--color-axon-cyan);border-radius:50%;width:44px;height:44px;color:var(--color-axon-cyan);cursor:pointer;backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 0 18px var(--halo-glow-primary);display:flex;align-items:center;justify-content:center;z-index:40}.axon-hud-settings-btn:hover{background:var(--color-axon-cyan);color:var(--color-bg-deep);box-shadow:0 0 30px var(--color-axon-cyan);transform:scale(1.1)}.axon-start-menu{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:transparent;z-index:20;pointer-events:none}.axon-title-halo{position:relative;text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:36px;background:transparent;pointer-events:auto}.axon-title{margin:0;font-family:Orbitron,sans-serif;font-size:64px;font-weight:900;color:var(--color-text-main);letter-spacing:8px;text-transform:uppercase;text-shadow:0 0 16px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-start-button{background:var(--color-btn-bg);border:2px solid var(--color-axon-cyan);border-radius:50px;color:var(--color-btn-text);font-family:Orbitron,sans-serif;font-size:18px;font-weight:900;padding:18px 52px;cursor:pointer;letter-spacing:3px;transition:all .3s cubic-bezier(.25,1,.5,1);box-shadow:0 0 35px var(--color-btn-bg);text-shadow:0 0 8px rgba(255,255,255,.8);pointer-events:auto}.axon-start-button:hover{transform:scale(1.08) translateY(-2px);background:var(--color-btn-hover-bg);color:var(--color-btn-hover-text);border-color:var(--color-axon-cyan);box-shadow:0 0 60px var(--color-btn-hover-bg)}.axon-onboarding{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:15;pointer-events:none}.axon-onboarding-hint{background:var(--color-card-bg);border:1.5px solid var(--color-axon-cyan);border-radius:30px;padding:14px 28px;color:var(--color-text-main);font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;backdrop-filter:blur(10px);box-shadow:0 0 30px var(--color-axon-cyan);animation:axon-onboarding-float 2s ease-in-out infinite alternate;transition:all .3s ease}@keyframes axon-onboarding-float{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.axon-settings-modal{border:none;background:transparent;padding:0;margin:auto;z-index:100;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);box-sizing:border-box;overflow:hidden}.axon-settings-modal::backdrop{background:var(--backdrop-glow);backdrop-filter:blur(12px);transition:background .3s ease}.axon-settings-card{background:var(--color-card-bg);border:1.5px solid var(--color-axon-cyan);border-radius:24px;padding:24px 20px;color:var(--color-text-main);width:min(380px,calc(100vw - 32px));box-sizing:border-box;box-shadow:0 0 50px var(--halo-glow-primary);display:flex;flex-direction:column;align-items:center;max-height:82vh;overflow-y:auto;overflow-x:hidden;transition:all .3s ease}.axon-settings-card h2{font-family:Orbitron,sans-serif;color:var(--color-axon-cyan);margin-top:0;margin-bottom:20px;font-size:20px;text-shadow:0 0 12px var(--color-axon-cyan);transition:color .3s ease,text-shadow .3s ease}.axon-setting-row{display:flex;flex-direction:column;align-items:stretch;width:100%;margin-bottom:16px;font-weight:700;font-size:11px;letter-spacing:1px;color:var(--color-text-main);gap:6px;box-sizing:border-box;transition:color .3s ease}.axon-setting-row>span{width:100%;word-break:break-word}.axon-select-wrapper{position:relative;display:block;width:100%;box-sizing:border-box}.axon-select{appearance:none;-webkit-appearance:none;width:100%;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:16px;padding:9px 36px 9px 14px;color:var(--color-axon-cyan);font-family:Orbitron,sans-serif;font-size:11px;font-weight:900;cursor:pointer;outline:none;letter-spacing:1px;box-shadow:0 0 10px var(--halo-glow-primary);transition:all .2s ease;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.axon-select:hover,.axon-select:focus{border-color:var(--color-axon-cyan);box-shadow:0 0 18px var(--color-axon-cyan)}.axon-select option{background:var(--color-card-bg);color:var(--color-text-main);font-family:Outfit,sans-serif;font-size:13px;padding:8px}.axon-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-axon-cyan);font-size:9px}.axon-toggle-group{display:flex;width:100%;gap:4px;background:var(--color-toggle-bg);border:1px solid var(--color-border-glow);border-radius:16px;padding:4px;box-sizing:border-box;transition:all .3s ease}.axon-toggle-btn{flex:1;text-align:center;background:transparent;border:none;border-radius:12px;color:var(--color-text-muted);font-family:Orbitron,sans-serif;font-size:10px;font-weight:900;padding:8px 4px;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.axon-toggle-btn.active{background:var(--color-toggle-active-bg);color:var(--color-toggle-active-text);box-shadow:0 0 14px var(--color-toggle-active-bg)}.axon-settings-credits{margin:14px 0 20px;font-size:11px;color:var(--color-text-muted);text-align:center;letter-spacing:1px;opacity:.8;transition:color .3s ease}.axon-tutorial-overlay{position:absolute;inset:auto 0 20px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;padding:0 16px;pointer-events:none;z-index:25}.axon-tutorial-banner{pointer-events:auto;background:#080e1aeb;border:1.5px solid var(--color-axon-cyan);box-shadow:0 0 28px #00f0ff66,inset 0 0 14px #00f0ff26;border-radius:16px;padding:12px 22px;text-align:center;backdrop-filter:blur(12px);max-width:min(540px,calc(100vw - 32px));box-sizing:border-box;transition:all .3s ease}.axon-tutorial-text{color:var(--color-axon-cyan);font-family:Chakra Petch,Outfit,sans-serif;font-size:13px;font-weight:900;letter-spacing:1.5px;text-shadow:0 0 12px var(--color-axon-cyan);line-height:1.4;transition:all .3s ease}.axon-tutorial-banner.axon-tutorial-banner-warning{border-color:#ff2a5f;box-shadow:0 0 32px #ff2a5f99,inset 0 0 16px #ff2a5f40;animation:axon-warning-pulse .4s ease-in-out 2 alternate}.axon-tutorial-banner-warning .axon-tutorial-text{color:#ff2a5f;text-shadow:0 0 14px #ff2a5f}@keyframes axon-warning-pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.axon-tutorial-checkbox-label{pointer-events:auto;display:flex;align-items:center;gap:10px;background:#0b1424eb;border:1px solid var(--color-border-glow);padding:8px 18px;border-radius:20px;color:var(--color-text-main);font-family:Outfit,sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 0 16px #00000080;transition:all .25s ease}.axon-tutorial-checkbox-label:hover{border-color:var(--color-axon-magenta);box-shadow:0 0 16px var(--color-axon-magenta);color:#fff}.axon-tutorial-checkbox{width:16px;height:16px;accent-color:var(--color-axon-magenta);cursor:pointer}@media(max-width:520px){.axon-settings-card{padding:24px 16px;border-radius:20px;width:calc(100vw - 20px)}.axon-setting-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}.axon-select-wrapper,.axon-select{width:100%}.axon-toggle-group{width:100%;justify-content:space-around}.axon-toggle-btn{flex:1;text-align:center;padding:8px 4px;font-size:9px}.axon-title{font-size:38px;letter-spacing:4px}.axon-start-button{padding:14px 36px;font-size:15px}.axon-hud{top:14px;left:16px;right:16px}.axon-tutorial-banner{padding:12px 18px}.axon-tutorial-text{font-size:11px;letter-spacing:1px}.axon-tutorial-checkbox-label{font-size:11px;padding:8px 14px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAc,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,aAAa;IACtB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAyC;IAC3E,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,cAAc,CAAiB;gBAGnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,EACtB,yBAAyB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,EAClE,eAAe,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IA+BvC,aAAa,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAc,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,aAAa;IACtB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAyC;IAC3E,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,cAAc,CAAiB;gBAGnC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,EACtB,yBAAyB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,EAClE,eAAe,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IA+BvC,aAAa,IAAI,IAAI;IAkLrB,gBAAgB,IAAI,OAAO;IAI3B,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;CAGtB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { I18nService } from "../i18n/I18nService";
|
|
2
|
+
import type { InteractiveTutorial } from "../director/InteractiveTutorial";
|
|
3
|
+
export declare class TutorialOverlay {
|
|
4
|
+
private container;
|
|
5
|
+
private i18n;
|
|
6
|
+
private tutorialManager;
|
|
7
|
+
private bannerElement;
|
|
8
|
+
private textElement;
|
|
9
|
+
private checkboxElement;
|
|
10
|
+
private currentStep;
|
|
11
|
+
constructor(parent: HTMLElement, i18n: I18nService, tutorialManager: InteractiveTutorial);
|
|
12
|
+
render(): void;
|
|
13
|
+
private updateBannerContent;
|
|
14
|
+
updateStep(step: 1 | 2): void;
|
|
15
|
+
updateLanguage(): void;
|
|
16
|
+
show(): void;
|
|
17
|
+
hide(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=TutorialOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TutorialOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/TutorialOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAAY;gBAEnB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB;IAWjF,MAAM,IAAI,IAAI;IAmCrB,OAAO,CAAC,mBAAmB;IAepB,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAK7B,cAAc,IAAI,IAAI;IAItB,IAAI,IAAI,IAAI;IAMZ,IAAI,IAAI,IAAI;CAGtB"}
|