@datamoc/mw_games 0.4.1 → 0.4.3
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/README.md +2 -2
- package/dist/actors/ItemStatusEffect.d.ts +1 -1
- package/dist/actors/ItemStatusEffect.d.ts.map +1 -1
- package/dist/actors/ItemStatusEffect.js +2 -11
- package/dist/actors/ItemStatusEffect.js.map +1 -1
- package/dist/actors/StatusEffect.d.ts +11 -0
- package/dist/actors/StatusEffect.d.ts.map +1 -1
- package/dist/actors/StatusEffect.js +21 -8
- package/dist/actors/StatusEffect.js.map +1 -1
- package/dist/assets/binary.d.ts +52 -0
- package/dist/assets/binary.d.ts.map +1 -0
- package/dist/assets/binary.js +57 -0
- package/dist/assets/binary.js.map +1 -0
- package/dist/assets/index.d.ts +10 -5
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +9 -5
- package/dist/assets/index.js.map +1 -1
- package/dist/board/Army.d.ts +75 -0
- package/dist/board/Army.d.ts.map +1 -1
- package/dist/board/Army.js +75 -0
- package/dist/board/Army.js.map +1 -1
- package/dist/board/Classics.d.ts +297 -1
- package/dist/board/Classics.d.ts.map +1 -1
- package/dist/board/Classics.js +297 -1
- package/dist/board/Classics.js.map +1 -1
- package/dist/board/Engine.d.ts +23 -0
- package/dist/board/Engine.d.ts.map +1 -1
- package/dist/board/Engine.js +23 -0
- package/dist/board/Engine.js.map +1 -1
- package/dist/board/FogOfWar.d.ts +20 -0
- package/dist/board/FogOfWar.d.ts.map +1 -1
- package/dist/board/FogOfWar.js +20 -0
- package/dist/board/FogOfWar.js.map +1 -1
- package/dist/board/Tactics.d.ts +158 -1
- package/dist/board/Tactics.d.ts.map +1 -1
- package/dist/board/Tactics.js +125 -1
- package/dist/board/Tactics.js.map +1 -1
- package/dist/board/chess.d.ts +87 -3
- package/dist/board/chess.d.ts.map +1 -1
- package/dist/board/chess.js +96 -4
- package/dist/board/chess.js.map +1 -1
- package/dist/core/HttpTransport.d.ts +1 -1
- package/dist/core/HttpTransport.js +1 -1
- package/dist/core/News.d.ts +6 -13
- package/dist/core/News.d.ts.map +1 -1
- package/dist/core/News.js +10 -23
- package/dist/core/News.js.map +1 -1
- package/dist/core/RunHistory.d.ts +1 -2
- package/dist/core/RunHistory.d.ts.map +1 -1
- package/dist/core/RunHistory.js +5 -6
- package/dist/core/RunHistory.js.map +1 -1
- package/dist/core/Stats.d.ts +1 -2
- package/dist/core/Stats.d.ts.map +1 -1
- package/dist/core/Stats.js +5 -6
- package/dist/core/Stats.js.map +1 -1
- package/dist/core/StoredValue.d.ts +21 -0
- package/dist/core/StoredValue.d.ts.map +1 -0
- package/dist/core/StoredValue.js +28 -0
- package/dist/core/StoredValue.js.map +1 -0
- package/dist/i18n/Content.d.ts +151 -0
- package/dist/i18n/Content.d.ts.map +1 -0
- package/dist/i18n/Content.js +219 -0
- package/dist/i18n/Content.js.map +1 -0
- package/dist/i18n/index.d.ts +35 -3
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +88 -6
- package/dist/i18n/index.js.map +1 -1
- package/dist/mw_games.global.js +90 -90
- package/dist/roguelike/Level.d.ts +10 -0
- package/dist/roguelike/Level.d.ts.map +1 -1
- package/dist/roguelike/Level.js +57 -17
- package/dist/roguelike/Level.js.map +1 -1
- package/dist/roguelike/Pathfinder.js +19 -19
- package/dist/roguelike/Pathfinder.js.map +1 -1
- package/dist/roguelike/Placement.d.ts +62 -0
- package/dist/roguelike/Placement.d.ts.map +1 -0
- package/dist/roguelike/Placement.js +79 -0
- package/dist/roguelike/Placement.js.map +1 -0
- package/dist/roguelike/index.d.ts +2 -0
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +1 -0
- package/dist/roguelike/index.js.map +1 -1
- package/dist/rpg/FreeMover.d.ts +1 -1
- package/dist/rpg/FreeMover.d.ts.map +1 -1
- package/dist/rpg/FreeMover.js +3 -6
- package/dist/rpg/FreeMover.js.map +1 -1
- package/dist/rpg/GridMover.d.ts +1 -1
- package/dist/rpg/GridMover.d.ts.map +1 -1
- package/dist/rpg/GridMover.js +3 -6
- package/dist/rpg/GridMover.js.map +1 -1
- package/dist/rpg/MovableSprite.d.ts +6 -0
- package/dist/rpg/MovableSprite.d.ts.map +1 -1
- package/dist/rpg/MovableSprite.js +9 -1
- package/dist/rpg/MovableSprite.js.map +1 -1
- package/dist/three-d/Models.d.ts +38 -1
- package/dist/three-d/Models.d.ts.map +1 -1
- package/dist/three-d/Models.js +66 -3
- package/dist/three-d/Models.js.map +1 -1
- package/dist/two-d/render/ActorAnimator.d.ts +32 -0
- package/dist/two-d/render/ActorAnimator.d.ts.map +1 -1
- package/dist/two-d/render/ActorAnimator.js +21 -0
- package/dist/two-d/render/ActorAnimator.js.map +1 -1
- package/dist/two-d/render/AnimatedSprite.d.ts +24 -4
- package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
- package/dist/two-d/render/AnimatedSprite.js +24 -4
- package/dist/two-d/render/AnimatedSprite.js.map +1 -1
- package/dist/two-d/render/Autotile.d.ts +33 -1
- package/dist/two-d/render/Autotile.d.ts.map +1 -1
- package/dist/two-d/render/Autotile.js +33 -1
- package/dist/two-d/render/Autotile.js.map +1 -1
- package/dist/two-d/render/Camera.d.ts +53 -1
- package/dist/two-d/render/Camera.d.ts.map +1 -1
- package/dist/two-d/render/Camera.js +36 -1
- package/dist/two-d/render/Camera.js.map +1 -1
- package/dist/two-d/render/Capabilities.d.ts +33 -0
- package/dist/two-d/render/Capabilities.d.ts.map +1 -1
- package/dist/two-d/render/Capabilities.js +33 -0
- package/dist/two-d/render/Capabilities.js.map +1 -1
- package/dist/two-d/render/ColorBlindness.d.ts +23 -0
- package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
- package/dist/two-d/render/ColorBlindness.js +23 -4
- package/dist/two-d/render/ColorBlindness.js.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.d.ts +67 -1
- package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.js +57 -1
- package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
- package/dist/two-d/render/LayeredSprite.d.ts +19 -0
- package/dist/two-d/render/LayeredSprite.d.ts.map +1 -1
- package/dist/two-d/render/LayeredSprite.js +19 -0
- package/dist/two-d/render/LayeredSprite.js.map +1 -1
- package/dist/two-d/render/Minimap.d.ts +25 -1
- package/dist/two-d/render/Minimap.d.ts.map +1 -1
- package/dist/two-d/render/Minimap.js +25 -1
- package/dist/two-d/render/Minimap.js.map +1 -1
- package/dist/two-d/render/Particles.d.ts +26 -2
- package/dist/two-d/render/Particles.d.ts.map +1 -1
- package/dist/two-d/render/Particles.js +23 -0
- package/dist/two-d/render/Particles.js.map +1 -1
- package/dist/two-d/render/Projectile.d.ts +14 -0
- package/dist/two-d/render/Projectile.d.ts.map +1 -1
- package/dist/two-d/render/Projectile.js +14 -0
- package/dist/two-d/render/Projectile.js.map +1 -1
- package/dist/two-d/render/ScreenEffects.d.ts +15 -0
- package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
- package/dist/two-d/render/ScreenEffects.js +15 -0
- package/dist/two-d/render/ScreenEffects.js.map +1 -1
- package/dist/two-d/render/Shape2D.d.ts +58 -1
- package/dist/two-d/render/Shape2D.d.ts.map +1 -1
- package/dist/two-d/render/Shape2D.js +58 -1
- package/dist/two-d/render/Shape2D.js.map +1 -1
- package/dist/two-d/render/StatusVisuals.d.ts +22 -0
- package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
- package/dist/two-d/render/StatusVisuals.js +22 -0
- package/dist/two-d/render/StatusVisuals.js.map +1 -1
- package/dist/two-d/render/TileMap.d.ts +65 -3
- package/dist/two-d/render/TileMap.d.ts.map +1 -1
- package/dist/two-d/render/TileMap.js +65 -3
- package/dist/two-d/render/TileMap.js.map +1 -1
- package/dist/two-d/render/TiledMap.d.ts +9 -3
- package/dist/two-d/render/TiledMap.d.ts.map +1 -1
- package/dist/two-d/render/TiledMap.js +9 -3
- package/dist/two-d/render/TiledMap.js.map +1 -1
- package/dist/two-d/render/TintedSprite.d.ts +9 -2
- package/dist/two-d/render/TintedSprite.d.ts.map +1 -1
- package/dist/two-d/render/TintedSprite.js +9 -2
- package/dist/two-d/render/TintedSprite.js.map +1 -1
- package/dist/two-d/render/Types2D.d.ts +14 -2
- package/dist/two-d/render/Types2D.d.ts.map +1 -1
- package/dist/two-d/render/Types2D.js +14 -2
- package/dist/two-d/render/Types2D.js.map +1 -1
- package/dist/two-d/render/Viewport.d.ts +22 -0
- package/dist/two-d/render/Viewport.d.ts.map +1 -1
- package/dist/two-d/render/Viewport.js +22 -0
- package/dist/two-d/render/Viewport.js.map +1 -1
- package/dist/two-d/ui/Bar.d.ts +16 -3
- package/dist/two-d/ui/Bar.d.ts.map +1 -1
- package/dist/two-d/ui/Bar.js +16 -1
- package/dist/two-d/ui/Bar.js.map +1 -1
- package/dist/two-d/ui/BitmapLabel.d.ts +26 -10
- package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -1
- package/dist/two-d/ui/BitmapLabel.js +26 -3
- package/dist/two-d/ui/BitmapLabel.js.map +1 -1
- package/dist/two-d/ui/Button.d.ts +15 -0
- package/dist/two-d/ui/Button.d.ts.map +1 -1
- package/dist/two-d/ui/Button.js +15 -0
- package/dist/two-d/ui/Button.js.map +1 -1
- package/dist/two-d/ui/FloatingText.d.ts +15 -0
- package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
- package/dist/two-d/ui/FloatingText.js +15 -0
- package/dist/two-d/ui/FloatingText.js.map +1 -1
- package/dist/two-d/ui/HelpScreen.d.ts +16 -0
- package/dist/two-d/ui/HelpScreen.d.ts.map +1 -1
- package/dist/two-d/ui/HelpScreen.js +23 -3
- package/dist/two-d/ui/HelpScreen.js.map +1 -1
- package/dist/two-d/ui/IconGrid.d.ts +27 -3
- package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
- package/dist/two-d/ui/IconGrid.js +71 -55
- package/dist/two-d/ui/IconGrid.js.map +1 -1
- package/dist/two-d/ui/Label.d.ts +12 -8
- package/dist/two-d/ui/Label.d.ts.map +1 -1
- package/dist/two-d/ui/Label.js +14 -3
- package/dist/two-d/ui/Label.js.map +1 -1
- package/dist/two-d/ui/ListView.d.ts +22 -4
- package/dist/two-d/ui/ListView.d.ts.map +1 -1
- package/dist/two-d/ui/ListView.js +44 -43
- package/dist/two-d/ui/ListView.js.map +1 -1
- package/dist/two-d/ui/LoadingScreen.d.ts +24 -1
- package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
- package/dist/two-d/ui/LoadingScreen.js +24 -1
- package/dist/two-d/ui/LoadingScreen.js.map +1 -1
- package/dist/two-d/ui/MessageBox.d.ts +21 -2
- package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
- package/dist/two-d/ui/MessageBox.js +19 -0
- package/dist/two-d/ui/MessageBox.js.map +1 -1
- package/dist/two-d/ui/NinePatch.d.ts +12 -0
- package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
- package/dist/two-d/ui/NinePatch.js +12 -0
- package/dist/two-d/ui/NinePatch.js.map +1 -1
- package/dist/two-d/ui/RebindScreen.d.ts +15 -0
- package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
- package/dist/two-d/ui/RebindScreen.js +15 -0
- package/dist/two-d/ui/RebindScreen.js.map +1 -1
- package/dist/two-d/ui/SelectionModel.d.ts +50 -0
- package/dist/two-d/ui/SelectionModel.d.ts.map +1 -0
- package/dist/two-d/ui/SelectionModel.js +73 -0
- package/dist/two-d/ui/SelectionModel.js.map +1 -0
- package/dist/two-d/ui/StatsScreen.d.ts +15 -0
- package/dist/two-d/ui/StatsScreen.d.ts.map +1 -1
- package/dist/two-d/ui/StatsScreen.js +15 -0
- package/dist/two-d/ui/StatsScreen.js.map +1 -1
- package/dist/two-d/ui/Toast.d.ts +12 -0
- package/dist/two-d/ui/Toast.d.ts.map +1 -1
- package/dist/two-d/ui/Toast.js +12 -0
- package/dist/two-d/ui/Toast.js.map +1 -1
- package/dist/two-d/ui/Tooltip.d.ts +14 -0
- package/dist/two-d/ui/Tooltip.d.ts.map +1 -1
- package/dist/two-d/ui/Tooltip.js +14 -0
- package/dist/two-d/ui/Tooltip.js.map +1 -1
- package/dist/two-d/ui/VerticalLabel.d.ts +18 -0
- package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -1
- package/dist/two-d/ui/VerticalLabel.js +18 -0
- package/dist/two-d/ui/VerticalLabel.js.map +1 -1
- package/dist/two-d/ui/Window.d.ts +12 -0
- package/dist/two-d/ui/Window.d.ts.map +1 -1
- package/dist/two-d/ui/Window.js +12 -0
- package/dist/two-d/ui/Window.js.map +1 -1
- package/dist/two-d/ui/theme.d.ts +45 -1
- package/dist/two-d/ui/theme.d.ts.map +1 -1
- package/dist/two-d/ui/theme.js +45 -1
- package/dist/two-d/ui/theme.js.map +1 -1
- package/dist/two-d/ui/themedText.d.ts +20 -0
- package/dist/two-d/ui/themedText.d.ts.map +1 -0
- package/dist/two-d/ui/themedText.js +9 -0
- package/dist/two-d/ui/themedText.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -2
- package/tools/compile-resources.mjs +1 -1
- package/tools/compress-dist.d.mts +16 -0
- package/tools/compress-dist.mjs +116 -0
package/dist/two-d/ui/Toast.js
CHANGED
|
@@ -12,6 +12,18 @@ import { Easing } from '../../core/Tween.js';
|
|
|
12
12
|
* rather than chained tweens: a single frame boundary between phases keeps the whole
|
|
13
13
|
* sequence exactly reproducible one `update` call at a time, which a test can drive without
|
|
14
14
|
* waiting on any promise microtask to settle.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { Toast } from '@datamoc/mw_games/two-d/ui';
|
|
19
|
+
* import { Text2D } from '@datamoc/mw_games/two-d/render';
|
|
20
|
+
*
|
|
21
|
+
* const toast = new Toast({ fadeIn: 0.2, hold: 1.5, fadeOut: 0.5 });
|
|
22
|
+
* toast.show(new Text2D({ text: 'Achievement unlocked: First Blood' }));
|
|
23
|
+
*
|
|
24
|
+
* console.log(toast.isBusy); // true - popping in
|
|
25
|
+
* toast.update(1 / 60); // called every frame from the scene's own update(dt)
|
|
26
|
+
* ```
|
|
15
27
|
*/
|
|
16
28
|
export class Toast extends Container {
|
|
17
29
|
constructor(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/two-d/ui/Toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgB7C
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/two-d/ui/Toast.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,20 @@ export interface TooltipOptions {
|
|
|
26
26
|
* Positioning is the other half: a tooltip near the right or bottom edge flips back inside the
|
|
27
27
|
* viewport instead of being cut off, which is why `setViewport` has to be called from the
|
|
28
28
|
* owning scene's own `resize`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { Tooltip } from '@datamoc/mw_games/two-d/ui';
|
|
33
|
+
*
|
|
34
|
+
* const tooltip = new Tooltip({ delay: 0 });
|
|
35
|
+
* tooltip.setViewport(800, 600);
|
|
36
|
+
*
|
|
37
|
+
* tooltip.hover('Strength: raises attack', 120, 80);
|
|
38
|
+
* // called every frame from the scene's own update(dt); returns true once, the frame it appears
|
|
39
|
+
* console.log(tooltip.update(1 / 60)); // true - delay is 0, so it shows on the first frame
|
|
40
|
+
*
|
|
41
|
+
* tooltip.leave(); // the pointer moved off the stat row
|
|
42
|
+
* ```
|
|
29
43
|
*/
|
|
30
44
|
export declare class Tooltip extends Container {
|
|
31
45
|
private readonly delay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKpC,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4FAA4F;IAC5F,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKpC,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4FAA4F;IAC5F,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,OAAO,CAAuD;IACtE,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,OAAO,GAAE,cAAmB,EAcvC;IAED,2FAA2F;IAC3F,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI/C;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAW9C;IAED,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,uFAAuF;IACvF,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,yFAAyF;IACzF,IAAI,aAAa,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,IAAI,IAAI,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAE5C;IAED,mGAAmG;IACnG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAmB1B;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAEzD;IAED,6FAA6F;IAC7F,OAAO,CAAC,KAAK;CAwBb"}
|
package/dist/two-d/ui/Tooltip.js
CHANGED
|
@@ -16,6 +16,20 @@ import { theme } from './theme.js';
|
|
|
16
16
|
* Positioning is the other half: a tooltip near the right or bottom edge flips back inside the
|
|
17
17
|
* viewport instead of being cut off, which is why `setViewport` has to be called from the
|
|
18
18
|
* owning scene's own `resize`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { Tooltip } from '@datamoc/mw_games/two-d/ui';
|
|
23
|
+
*
|
|
24
|
+
* const tooltip = new Tooltip({ delay: 0 });
|
|
25
|
+
* tooltip.setViewport(800, 600);
|
|
26
|
+
*
|
|
27
|
+
* tooltip.hover('Strength: raises attack', 120, 80);
|
|
28
|
+
* // called every frame from the scene's own update(dt); returns true once, the frame it appears
|
|
29
|
+
* console.log(tooltip.update(1 / 60)); // true - delay is 0, so it shows on the first frame
|
|
30
|
+
*
|
|
31
|
+
* tooltip.leave(); // the pointer moved off the stat row
|
|
32
|
+
* ```
|
|
19
33
|
*/
|
|
20
34
|
export class Tooltip extends Container {
|
|
21
35
|
constructor(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAgBnC
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/two-d/ui/Tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,15 @@ export interface VerticalLayoutOptions {
|
|
|
20
20
|
* Columns run right to left, each one top to bottom, which is the traditional order for
|
|
21
21
|
* vertical Japanese and Chinese. `\n` in the source text forces a new column, the same way
|
|
22
22
|
* it forces a new line in horizontal text.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { layoutVertical } from '@datamoc/mw_games/two-d/ui';
|
|
27
|
+
*
|
|
28
|
+
* const glyphs = layoutVertical('AB', { lineHeight: 10, columnHeight: 100 });
|
|
29
|
+
* console.log(glyphs[0]); // { char: 'A', x: -5, y: 5, rotate: true } - Latin letters rotate by default
|
|
30
|
+
* console.log(glyphs[1]); // { char: 'B', x: -5, y: 15, rotate: true }
|
|
31
|
+
* ```
|
|
23
32
|
*/
|
|
24
33
|
export declare function layoutVertical(text: string, options: VerticalLayoutOptions): GlyphLayout[];
|
|
25
34
|
export interface VerticalLabelOptions {
|
|
@@ -39,6 +48,15 @@ export interface VerticalLabelOptions {
|
|
|
39
48
|
* within one column instead of rotating whole characters), and it does not reposition
|
|
40
49
|
* punctuation to a cell's corner the way professionally typeset Japanese does. Both are
|
|
41
50
|
* real refinements a native reader would want on top of this, not included here.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import { VerticalLabel } from '@datamoc/mw_games/two-d/ui';
|
|
55
|
+
*
|
|
56
|
+
* const sign = new VerticalLabel({ text: '出口', columnHeight: 200, size: 24 });
|
|
57
|
+
* sign.x = 400;
|
|
58
|
+
* sign.y = 40;
|
|
59
|
+
* ```
|
|
42
60
|
*/
|
|
43
61
|
export declare class VerticalLabel extends Container {
|
|
44
62
|
private readonly opts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD
|
|
1
|
+
{"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAiC1F;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,YAAY,OAAO,EAAE,oBAAoB,EAKxC;IAED,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4BJ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
|
|
@@ -10,6 +10,15 @@ const DEFAULT_ROTATE = /[A-Za-z0-9]/;
|
|
|
10
10
|
* Columns run right to left, each one top to bottom, which is the traditional order for
|
|
11
11
|
* vertical Japanese and Chinese. `\n` in the source text forces a new column, the same way
|
|
12
12
|
* it forces a new line in horizontal text.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { layoutVertical } from '@datamoc/mw_games/two-d/ui';
|
|
17
|
+
*
|
|
18
|
+
* const glyphs = layoutVertical('AB', { lineHeight: 10, columnHeight: 100 });
|
|
19
|
+
* console.log(glyphs[0]); // { char: 'A', x: -5, y: 5, rotate: true } - Latin letters rotate by default
|
|
20
|
+
* console.log(glyphs[1]); // { char: 'B', x: -5, y: 15, rotate: true }
|
|
21
|
+
* ```
|
|
13
22
|
*/
|
|
14
23
|
export function layoutVertical(text, options) {
|
|
15
24
|
const { lineHeight, columnHeight } = options;
|
|
@@ -51,6 +60,15 @@ export function layoutVertical(text, options) {
|
|
|
51
60
|
* within one column instead of rotating whole characters), and it does not reposition
|
|
52
61
|
* punctuation to a cell's corner the way professionally typeset Japanese does. Both are
|
|
53
62
|
* real refinements a native reader would want on top of this, not included here.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* import { VerticalLabel } from '@datamoc/mw_games/two-d/ui';
|
|
67
|
+
*
|
|
68
|
+
* const sign = new VerticalLabel({ text: '出口', columnHeight: 200, size: 24 });
|
|
69
|
+
* sign.x = 400;
|
|
70
|
+
* sign.y = 40;
|
|
71
|
+
* ```
|
|
54
72
|
*/
|
|
55
73
|
export class VerticalLabel extends Container {
|
|
56
74
|
constructor(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAiB7D,0FAA0F;AAC1F,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC
|
|
1
|
+
{"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../../src/two-d/ui/VerticalLabel.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,18 @@ export interface WindowOptions {
|
|
|
28
28
|
*
|
|
29
29
|
* Contents go in `content`, whose origin is already inset past the frame and padding, so a
|
|
30
30
|
* child placed at 0,0 sits correctly whatever the theme's border is.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { Window, Label } from '@datamoc/mw_games/two-d/ui';
|
|
35
|
+
*
|
|
36
|
+
* const confirm = new Window({ width: 200, height: 100, title: 'Leave?', anchor: 'center' });
|
|
37
|
+
* confirm.content.addChild(new Label({ text: 'Progress since your last save will be lost.' }));
|
|
38
|
+
* confirm.onClose.add(() => console.log('window closed'));
|
|
39
|
+
*
|
|
40
|
+
* confirm.place(800, 600); // centres it in an 800x600 viewport
|
|
41
|
+
* confirm.handleAction('cancel'); // closable defaults to true, so this closes it
|
|
42
|
+
* ```
|
|
31
43
|
*/
|
|
32
44
|
export declare class Window extends Container {
|
|
33
45
|
readonly content: Container<import("pixi.js").ContainerChild>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED
|
|
1
|
+
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACpC,QAAQ,CAAC,OAAO,8CAAmB;IACnC,QAAQ,CAAC,OAAO,eAAsB;IAEtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAE7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,YAAY,OAAO,EAAE,aAAa,EA0BjC;IAED,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA6B1C;IAED,0FAA0F;IAC1F,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQpC;IAED,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAED,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAazD;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
|
package/dist/two-d/ui/Window.js
CHANGED
|
@@ -11,6 +11,18 @@ import { theme, themeChanged } from './theme.js';
|
|
|
11
11
|
*
|
|
12
12
|
* Contents go in `content`, whose origin is already inset past the frame and padding, so a
|
|
13
13
|
* child placed at 0,0 sits correctly whatever the theme's border is.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { Window, Label } from '@datamoc/mw_games/two-d/ui';
|
|
18
|
+
*
|
|
19
|
+
* const confirm = new Window({ width: 200, height: 100, title: 'Leave?', anchor: 'center' });
|
|
20
|
+
* confirm.content.addChild(new Label({ text: 'Progress since your last save will be lost.' }));
|
|
21
|
+
* confirm.onClose.add(() => console.log('window closed'));
|
|
22
|
+
*
|
|
23
|
+
* confirm.place(800, 600); // centres it in an 800x600 viewport
|
|
24
|
+
* confirm.handleAction('cancel'); // closable defaults to true, so this closes it
|
|
25
|
+
* ```
|
|
14
26
|
*/
|
|
15
27
|
export class Window extends Container {
|
|
16
28
|
constructor(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0BjD
|
|
1
|
+
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../../src/two-d/ui/Window.ts"],"names":[],"mappings":"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"}
|
package/dist/two-d/ui/theme.d.ts
CHANGED
|
@@ -44,6 +44,17 @@ export interface Theme {
|
|
|
44
44
|
*/
|
|
45
45
|
direction: Direction;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* The palette every widget starts with, before a game calls `setTheme`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { defaultTheme } from '@datamoc/mw_games/two-d/ui';
|
|
53
|
+
*
|
|
54
|
+
* console.log(defaultTheme.color.text); // 0xe8e8f0
|
|
55
|
+
* console.log(defaultTheme.padding); // 8
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
47
58
|
export declare const defaultTheme: Theme;
|
|
48
59
|
/**
|
|
49
60
|
* A ready-made high-contrast preset: pure white text on black panels, a thicker border, and
|
|
@@ -53,8 +64,23 @@ export declare const defaultTheme: Theme;
|
|
|
53
64
|
* `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
|
|
54
65
|
* applies it; a game with its own colours can still start from this and override just what
|
|
55
66
|
* it wants to keep, the same as any partial object `setTheme` accepts.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* import { setTheme, highContrastTheme } from '@datamoc/mw_games/two-d/ui';
|
|
71
|
+
*
|
|
72
|
+
* setTheme(highContrastTheme); // an accessibility toggle in the settings screen
|
|
73
|
+
* ```
|
|
56
74
|
*/
|
|
57
75
|
export declare const highContrastTheme: Theme;
|
|
76
|
+
/**
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* import { theme } from '@datamoc/mw_games/two-d/ui';
|
|
80
|
+
*
|
|
81
|
+
* console.log(theme().color.text); // 0xe8e8f0 - the default, until a game calls setTheme
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
58
84
|
export declare function theme(): Theme;
|
|
59
85
|
/**
|
|
60
86
|
* Fired with the new theme every time `setTheme` runs.
|
|
@@ -64,8 +90,26 @@ export declare function theme(): Theme;
|
|
|
64
90
|
* a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
|
|
65
91
|
* from the value passed in, the same shape `i18n`'s `direction` already flows into
|
|
66
92
|
* `theme.direction` from a game's own glue code. Every built-in widget already does this.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { themeChanged } from '@datamoc/mw_games/two-d/ui';
|
|
97
|
+
*
|
|
98
|
+
* themeChanged.add((next) => console.log('theme changed, text colour is now', next.color.text));
|
|
99
|
+
* ```
|
|
67
100
|
*/
|
|
68
101
|
export declare const themeChanged: Signal<Theme>;
|
|
69
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Replaces the theme; partial objects are merged over the default.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { setTheme, theme } from '@datamoc/mw_games/two-d/ui';
|
|
108
|
+
*
|
|
109
|
+
* setTheme({ color: { ...theme().color, textHighlight: 0x66ff66 } });
|
|
110
|
+
* console.log(theme().color.textHighlight); // 0x66ff66
|
|
111
|
+
* console.log(theme().padding); // 8 - everything else stays at the default
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
70
114
|
export declare function setTheme(next: Partial<Theme>): void;
|
|
71
115
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC;AAIF;;;;;;;GAOG;AACH,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,eAAsB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAQnD"}
|
package/dist/two-d/ui/theme.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { Signal } from '../../core/Signal.js';
|
|
2
|
+
/**
|
|
3
|
+
* The palette every widget starts with, before a game calls `setTheme`.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { defaultTheme } from '@datamoc/mw_games/two-d/ui';
|
|
8
|
+
*
|
|
9
|
+
* console.log(defaultTheme.color.text); // 0xe8e8f0
|
|
10
|
+
* console.log(defaultTheme.padding); // 8
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
2
13
|
export const defaultTheme = {
|
|
3
14
|
panelBorder: 4,
|
|
4
15
|
padding: 8,
|
|
@@ -29,6 +40,13 @@ export const defaultTheme = {
|
|
|
29
40
|
* `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
|
|
30
41
|
* applies it; a game with its own colours can still start from this and override just what
|
|
31
42
|
* it wants to keep, the same as any partial object `setTheme` accepts.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* import { setTheme, highContrastTheme } from '@datamoc/mw_games/two-d/ui';
|
|
47
|
+
*
|
|
48
|
+
* setTheme(highContrastTheme); // an accessibility toggle in the settings screen
|
|
49
|
+
* ```
|
|
32
50
|
*/
|
|
33
51
|
export const highContrastTheme = {
|
|
34
52
|
panelBorder: 6,
|
|
@@ -52,6 +70,14 @@ export const highContrastTheme = {
|
|
|
52
70
|
overlayAlpha: 0.85,
|
|
53
71
|
};
|
|
54
72
|
let current = defaultTheme;
|
|
73
|
+
/**
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* import { theme } from '@datamoc/mw_games/two-d/ui';
|
|
77
|
+
*
|
|
78
|
+
* console.log(theme().color.text); // 0xe8e8f0 - the default, until a game calls setTheme
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
55
81
|
export function theme() {
|
|
56
82
|
return current;
|
|
57
83
|
}
|
|
@@ -63,9 +89,27 @@ export function theme() {
|
|
|
63
89
|
* a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
|
|
64
90
|
* from the value passed in, the same shape `i18n`'s `direction` already flows into
|
|
65
91
|
* `theme.direction` from a game's own glue code. Every built-in widget already does this.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* import { themeChanged } from '@datamoc/mw_games/two-d/ui';
|
|
96
|
+
*
|
|
97
|
+
* themeChanged.add((next) => console.log('theme changed, text colour is now', next.color.text));
|
|
98
|
+
* ```
|
|
66
99
|
*/
|
|
67
100
|
export const themeChanged = new Signal();
|
|
68
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Replaces the theme; partial objects are merged over the default.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* import { setTheme, theme } from '@datamoc/mw_games/two-d/ui';
|
|
107
|
+
*
|
|
108
|
+
* setTheme({ color: { ...theme().color, textHighlight: 0x66ff66 } });
|
|
109
|
+
* console.log(theme().color.textHighlight); // 0x66ff66
|
|
110
|
+
* console.log(theme().padding); // 8 - everything else stays at the default
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
69
113
|
export function setTheme(next) {
|
|
70
114
|
current = {
|
|
71
115
|
...defaultTheme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsD9C,MAAM,CAAC,MAAM,YAAY,GAAU;IAClC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,kFAAkF;QAClF,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/two-d/ui/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsD9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAU;IAClC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,kFAAkF;QAClF,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACvC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;QAChC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,IAAI;CAClB,CAAC;AAEF,IAAI,OAAO,GAAU,YAAY,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK;IACpB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,EAAS,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC5C,OAAO,GAAG;QACT,GAAG,YAAY;QACf,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;KAC/C,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Theme } from './theme.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The text options `Label` and `BitmapLabel` share. Each one extends this with whatever its
|
|
4
|
+
* own renderer needs (`Label` adds stroke/resolution/roundPixels); the shared fields stay in
|
|
5
|
+
* one place so the two labels cannot drift apart on what "themed text" accepts.
|
|
6
|
+
*/
|
|
7
|
+
export interface ThemedTextOptions {
|
|
8
|
+
text?: string;
|
|
9
|
+
color?: number;
|
|
10
|
+
size?: number;
|
|
11
|
+
/** wraps at this width in pixels; omit for a single unwrapped line */
|
|
12
|
+
wrapWidth?: number;
|
|
13
|
+
align?: 'left' | 'center' | 'right';
|
|
14
|
+
bold?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** accepts the `options | string` shorthand both labels offer in their constructors */
|
|
17
|
+
export declare function normalizeTextOptions<T extends ThemedTextOptions>(options: T | string): T;
|
|
18
|
+
/** the align a label uses when the game gave none: the theme direction, not a fixed left */
|
|
19
|
+
export declare function themedAlign(opts: ThemedTextOptions, t: Theme): 'left' | 'center' | 'right';
|
|
20
|
+
//# sourceMappingURL=themedText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themedText.d.ts","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAExF;AAED,4FAA4F;AAC5F,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAE1F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** accepts the `options | string` shorthand both labels offer in their constructors */
|
|
2
|
+
export function normalizeTextOptions(options) {
|
|
3
|
+
return typeof options === 'string' ? ({ text: options }) : options;
|
|
4
|
+
}
|
|
5
|
+
/** the align a label uses when the game gave none: the theme direction, not a fixed left */
|
|
6
|
+
export function themedAlign(opts, t) {
|
|
7
|
+
return opts.align ?? (t.direction === 'rtl' ? 'right' : 'left');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=themedText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themedText.js","sourceRoot":"","sources":["../../../src/two-d/ui/themedText.ts"],"names":[],"mappings":"AAiBA,uFAAuF;AACvF,MAAM,UAAU,oBAAoB,CAA8B,OAAmB;IACpF,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,CAAQ;IAC5D,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* this from `package.json` automatically, chosen because this project's own build already
|
|
10
10
|
* has no step before `tsc`/`vite` that this would need to run ahead of.
|
|
11
11
|
*/
|
|
12
|
-
export declare const version = "0.4.
|
|
12
|
+
export declare const version = "0.4.3";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* this from `package.json` automatically, chosen because this project's own build already
|
|
10
10
|
* has no step before `tsc`/`vite` that this would need to run ahead of.
|
|
11
11
|
*/
|
|
12
|
-
export const version = '0.4.
|
|
12
|
+
export const version = '0.4.3';
|
|
13
13
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datamoc/mw_games",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "A local-file game framework: renderer-free game logic, drawn through PixiJS in 2D or Babylon.js in 3D, with mobile and desktop packaging.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
"files": [
|
|
40
40
|
"dist",
|
|
41
41
|
"tools/compile-resources.mjs",
|
|
42
|
+
"tools/compress-dist.mjs",
|
|
43
|
+
"tools/compress-dist.d.mts",
|
|
42
44
|
"LICENSE",
|
|
43
45
|
"README.md"
|
|
44
46
|
],
|
|
@@ -67,6 +69,10 @@
|
|
|
67
69
|
"types": "./dist/assets/paths.d.ts",
|
|
68
70
|
"import": "./dist/assets/paths.js"
|
|
69
71
|
},
|
|
72
|
+
"./assets/binary": {
|
|
73
|
+
"types": "./dist/assets/binary.d.ts",
|
|
74
|
+
"import": "./dist/assets/binary.js"
|
|
75
|
+
},
|
|
70
76
|
"./audio": {
|
|
71
77
|
"types": "./dist/audio/index.d.ts",
|
|
72
78
|
"import": "./dist/audio/index.js"
|
|
@@ -100,6 +106,7 @@
|
|
|
100
106
|
"import": "./dist/simulation/index.js"
|
|
101
107
|
},
|
|
102
108
|
"./tools/compile-resources": "./tools/compile-resources.mjs",
|
|
109
|
+
"./tools/compress-dist": "./tools/compress-dist.mjs",
|
|
103
110
|
"./two-d": {
|
|
104
111
|
"types": "./dist/two-d/index.d.ts",
|
|
105
112
|
"import": "./dist/two-d/index.js"
|
|
@@ -186,7 +193,9 @@
|
|
|
186
193
|
"cap:open:ios": "npm run cap:cli -- open ios",
|
|
187
194
|
"desktop:build": "npm run mobile:build && dotnet build desktop/MwgDesktopHost",
|
|
188
195
|
"desktop:run": "npm run mobile:build && dotnet run --project desktop/MwgDesktopHost",
|
|
189
|
-
"multiplayer:server": "node tools/multiplayer-server.mjs"
|
|
196
|
+
"multiplayer:server": "node tools/multiplayer-server.mjs",
|
|
197
|
+
"roadmap:progress": "node tools/roadmap-progress.mjs",
|
|
198
|
+
"roadmap:browser": "node tools/roadmap-progress.mjs --browser"
|
|
190
199
|
},
|
|
191
200
|
"dependencies": {
|
|
192
201
|
"pixi.js": "^8.20.1",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CompressOptions {
|
|
2
|
+
gzip?: boolean;
|
|
3
|
+
brotli?: boolean;
|
|
4
|
+
xz?: boolean;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface CompressRow {
|
|
8
|
+
file: string;
|
|
9
|
+
raw: number;
|
|
10
|
+
gzip: number;
|
|
11
|
+
brotli: number;
|
|
12
|
+
xz: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function hasXz(): boolean;
|
|
16
|
+
export function compressDist(dir: string, options?: CompressOptions): Promise<CompressRow[]>;
|