@datamoc/mw_games 0.3.1 → 0.4.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/README.md +401 -395
- package/dist/actors/Affix.d.ts +26 -0
- package/dist/actors/Affix.d.ts.map +1 -1
- package/dist/actors/Affix.js +32 -1
- package/dist/actors/Affix.js.map +1 -1
- package/dist/actors/Barrier.d.ts +47 -0
- package/dist/actors/Barrier.d.ts.map +1 -0
- package/dist/actors/Barrier.js +70 -0
- package/dist/actors/Barrier.js.map +1 -0
- package/dist/actors/Charges.d.ts +22 -0
- package/dist/actors/Charges.d.ts.map +1 -1
- package/dist/actors/Charges.js +26 -0
- package/dist/actors/Charges.js.map +1 -1
- package/dist/actors/Equipment.d.ts +30 -0
- package/dist/actors/Equipment.d.ts.map +1 -1
- package/dist/actors/Equipment.js +33 -1
- package/dist/actors/Equipment.js.map +1 -1
- package/dist/actors/Inventory.d.ts +58 -3
- package/dist/actors/Inventory.d.ts.map +1 -1
- package/dist/actors/Inventory.js +97 -5
- package/dist/actors/Inventory.js.map +1 -1
- package/dist/actors/ItemState.d.ts +11 -2
- package/dist/actors/ItemState.d.ts.map +1 -1
- package/dist/actors/ItemState.js +18 -2
- package/dist/actors/ItemState.js.map +1 -1
- package/dist/actors/Loot.js +1 -1
- package/dist/actors/Loot.js.map +1 -1
- package/dist/actors/Progression.d.ts +9 -0
- package/dist/actors/Progression.d.ts.map +1 -1
- package/dist/actors/Progression.js +7 -0
- package/dist/actors/Progression.js.map +1 -1
- package/dist/actors/Resource.d.ts +16 -0
- package/dist/actors/Resource.d.ts.map +1 -1
- package/dist/actors/Resource.js +22 -0
- package/dist/actors/Resource.js.map +1 -1
- package/dist/actors/SkillPoints.d.ts +14 -0
- package/dist/actors/SkillPoints.d.ts.map +1 -1
- package/dist/actors/SkillPoints.js +16 -0
- package/dist/actors/SkillPoints.js.map +1 -1
- package/dist/actors/StatBlock.d.ts +16 -0
- package/dist/actors/StatBlock.d.ts.map +1 -1
- package/dist/actors/StatBlock.js +21 -0
- package/dist/actors/StatBlock.js.map +1 -1
- package/dist/actors/Support.d.ts +2 -2
- package/dist/actors/Support.d.ts.map +1 -1
- package/dist/actors/Support.js +2 -2
- package/dist/actors/Support.js.map +1 -1
- package/dist/actors/index.d.ts +8 -5
- package/dist/actors/index.d.ts.map +1 -1
- package/dist/actors/index.js +3 -2
- package/dist/actors/index.js.map +1 -1
- package/dist/assets/ByteProgress.d.ts +27 -0
- package/dist/assets/ByteProgress.d.ts.map +1 -0
- package/dist/assets/ByteProgress.js +44 -0
- package/dist/assets/ByteProgress.js.map +1 -0
- package/dist/assets/Streaming.d.ts +1 -1
- package/dist/assets/Streaming.js +1 -1
- package/dist/assets/Streaming.js.map +1 -1
- package/dist/assets/index.d.ts +11 -52
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +9 -80
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/loader.d.ts +34 -0
- package/dist/assets/loader.d.ts.map +1 -0
- package/dist/assets/loader.js +61 -0
- package/dist/assets/loader.js.map +1 -0
- package/dist/assets/paths.d.ts +40 -0
- package/dist/assets/paths.d.ts.map +1 -0
- package/dist/assets/paths.js +49 -0
- package/dist/assets/paths.js.map +1 -0
- package/dist/audio/Playable.js +1 -1
- package/dist/battle/Field.d.ts +2 -2
- package/dist/battle/Field.d.ts.map +1 -1
- package/dist/battle/Field.js +3 -3
- package/dist/battle/Field.js.map +1 -1
- package/dist/battle/Hooks.d.ts +7 -13
- package/dist/battle/Hooks.d.ts.map +1 -1
- package/dist/battle/Hooks.js +20 -18
- package/dist/battle/Hooks.js.map +1 -1
- package/dist/core/Hooks.d.ts +34 -0
- package/dist/core/Hooks.d.ts.map +1 -0
- package/dist/core/Hooks.js +33 -0
- package/dist/core/Hooks.js.map +1 -0
- package/dist/core/Input.d.ts +41 -0
- package/dist/core/Input.d.ts.map +1 -1
- package/dist/core/Input.js +126 -21
- package/dist/core/Input.js.map +1 -1
- package/dist/core/PlayerInput.d.ts +5 -0
- package/dist/core/PlayerInput.d.ts.map +1 -1
- package/dist/core/PlayerInput.js +11 -0
- package/dist/core/PlayerInput.js.map +1 -1
- package/dist/core/Random.d.ts +14 -5
- package/dist/core/Random.d.ts.map +1 -1
- package/dist/core/Random.js +14 -5
- package/dist/core/Random.js.map +1 -1
- package/dist/core/Scene.d.ts +16 -6
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/Scene.js +18 -6
- package/dist/core/Scene.js.map +1 -1
- package/dist/core/SceneStack.d.ts +8 -4
- package/dist/core/SceneStack.d.ts.map +1 -1
- package/dist/core/SceneStack.js +4 -0
- package/dist/core/SceneStack.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/mw_games.global.js +88 -88
- package/dist/roguelike/Boss.d.ts +4 -4
- package/dist/roguelike/Boss.d.ts.map +1 -1
- package/dist/roguelike/Boss.js +6 -6
- package/dist/roguelike/Boss.js.map +1 -1
- package/dist/roguelike/Combat.d.ts +10 -11
- package/dist/roguelike/Combat.d.ts.map +1 -1
- package/dist/roguelike/Combat.js +9 -16
- package/dist/roguelike/Combat.js.map +1 -1
- package/dist/roguelike/ContentRoll.d.ts +43 -0
- package/dist/roguelike/ContentRoll.d.ts.map +1 -0
- package/dist/roguelike/ContentRoll.js +38 -0
- package/dist/roguelike/ContentRoll.js.map +1 -0
- package/dist/roguelike/DungeonParity.d.ts +42 -0
- package/dist/roguelike/DungeonParity.d.ts.map +1 -0
- package/dist/roguelike/DungeonParity.js +63 -0
- package/dist/roguelike/DungeonParity.js.map +1 -0
- package/dist/roguelike/Features.d.ts +42 -0
- package/dist/roguelike/Features.d.ts.map +1 -0
- package/dist/roguelike/Features.js +59 -0
- package/dist/roguelike/Features.js.map +1 -0
- package/dist/roguelike/MonsterAI.js +1 -1
- package/dist/roguelike/MonsterAI.js.map +1 -1
- package/dist/roguelike/MultiStageAbility.d.ts +43 -0
- package/dist/roguelike/MultiStageAbility.d.ts.map +1 -0
- package/dist/roguelike/MultiStageAbility.js +60 -0
- package/dist/roguelike/MultiStageAbility.js.map +1 -0
- package/dist/roguelike/RoomBuilders.d.ts +43 -0
- package/dist/roguelike/RoomBuilders.d.ts.map +1 -0
- package/dist/roguelike/RoomBuilders.js +40 -0
- package/dist/roguelike/RoomBuilders.js.map +1 -0
- package/dist/roguelike/Targeting.d.ts +22 -0
- package/dist/roguelike/Targeting.d.ts.map +1 -1
- package/dist/roguelike/Targeting.js +20 -0
- package/dist/roguelike/Targeting.js.map +1 -1
- package/dist/roguelike/TriggerTracker.d.ts +36 -0
- package/dist/roguelike/TriggerTracker.d.ts.map +1 -0
- package/dist/roguelike/TriggerTracker.js +49 -0
- package/dist/roguelike/TriggerTracker.js.map +1 -0
- package/dist/roguelike/generate.d.ts +49 -0
- package/dist/roguelike/generate.d.ts.map +1 -1
- package/dist/roguelike/generate.js +38 -10
- package/dist/roguelike/generate.js.map +1 -1
- package/dist/roguelike/index.d.ts +16 -4
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +8 -2
- package/dist/roguelike/index.js.map +1 -1
- package/dist/rpg/EventRunner.d.ts +30 -8
- package/dist/rpg/EventRunner.d.ts.map +1 -1
- package/dist/rpg/EventRunner.js +1 -13
- package/dist/rpg/EventRunner.js.map +1 -1
- package/dist/rpg/FreeMover.d.ts +2 -2
- package/dist/rpg/FreeMover.d.ts.map +1 -1
- package/dist/rpg/FreeMover.js +5 -5
- package/dist/rpg/FreeMover.js.map +1 -1
- package/dist/rpg/GridMover.d.ts +2 -2
- package/dist/rpg/GridMover.d.ts.map +1 -1
- package/dist/rpg/GridMover.js +5 -5
- package/dist/rpg/GridMover.js.map +1 -1
- package/dist/rpg/MovableSprite.d.ts +25 -0
- package/dist/rpg/MovableSprite.d.ts.map +1 -0
- package/dist/rpg/MovableSprite.js +2 -0
- package/dist/rpg/MovableSprite.js.map +1 -0
- package/dist/rpg/Quest.d.ts +6 -1
- package/dist/rpg/Quest.d.ts.map +1 -1
- package/dist/rpg/Quest.js +6 -1
- package/dist/rpg/Quest.js.map +1 -1
- package/dist/rpg/automap.d.ts +24 -2
- package/dist/rpg/automap.d.ts.map +1 -1
- package/dist/rpg/automap.js +9 -1
- package/dist/rpg/automap.js.map +1 -1
- package/dist/rpg/index.d.ts +4 -4
- package/dist/rpg/index.d.ts.map +1 -1
- package/dist/rpg/index.js +1 -1
- package/dist/rpg/index.js.map +1 -1
- package/dist/three-d/Character3D.d.ts +26 -1
- package/dist/three-d/Character3D.d.ts.map +1 -1
- package/dist/three-d/Character3D.js +31 -14
- package/dist/three-d/Character3D.js.map +1 -1
- package/dist/three-d/Collision3D.d.ts +63 -0
- package/dist/three-d/Collision3D.d.ts.map +1 -0
- package/dist/three-d/Collision3D.js +75 -0
- package/dist/three-d/Collision3D.js.map +1 -0
- package/dist/three-d/Models.js +1 -1
- package/dist/three-d/index.d.ts +3 -1
- package/dist/three-d/index.d.ts.map +1 -1
- package/dist/three-d/index.js +1 -0
- package/dist/three-d/index.js.map +1 -1
- package/dist/{core → two-d}/Game.d.ts +7 -6
- package/dist/two-d/Game.d.ts.map +1 -0
- package/dist/{core → two-d}/Game.js +3 -3
- package/dist/two-d/Game.js.map +1 -0
- package/dist/two-d/Scene2D.d.ts +19 -0
- package/dist/two-d/Scene2D.d.ts.map +1 -0
- package/dist/two-d/Scene2D.js +23 -0
- package/dist/two-d/Scene2D.js.map +1 -0
- package/dist/two-d/index.d.ts +20 -0
- package/dist/two-d/index.d.ts.map +1 -0
- package/dist/two-d/index.js +18 -0
- package/dist/two-d/index.js.map +1 -0
- package/dist/two-d/render/ActorAnimator.d.ts.map +1 -0
- package/dist/two-d/render/ActorAnimator.js.map +1 -0
- package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -0
- package/dist/two-d/render/AnimatedSprite.js.map +1 -0
- package/dist/two-d/render/Autotile.d.ts.map +1 -0
- package/dist/two-d/render/Autotile.js.map +1 -0
- package/dist/two-d/render/Camera.d.ts.map +1 -0
- package/dist/{render → two-d/render}/Camera.js +2 -2
- package/dist/two-d/render/Camera.js.map +1 -0
- package/dist/two-d/render/Capabilities.d.ts.map +1 -0
- package/dist/two-d/render/Capabilities.js.map +1 -0
- package/dist/two-d/render/ColorBlindness.d.ts.map +1 -0
- package/dist/two-d/render/ColorBlindness.js.map +1 -0
- package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -0
- package/dist/{render → two-d/render}/ColorTransformBatcher.js +3 -2
- package/dist/two-d/render/ColorTransformBatcher.js.map +1 -0
- package/dist/two-d/render/LayeredSprite.d.ts.map +1 -0
- package/dist/two-d/render/LayeredSprite.js.map +1 -0
- package/dist/two-d/render/Minimap.d.ts.map +1 -0
- package/dist/{render → two-d/render}/Minimap.js +1 -1
- package/dist/two-d/render/Minimap.js.map +1 -0
- package/dist/two-d/render/Particles.d.ts +109 -0
- package/dist/two-d/render/Particles.d.ts.map +1 -0
- package/dist/two-d/render/Particles.js +178 -0
- package/dist/two-d/render/Particles.js.map +1 -0
- package/dist/two-d/render/Projectile.d.ts.map +1 -0
- package/dist/two-d/render/Projectile.js.map +1 -0
- package/dist/two-d/render/ScreenEffects.d.ts +71 -0
- package/dist/two-d/render/ScreenEffects.d.ts.map +1 -0
- package/dist/two-d/render/ScreenEffects.js +133 -0
- package/dist/two-d/render/ScreenEffects.js.map +1 -0
- package/dist/two-d/render/SpriteSheet.d.ts.map +1 -0
- package/dist/{render → two-d/render}/SpriteSheet.js +1 -1
- package/dist/two-d/render/SpriteSheet.js.map +1 -0
- package/dist/two-d/render/StatusVisuals.d.ts.map +1 -0
- package/dist/two-d/render/StatusVisuals.js.map +1 -0
- package/dist/two-d/render/TileMap.d.ts.map +1 -0
- package/dist/{render → two-d/render}/TileMap.js +1 -1
- package/dist/two-d/render/TileMap.js.map +1 -0
- package/dist/{rpg → two-d/render}/TiledMap.d.ts +2 -2
- package/dist/two-d/render/TiledMap.d.ts.map +1 -0
- package/dist/{rpg → two-d/render}/TiledMap.js +2 -2
- package/dist/two-d/render/TiledMap.js.map +1 -0
- package/dist/two-d/render/TintedSprite.d.ts.map +1 -0
- package/dist/two-d/render/TintedSprite.js.map +1 -0
- package/dist/two-d/render/Viewport.d.ts.map +1 -0
- package/dist/two-d/render/Viewport.js.map +1 -0
- package/dist/{render → two-d/render}/index.d.ts +6 -0
- package/dist/two-d/render/index.d.ts.map +1 -0
- package/dist/{render → two-d/render}/index.js +3 -0
- package/dist/two-d/render/index.js.map +1 -0
- package/dist/two-d/stage/DialogueStage.d.ts.map +1 -0
- package/dist/{stage → two-d/stage}/DialogueStage.js +1 -1
- package/dist/two-d/stage/DialogueStage.js.map +1 -0
- package/dist/two-d/stage/index.d.ts.map +1 -0
- package/dist/two-d/stage/index.js.map +1 -0
- package/dist/two-d/stage/script.d.ts.map +1 -0
- package/dist/{stage → two-d/stage}/script.js +0 -0
- package/dist/two-d/stage/script.js.map +1 -0
- package/dist/two-d/stage/twee.d.ts.map +1 -0
- package/dist/two-d/stage/twee.js.map +1 -0
- package/dist/two-d/ui/Bar.d.ts.map +1 -0
- package/dist/two-d/ui/Bar.js.map +1 -0
- package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -0
- package/dist/two-d/ui/BitmapLabel.js.map +1 -0
- package/dist/{ui → two-d/ui}/Button.d.ts +7 -1
- package/dist/two-d/ui/Button.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Button.js +20 -4
- package/dist/two-d/ui/Button.js.map +1 -0
- package/dist/two-d/ui/EventDialogue.d.ts +23 -0
- package/dist/two-d/ui/EventDialogue.d.ts.map +1 -0
- package/dist/two-d/ui/EventDialogue.js +27 -0
- package/dist/two-d/ui/EventDialogue.js.map +1 -0
- package/dist/two-d/ui/FloatingText.d.ts.map +1 -0
- package/dist/two-d/ui/FloatingText.js.map +1 -0
- package/dist/{ui → two-d/ui}/HelpScreen.d.ts +1 -1
- package/dist/two-d/ui/HelpScreen.d.ts.map +1 -0
- package/dist/two-d/ui/HelpScreen.js.map +1 -0
- package/dist/{ui → two-d/ui}/IconGrid.d.ts +1 -1
- package/dist/two-d/ui/IconGrid.d.ts.map +1 -0
- package/dist/two-d/ui/IconGrid.js.map +1 -0
- package/dist/two-d/ui/Label.d.ts.map +1 -0
- package/dist/two-d/ui/Label.js.map +1 -0
- package/dist/{ui → two-d/ui}/ListView.d.ts +1 -1
- package/dist/two-d/ui/ListView.d.ts.map +1 -0
- package/dist/two-d/ui/ListView.js.map +1 -0
- package/dist/{ui → two-d/ui}/LoadingScreen.d.ts +1 -1
- package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -0
- package/dist/two-d/ui/LoadingScreen.js.map +1 -0
- package/dist/{ui → two-d/ui}/MessageBox.d.ts +1 -1
- package/dist/two-d/ui/MessageBox.d.ts.map +1 -0
- package/dist/two-d/ui/MessageBox.js.map +1 -0
- package/dist/two-d/ui/NinePatch.d.ts.map +1 -0
- package/dist/two-d/ui/NinePatch.js.map +1 -0
- package/dist/{ui → two-d/ui}/RebindScreen.d.ts +1 -1
- package/dist/two-d/ui/RebindScreen.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/RebindScreen.js +1 -1
- package/dist/two-d/ui/RebindScreen.js.map +1 -0
- package/dist/two-d/ui/StatsScreen.d.ts.map +1 -0
- package/dist/two-d/ui/StatsScreen.js.map +1 -0
- package/dist/two-d/ui/Toast.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Toast.js +1 -1
- package/dist/two-d/ui/Toast.js.map +1 -0
- package/dist/two-d/ui/Tooltip.d.ts +94 -0
- package/dist/two-d/ui/Tooltip.d.ts.map +1 -0
- package/dist/two-d/ui/Tooltip.js +149 -0
- package/dist/two-d/ui/Tooltip.js.map +1 -0
- package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -0
- package/dist/two-d/ui/VerticalLabel.js.map +1 -0
- package/dist/{ui → two-d/ui}/Window.d.ts +2 -2
- package/dist/two-d/ui/Window.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/Window.js +1 -1
- package/dist/two-d/ui/Window.js.map +1 -0
- package/dist/two-d/ui/WindowStack.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/WindowStack.js +1 -1
- package/dist/two-d/ui/WindowStack.js.map +1 -0
- package/dist/{ui → two-d/ui}/index.d.ts +4 -0
- package/dist/two-d/ui/index.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/index.js +2 -0
- package/dist/two-d/ui/index.js.map +1 -0
- package/dist/{ui → two-d/ui}/theme.d.ts +2 -2
- package/dist/two-d/ui/theme.d.ts.map +1 -0
- package/dist/{ui → two-d/ui}/theme.js +1 -1
- package/dist/two-d/ui/theme.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/world/Encounters.js +1 -1
- package/dist/world/Encounters.js.map +1 -1
- package/dist/world/Environment.d.ts +12 -3
- package/dist/world/Environment.d.ts.map +1 -1
- package/dist/world/Environment.js +18 -9
- package/dist/world/Environment.js.map +1 -1
- package/package.json +227 -147
- package/dist/core/Game.d.ts.map +0 -1
- package/dist/core/Game.js.map +0 -1
- package/dist/render/ActorAnimator.d.ts.map +0 -1
- package/dist/render/ActorAnimator.js.map +0 -1
- package/dist/render/AnimatedSprite.d.ts.map +0 -1
- package/dist/render/AnimatedSprite.js.map +0 -1
- package/dist/render/Autotile.d.ts.map +0 -1
- package/dist/render/Autotile.js.map +0 -1
- package/dist/render/Camera.d.ts.map +0 -1
- package/dist/render/Camera.js.map +0 -1
- package/dist/render/Capabilities.d.ts.map +0 -1
- package/dist/render/Capabilities.js.map +0 -1
- package/dist/render/ColorBlindness.d.ts.map +0 -1
- package/dist/render/ColorBlindness.js.map +0 -1
- package/dist/render/ColorTransformBatcher.d.ts.map +0 -1
- package/dist/render/ColorTransformBatcher.js.map +0 -1
- package/dist/render/LayeredSprite.d.ts.map +0 -1
- package/dist/render/LayeredSprite.js.map +0 -1
- package/dist/render/Minimap.d.ts.map +0 -1
- package/dist/render/Minimap.js.map +0 -1
- package/dist/render/Projectile.d.ts.map +0 -1
- package/dist/render/Projectile.js.map +0 -1
- package/dist/render/SpriteSheet.d.ts.map +0 -1
- package/dist/render/SpriteSheet.js.map +0 -1
- package/dist/render/StatusVisuals.d.ts.map +0 -1
- package/dist/render/StatusVisuals.js.map +0 -1
- package/dist/render/TileMap.d.ts.map +0 -1
- package/dist/render/TileMap.js.map +0 -1
- package/dist/render/TintedSprite.d.ts.map +0 -1
- package/dist/render/TintedSprite.js.map +0 -1
- package/dist/render/Viewport.d.ts.map +0 -1
- package/dist/render/Viewport.js.map +0 -1
- package/dist/render/index.d.ts.map +0 -1
- package/dist/render/index.js.map +0 -1
- package/dist/rpg/TiledMap.d.ts.map +0 -1
- package/dist/rpg/TiledMap.js.map +0 -1
- package/dist/stage/DialogueStage.d.ts.map +0 -1
- package/dist/stage/DialogueStage.js.map +0 -1
- package/dist/stage/index.d.ts.map +0 -1
- package/dist/stage/index.js.map +0 -1
- package/dist/stage/script.d.ts.map +0 -1
- package/dist/stage/script.js.map +0 -1
- package/dist/stage/twee.d.ts.map +0 -1
- package/dist/stage/twee.js.map +0 -1
- package/dist/ui/Bar.d.ts.map +0 -1
- package/dist/ui/Bar.js.map +0 -1
- package/dist/ui/BitmapLabel.d.ts.map +0 -1
- package/dist/ui/BitmapLabel.js.map +0 -1
- package/dist/ui/Button.d.ts.map +0 -1
- package/dist/ui/Button.js.map +0 -1
- package/dist/ui/FloatingText.d.ts.map +0 -1
- package/dist/ui/FloatingText.js.map +0 -1
- package/dist/ui/HelpScreen.d.ts.map +0 -1
- package/dist/ui/HelpScreen.js.map +0 -1
- package/dist/ui/IconGrid.d.ts.map +0 -1
- package/dist/ui/IconGrid.js.map +0 -1
- package/dist/ui/Label.d.ts.map +0 -1
- package/dist/ui/Label.js.map +0 -1
- package/dist/ui/ListView.d.ts.map +0 -1
- package/dist/ui/ListView.js.map +0 -1
- package/dist/ui/LoadingScreen.d.ts.map +0 -1
- package/dist/ui/LoadingScreen.js.map +0 -1
- package/dist/ui/MessageBox.d.ts.map +0 -1
- package/dist/ui/MessageBox.js.map +0 -1
- package/dist/ui/NinePatch.d.ts.map +0 -1
- package/dist/ui/NinePatch.js.map +0 -1
- package/dist/ui/RebindScreen.d.ts.map +0 -1
- package/dist/ui/RebindScreen.js.map +0 -1
- package/dist/ui/StatsScreen.d.ts.map +0 -1
- package/dist/ui/StatsScreen.js.map +0 -1
- package/dist/ui/Toast.d.ts.map +0 -1
- package/dist/ui/Toast.js.map +0 -1
- package/dist/ui/VerticalLabel.d.ts.map +0 -1
- package/dist/ui/VerticalLabel.js.map +0 -1
- package/dist/ui/Window.d.ts.map +0 -1
- package/dist/ui/Window.js.map +0 -1
- package/dist/ui/WindowStack.d.ts.map +0 -1
- package/dist/ui/WindowStack.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/theme.d.ts.map +0 -1
- package/dist/ui/theme.js.map +0 -1
- /package/dist/{render → two-d/render}/ActorAnimator.d.ts +0 -0
- /package/dist/{render → two-d/render}/ActorAnimator.js +0 -0
- /package/dist/{render → two-d/render}/AnimatedSprite.d.ts +0 -0
- /package/dist/{render → two-d/render}/AnimatedSprite.js +0 -0
- /package/dist/{render → two-d/render}/Autotile.d.ts +0 -0
- /package/dist/{render → two-d/render}/Autotile.js +0 -0
- /package/dist/{render → two-d/render}/Camera.d.ts +0 -0
- /package/dist/{render → two-d/render}/Capabilities.d.ts +0 -0
- /package/dist/{render → two-d/render}/Capabilities.js +0 -0
- /package/dist/{render → two-d/render}/ColorBlindness.d.ts +0 -0
- /package/dist/{render → two-d/render}/ColorBlindness.js +0 -0
- /package/dist/{render → two-d/render}/ColorTransformBatcher.d.ts +0 -0
- /package/dist/{render → two-d/render}/LayeredSprite.d.ts +0 -0
- /package/dist/{render → two-d/render}/LayeredSprite.js +0 -0
- /package/dist/{render → two-d/render}/Minimap.d.ts +0 -0
- /package/dist/{render → two-d/render}/Projectile.d.ts +0 -0
- /package/dist/{render → two-d/render}/Projectile.js +0 -0
- /package/dist/{render → two-d/render}/SpriteSheet.d.ts +0 -0
- /package/dist/{render → two-d/render}/StatusVisuals.d.ts +0 -0
- /package/dist/{render → two-d/render}/StatusVisuals.js +0 -0
- /package/dist/{render → two-d/render}/TileMap.d.ts +0 -0
- /package/dist/{render → two-d/render}/TintedSprite.d.ts +0 -0
- /package/dist/{render → two-d/render}/TintedSprite.js +0 -0
- /package/dist/{render → two-d/render}/Viewport.d.ts +0 -0
- /package/dist/{render → two-d/render}/Viewport.js +0 -0
- /package/dist/{stage → two-d/stage}/DialogueStage.d.ts +0 -0
- /package/dist/{stage → two-d/stage}/index.d.ts +0 -0
- /package/dist/{stage → two-d/stage}/index.js +0 -0
- /package/dist/{stage → two-d/stage}/script.d.ts +0 -0
- /package/dist/{stage → two-d/stage}/twee.d.ts +0 -0
- /package/dist/{stage → two-d/stage}/twee.js +0 -0
- /package/dist/{ui → two-d/ui}/Bar.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/Bar.js +0 -0
- /package/dist/{ui → two-d/ui}/BitmapLabel.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/BitmapLabel.js +0 -0
- /package/dist/{ui → two-d/ui}/FloatingText.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/FloatingText.js +0 -0
- /package/dist/{ui → two-d/ui}/HelpScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/IconGrid.js +0 -0
- /package/dist/{ui → two-d/ui}/Label.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/Label.js +0 -0
- /package/dist/{ui → two-d/ui}/ListView.js +0 -0
- /package/dist/{ui → two-d/ui}/LoadingScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/MessageBox.js +0 -0
- /package/dist/{ui → two-d/ui}/NinePatch.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/NinePatch.js +0 -0
- /package/dist/{ui → two-d/ui}/StatsScreen.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/StatsScreen.js +0 -0
- /package/dist/{ui → two-d/ui}/Toast.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/VerticalLabel.d.ts +0 -0
- /package/dist/{ui → two-d/ui}/VerticalLabel.js +0 -0
- /package/dist/{ui → two-d/ui}/WindowStack.d.ts +0 -0
package/dist/actors/index.js
CHANGED
|
@@ -11,11 +11,12 @@ export { applyItemStatusEffect } from './ItemStatusEffect.js';
|
|
|
11
11
|
export { Charges } from './Charges.js';
|
|
12
12
|
export { rollLoot } from './Loot.js';
|
|
13
13
|
export { Advancement } from './Advancement.js';
|
|
14
|
-
export { rollAffix, affixOf, applyAffix, removeAffix } from './Affix.js';
|
|
14
|
+
export { rollAffix, affixOf, applyAffix, removeAffix, copyAffix, matchesContext } from './Affix.js';
|
|
15
15
|
export { scaledModifiers } from './Scaling.js';
|
|
16
16
|
export { assignAppearances, Appearances } from './Appearances.js';
|
|
17
17
|
export { buy, sell } from './Shop.js';
|
|
18
|
-
export { canAfford, spend } from './Resource.js';
|
|
18
|
+
export { canAfford, spend, refund, convertToCharges } from './Resource.js';
|
|
19
|
+
export { Barrier } from './Barrier.js';
|
|
19
20
|
export { assignTraits } from './Traits.js';
|
|
20
21
|
export { AuraField } from './Aura.js';
|
|
21
22
|
export { SupportLedger } from './Support.js';
|
package/dist/actors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Real transferred-byte progress for a real origin - a server, a dev server, or a desktop
|
|
3
|
+
* host serving through a virtual origin rather than raw `file://` (see `desktop/`'s own
|
|
4
|
+
* `SetVirtualHostNameToFolderMapping` for why that distinction matters). This is deliberately
|
|
5
|
+
* separate from `load`'s own `AssetProgress`: that one reports a fraction of assets finished
|
|
6
|
+
* because, as its own doc comment says, "Pixi's own loaders do not expose bytes transferred
|
|
7
|
+
* across every asset type uniformly" - reporting a number this project cannot actually back
|
|
8
|
+
* would be exactly the kind of silent-fallback dishonesty this project's own conventions rule
|
|
9
|
+
* out elsewhere. `fetch()` itself is blocked from `file://` entirely, so calling this from a
|
|
10
|
+
* compiled data-URI build throws the same way any other `fetch()` there would; it exists for
|
|
11
|
+
* item 137's "a server or standalone WebView2/Chromium host can stream/cache assets
|
|
12
|
+
* incrementally and report byte progress" capability tier, not the `file://` one.
|
|
13
|
+
*/
|
|
14
|
+
export interface ByteProgress {
|
|
15
|
+
loaded: number;
|
|
16
|
+
/** null when the server never sent a Content-Length (chunked transfer, some dev servers) - a caller only gets a real fraction when this is known */
|
|
17
|
+
total: number | null;
|
|
18
|
+
}
|
|
19
|
+
export type OnByteProgress = (progress: ByteProgress) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Fetches `url`, reporting real bytes transferred as they arrive, and resolves to the
|
|
22
|
+
* complete body as a `Blob` - handed to `URL.createObjectURL` to become something
|
|
23
|
+
* `assets.load`'s own texture/audio/JSON decoding can take from there, the same as any other
|
|
24
|
+
* resolved asset URL.
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchWithByteProgress(url: string, onProgress?: OnByteProgress, fetchFn?: typeof fetch): Promise<Blob>;
|
|
27
|
+
//# sourceMappingURL=ByteProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByteProgress.d.ts","sourceRoot":"","sources":["../../src/assets/ByteProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,oJAAoJ;IACpJ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAE9D;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,cAAc,EAC3B,OAAO,GAAE,OAAO,KAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Real transferred-byte progress for a real origin - a server, a dev server, or a desktop
|
|
3
|
+
* host serving through a virtual origin rather than raw `file://` (see `desktop/`'s own
|
|
4
|
+
* `SetVirtualHostNameToFolderMapping` for why that distinction matters). This is deliberately
|
|
5
|
+
* separate from `load`'s own `AssetProgress`: that one reports a fraction of assets finished
|
|
6
|
+
* because, as its own doc comment says, "Pixi's own loaders do not expose bytes transferred
|
|
7
|
+
* across every asset type uniformly" - reporting a number this project cannot actually back
|
|
8
|
+
* would be exactly the kind of silent-fallback dishonesty this project's own conventions rule
|
|
9
|
+
* out elsewhere. `fetch()` itself is blocked from `file://` entirely, so calling this from a
|
|
10
|
+
* compiled data-URI build throws the same way any other `fetch()` there would; it exists for
|
|
11
|
+
* item 137's "a server or standalone WebView2/Chromium host can stream/cache assets
|
|
12
|
+
* incrementally and report byte progress" capability tier, not the `file://` one.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Fetches `url`, reporting real bytes transferred as they arrive, and resolves to the
|
|
16
|
+
* complete body as a `Blob` - handed to `URL.createObjectURL` to become something
|
|
17
|
+
* `assets.load`'s own texture/audio/JSON decoding can take from there, the same as any other
|
|
18
|
+
* resolved asset URL.
|
|
19
|
+
*/
|
|
20
|
+
export async function fetchWithByteProgress(url, onProgress, fetchFn = fetch) {
|
|
21
|
+
const response = await fetchFn(url);
|
|
22
|
+
if (!response.ok)
|
|
23
|
+
throw new Error(`fetchWithByteProgress: ${url} responded ${response.status}`);
|
|
24
|
+
const totalHeader = response.headers.get('content-length');
|
|
25
|
+
const total = totalHeader !== null && totalHeader !== '' ? Number(totalHeader) : null;
|
|
26
|
+
if (!response.body) {
|
|
27
|
+
const blob = await response.blob();
|
|
28
|
+
onProgress?.({ loaded: blob.size, total: total ?? blob.size });
|
|
29
|
+
return blob;
|
|
30
|
+
}
|
|
31
|
+
const reader = response.body.getReader();
|
|
32
|
+
const chunks = [];
|
|
33
|
+
let loaded = 0;
|
|
34
|
+
for (;;) {
|
|
35
|
+
const { done, value } = await reader.read();
|
|
36
|
+
if (done)
|
|
37
|
+
break;
|
|
38
|
+
chunks.push(value);
|
|
39
|
+
loaded += value.byteLength;
|
|
40
|
+
onProgress?.({ loaded, total });
|
|
41
|
+
}
|
|
42
|
+
return new Blob(chunks);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=ByteProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByteProgress.js","sourceRoot":"","sources":["../../src/assets/ByteProgress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,GAAW,EACX,UAA2B,EAC3B,OAAO,GAAiB,KAAK;IAE7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAoB,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/assets/Streaming.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Streaming.js","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Streaming.js","sourceRoot":"","sources":["../../src/assets/Streaming.ts"],"names":[],"mappings":"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"}
|
package/dist/assets/index.d.ts
CHANGED
|
@@ -1,58 +1,17 @@
|
|
|
1
|
-
import { Texture } from 'pixi.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* The `file://` story, in two halves.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* During development there is no compiled bundle, so paths are used as they are and the
|
|
11
|
-
* dev server serves them. Game code says `load('tiles.png')` either way.
|
|
12
|
-
*/
|
|
13
|
-
declare global {
|
|
14
|
-
interface Window {
|
|
15
|
-
__MWG_ASSETS__?: Record<string, string>;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
/** points dev-mode lookups at the folder assets are served from */
|
|
19
|
-
export declare function setBase(path: string): void;
|
|
20
|
-
/** true when running against a compiled bundle rather than a dev server */
|
|
21
|
-
export declare function isCompiled(): boolean;
|
|
22
|
-
export declare function paths(): string[];
|
|
23
|
-
export declare function has(path: string): boolean;
|
|
24
|
-
/** an asset path resolved to something the browser can actually load */
|
|
25
|
-
export declare function resolve(path: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* 0 (started) to 1 (complete) - a count of assets finished, not a byte count. Pixi's own
|
|
28
|
-
* loaders do not expose bytes transferred across every asset type uniformly, so this reports
|
|
29
|
-
* what is actually available rather than a byte figure it cannot back with a real number.
|
|
30
|
-
*/
|
|
31
|
-
export type AssetProgress = (fraction: number) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Loads assets by path, giving each one an alias equal to its path.
|
|
34
|
-
*
|
|
35
|
-
* Load everything a scene needs before creating it; afterwards `texture()` is synchronous,
|
|
36
|
-
* so game code never has to await in the middle of building a scene. `onProgress`, when
|
|
37
|
-
* given, is item 135's `LoadQueue`/`LoadingScreen` seam for a task that would otherwise only
|
|
38
|
-
* ever report 0 then 1 around one opaque `await`.
|
|
39
|
-
*/
|
|
40
|
-
export declare function load(paths: string[], onProgress?: AssetProgress): Promise<void>;
|
|
41
|
-
/** a loaded texture, by the same path it was loaded with */
|
|
42
|
-
export declare function texture(path: string): Texture;
|
|
43
|
-
/** a loaded asset of any other kind, such as parsed JSON */
|
|
44
|
-
export declare function get<T>(path: string): T;
|
|
45
|
-
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
46
|
-
export declare function isLoaded(path: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
49
|
-
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
50
|
-
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
51
|
-
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
52
|
-
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
53
|
-
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
4
|
+
* `paths.ts` resolves an asset path against the compiled `data:` URI map (or the dev server)
|
|
5
|
+
* and needs no renderer at all; `loader.ts` fetches and decodes through Pixi. This barrel
|
|
6
|
+
* exposes both, so `import { load, resolve } from '@datamoc/mw_games/assets'` is unchanged -
|
|
7
|
+
* but a game rendering through something else imports `@datamoc/mw_games/assets/paths`
|
|
8
|
+
* instead and pays nothing for Pixi.
|
|
54
9
|
*/
|
|
55
|
-
export
|
|
10
|
+
export { setBase, isCompiled, paths, has, resolve } from './paths.ts';
|
|
11
|
+
export type { AssetProgress } from './paths.ts';
|
|
12
|
+
export { load, texture, get, isLoaded, release } from './loader.ts';
|
|
56
13
|
export { AssetStream } from './Streaming.ts';
|
|
57
14
|
export type { AssetBundle, AssetStreamOptions } from './Streaming.ts';
|
|
15
|
+
export { fetchWithByteProgress } from './ByteProgress.ts';
|
|
16
|
+
export type { ByteProgress, OnByteProgress } from './ByteProgress.ts';
|
|
58
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/assets/index.js
CHANGED
|
@@ -1,85 +1,14 @@
|
|
|
1
|
-
import { Assets, Texture } from 'pixi.js';
|
|
2
|
-
/** the base for dev-mode paths, when assets are served rather than compiled in */
|
|
3
|
-
let base = '';
|
|
4
|
-
/** points dev-mode lookups at the folder assets are served from */
|
|
5
|
-
export function setBase(path) {
|
|
6
|
-
base = path.endsWith('/') || path === '' ? path : path + '/';
|
|
7
|
-
}
|
|
8
|
-
function compiled() {
|
|
9
|
-
return typeof window === 'undefined' ? undefined : window.__MWG_ASSETS__;
|
|
10
|
-
}
|
|
11
|
-
/** true when running against a compiled bundle rather than a dev server */
|
|
12
|
-
export function isCompiled() {
|
|
13
|
-
return compiled() !== undefined;
|
|
14
|
-
}
|
|
15
|
-
export function paths() {
|
|
16
|
-
return Object.keys(compiled() ?? {});
|
|
17
|
-
}
|
|
18
|
-
export function has(path) {
|
|
19
|
-
const map = compiled();
|
|
20
|
-
return map ? path in map : true;
|
|
21
|
-
}
|
|
22
|
-
/** an asset path resolved to something the browser can actually load */
|
|
23
|
-
export function resolve(path) {
|
|
24
|
-
const map = compiled();
|
|
25
|
-
if (!map)
|
|
26
|
-
return base + path;
|
|
27
|
-
const found = map[path];
|
|
28
|
-
if (found === undefined) {
|
|
29
|
-
throw new Error(`asset "${path}" is not in this build - check it is under the folder passed to compile-resources`);
|
|
30
|
-
}
|
|
31
|
-
return found;
|
|
32
|
-
}
|
|
33
1
|
/**
|
|
34
|
-
*
|
|
2
|
+
* The `file://` story, in two halves.
|
|
35
3
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
4
|
+
* `paths.ts` resolves an asset path against the compiled `data:` URI map (or the dev server)
|
|
5
|
+
* and needs no renderer at all; `loader.ts` fetches and decodes through Pixi. This barrel
|
|
6
|
+
* exposes both, so `import { load, resolve } from '@datamoc/mw_games/assets'` is unchanged -
|
|
7
|
+
* but a game rendering through something else imports `@datamoc/mw_games/assets/paths`
|
|
8
|
+
* instead and pays nothing for Pixi.
|
|
40
9
|
*/
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
if (pending.length === 0) {
|
|
44
|
-
onProgress?.(1);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
for (const path of pending) {
|
|
48
|
-
Assets.add({ alias: path, src: resolve(path) });
|
|
49
|
-
}
|
|
50
|
-
await Assets.load(pending, onProgress);
|
|
51
|
-
}
|
|
52
|
-
/** a loaded texture, by the same path it was loaded with */
|
|
53
|
-
export function texture(path) {
|
|
54
|
-
if (!Assets.cache.has(path)) {
|
|
55
|
-
throw new Error(`texture "${path}" has not been loaded - pass it to load() first`);
|
|
56
|
-
}
|
|
57
|
-
return Assets.get(path);
|
|
58
|
-
}
|
|
59
|
-
/** a loaded asset of any other kind, such as parsed JSON */
|
|
60
|
-
export function get(path) {
|
|
61
|
-
if (!Assets.cache.has(path)) {
|
|
62
|
-
throw new Error(`asset "${path}" has not been loaded - pass it to load() first`);
|
|
63
|
-
}
|
|
64
|
-
return Assets.get(path);
|
|
65
|
-
}
|
|
66
|
-
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
67
|
-
export function isLoaded(path) {
|
|
68
|
-
return Assets.cache.has(path);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
72
|
-
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
73
|
-
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
74
|
-
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
75
|
-
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
76
|
-
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
77
|
-
*/
|
|
78
|
-
export async function release(paths) {
|
|
79
|
-
const loaded = paths.filter((path) => Assets.cache.has(path));
|
|
80
|
-
if (loaded.length === 0)
|
|
81
|
-
return;
|
|
82
|
-
await Assets.unload(loaded);
|
|
83
|
-
}
|
|
10
|
+
export { setBase, isCompiled, paths, has, resolve } from './paths.js';
|
|
11
|
+
export { load, texture, get, isLoaded, release } from './loader.js';
|
|
84
12
|
export { AssetStream } from './Streaming.js';
|
|
13
|
+
export { fetchWithByteProgress } from './ByteProgress.js';
|
|
85
14
|
//# sourceMappingURL=index.js.map
|
package/dist/assets/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Texture } from 'pixi.js';
|
|
2
|
+
import { type AssetProgress } from './paths.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Actually fetching and decoding assets, which is the half that needs Pixi.
|
|
5
|
+
*
|
|
6
|
+
* Split from `paths.ts` so path resolution stays renderer-free: a game rendering through
|
|
7
|
+
* something other than Pixi (`mwg/3d` on Babylon) resolves paths through the same compiled
|
|
8
|
+
* asset map and hands the fetch to its own loader, rather than importing this file at all.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Loads assets by path, giving each one an alias equal to its path.
|
|
12
|
+
*
|
|
13
|
+
* Load everything a scene needs before creating it; afterwards `texture()` is synchronous,
|
|
14
|
+
* so game code never has to await in the middle of building a scene. `onProgress`, when
|
|
15
|
+
* given, is item 135's `LoadQueue`/`LoadingScreen` seam for a task that would otherwise only
|
|
16
|
+
* ever report 0 then 1 around one opaque `await`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function load(paths: string[], onProgress?: AssetProgress): Promise<void>;
|
|
19
|
+
/** a loaded texture, by the same path it was loaded with */
|
|
20
|
+
export declare function texture(path: string): Texture;
|
|
21
|
+
/** a loaded asset of any other kind, such as parsed JSON */
|
|
22
|
+
export declare function get<T>(path: string): T;
|
|
23
|
+
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
24
|
+
export declare function isLoaded(path: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
27
|
+
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
28
|
+
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
29
|
+
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
30
|
+
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
31
|
+
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
32
|
+
*/
|
|
33
|
+
export declare function release(paths: string[]): Promise<void>;
|
|
34
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/assets/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,4DAA4D;AAC5D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK7C;AAED,4DAA4D;AAC5D,wBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAKtC;AAED,uFAAuF;AACvF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Assets, Texture } from 'pixi.js';
|
|
2
|
+
import { resolve } from './paths.js';
|
|
3
|
+
/**
|
|
4
|
+
* Actually fetching and decoding assets, which is the half that needs Pixi.
|
|
5
|
+
*
|
|
6
|
+
* Split from `paths.ts` so path resolution stays renderer-free: a game rendering through
|
|
7
|
+
* something other than Pixi (`mwg/3d` on Babylon) resolves paths through the same compiled
|
|
8
|
+
* asset map and hands the fetch to its own loader, rather than importing this file at all.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Loads assets by path, giving each one an alias equal to its path.
|
|
12
|
+
*
|
|
13
|
+
* Load everything a scene needs before creating it; afterwards `texture()` is synchronous,
|
|
14
|
+
* so game code never has to await in the middle of building a scene. `onProgress`, when
|
|
15
|
+
* given, is item 135's `LoadQueue`/`LoadingScreen` seam for a task that would otherwise only
|
|
16
|
+
* ever report 0 then 1 around one opaque `await`.
|
|
17
|
+
*/
|
|
18
|
+
export async function load(paths, onProgress) {
|
|
19
|
+
const pending = paths.filter((path) => !Assets.cache.has(path));
|
|
20
|
+
if (pending.length === 0) {
|
|
21
|
+
onProgress?.(1);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
for (const path of pending) {
|
|
25
|
+
Assets.add({ alias: path, src: resolve(path) });
|
|
26
|
+
}
|
|
27
|
+
await Assets.load(pending, onProgress);
|
|
28
|
+
}
|
|
29
|
+
/** a loaded texture, by the same path it was loaded with */
|
|
30
|
+
export function texture(path) {
|
|
31
|
+
if (!Assets.cache.has(path)) {
|
|
32
|
+
throw new Error(`texture "${path}" has not been loaded - pass it to load() first`);
|
|
33
|
+
}
|
|
34
|
+
return Assets.get(path);
|
|
35
|
+
}
|
|
36
|
+
/** a loaded asset of any other kind, such as parsed JSON */
|
|
37
|
+
export function get(path) {
|
|
38
|
+
if (!Assets.cache.has(path)) {
|
|
39
|
+
throw new Error(`asset "${path}" has not been loaded - pass it to load() first`);
|
|
40
|
+
}
|
|
41
|
+
return Assets.get(path);
|
|
42
|
+
}
|
|
43
|
+
/** true once `load` has resolved for this path and it has not since been `release`d */
|
|
44
|
+
export function isLoaded(path) {
|
|
45
|
+
return Assets.cache.has(path);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Frees assets `load` brought in, destroying any texture among them so it stops holding GPU
|
|
49
|
+
* memory. For a game with many discrete zones - each with its own tileset or sprite sheet -
|
|
50
|
+
* this is the counterpart to `world.World.unload`: that drops a map's own state, this drops
|
|
51
|
+
* the assets it pointed at, once a game decides the player has left an area for good. A path
|
|
52
|
+
* never loaded (or already released) is silently skipped rather than treated as an error,
|
|
53
|
+
* since a game unloading a zone it may or may not have visited shouldn't have to check first.
|
|
54
|
+
*/
|
|
55
|
+
export async function release(paths) {
|
|
56
|
+
const loaded = paths.filter((path) => Assets.cache.has(path));
|
|
57
|
+
if (loaded.length === 0)
|
|
58
|
+
return;
|
|
59
|
+
await Assets.unload(loaded);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/assets/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAsB,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAe,EAAE,UAA0B;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACR,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,iDAAiD,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAU,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,GAAG,CAAI,IAAY;IAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,iDAAiD,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,QAAQ,CAAC,IAAY;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAe;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a game's assets come from, as pure path arithmetic.
|
|
3
|
+
*
|
|
4
|
+
* In a built game, `tools/compile-resources` has already turned every asset into a `data:`
|
|
5
|
+
* URI inside a script that runs before the game does. `resolve` then hands back that URI
|
|
6
|
+
* instead of a path, which is what lets the page work from `file://`: see the tool for
|
|
7
|
+
* why plain files next to the page do not.
|
|
8
|
+
*
|
|
9
|
+
* During development there is no compiled bundle, so paths are used as they are and the
|
|
10
|
+
* dev server serves them. Game code says `load('tiles.png')` either way.
|
|
11
|
+
*
|
|
12
|
+
* Kept separate from `loader.ts` because none of this needs a renderer. Resolving a path is
|
|
13
|
+
* string-and-map work; only actually fetching and decoding an asset needs Pixi's loader. That
|
|
14
|
+
* split is what lets `mwg/3d` resolve a `.glb` path through the same compiled-asset map every
|
|
15
|
+
* 2D game uses while handing the fetch to Babylon, without a Babylon-only game importing
|
|
16
|
+
* Pixi at all - which it did, transitively, purely because these two halves shared a file.
|
|
17
|
+
*/
|
|
18
|
+
declare global {
|
|
19
|
+
interface Window {
|
|
20
|
+
__MWG_ASSETS__?: Record<string, string>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** points dev-mode lookups at the folder assets are served from */
|
|
24
|
+
export declare function setBase(path: string): void;
|
|
25
|
+
/** true when running against a compiled bundle rather than a dev server */
|
|
26
|
+
export declare function isCompiled(): boolean;
|
|
27
|
+
export declare function paths(): string[];
|
|
28
|
+
export declare function has(path: string): boolean;
|
|
29
|
+
/** an asset path resolved to something the browser can actually load */
|
|
30
|
+
export declare function resolve(path: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* 0 (started) to 1 (complete) - a count of assets finished, not a byte count. Pixi's own
|
|
33
|
+
* loaders do not expose bytes transferred across every asset type uniformly, so this reports
|
|
34
|
+
* what is actually available rather than a byte figure it cannot back with a real number.
|
|
35
|
+
*
|
|
36
|
+
* Lives here rather than with the loader so `Streaming.ts` can name it without either file
|
|
37
|
+
* importing the other's module barrel, which is what made these two a cycle before.
|
|
38
|
+
*/
|
|
39
|
+
export type AssetProgress = (fraction: number) => void;
|
|
40
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/assets/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC;CACD;AAKD,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1C;AAMD,2EAA2E;AAC3E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,wBAAgB,KAAK,IAAI,MAAM,EAAE,CAEhC;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzC;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW5C;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a game's assets come from, as pure path arithmetic.
|
|
3
|
+
*
|
|
4
|
+
* In a built game, `tools/compile-resources` has already turned every asset into a `data:`
|
|
5
|
+
* URI inside a script that runs before the game does. `resolve` then hands back that URI
|
|
6
|
+
* instead of a path, which is what lets the page work from `file://`: see the tool for
|
|
7
|
+
* why plain files next to the page do not.
|
|
8
|
+
*
|
|
9
|
+
* During development there is no compiled bundle, so paths are used as they are and the
|
|
10
|
+
* dev server serves them. Game code says `load('tiles.png')` either way.
|
|
11
|
+
*
|
|
12
|
+
* Kept separate from `loader.ts` because none of this needs a renderer. Resolving a path is
|
|
13
|
+
* string-and-map work; only actually fetching and decoding an asset needs Pixi's loader. That
|
|
14
|
+
* split is what lets `mwg/3d` resolve a `.glb` path through the same compiled-asset map every
|
|
15
|
+
* 2D game uses while handing the fetch to Babylon, without a Babylon-only game importing
|
|
16
|
+
* Pixi at all - which it did, transitively, purely because these two halves shared a file.
|
|
17
|
+
*/
|
|
18
|
+
/** the base for dev-mode paths, when assets are served rather than compiled in */
|
|
19
|
+
let base = '';
|
|
20
|
+
/** points dev-mode lookups at the folder assets are served from */
|
|
21
|
+
export function setBase(path) {
|
|
22
|
+
base = path.endsWith('/') || path === '' ? path : path + '/';
|
|
23
|
+
}
|
|
24
|
+
function compiled() {
|
|
25
|
+
return typeof window === 'undefined' ? undefined : window.__MWG_ASSETS__;
|
|
26
|
+
}
|
|
27
|
+
/** true when running against a compiled bundle rather than a dev server */
|
|
28
|
+
export function isCompiled() {
|
|
29
|
+
return compiled() !== undefined;
|
|
30
|
+
}
|
|
31
|
+
export function paths() {
|
|
32
|
+
return Object.keys(compiled() ?? {});
|
|
33
|
+
}
|
|
34
|
+
export function has(path) {
|
|
35
|
+
const map = compiled();
|
|
36
|
+
return map ? path in map : true;
|
|
37
|
+
}
|
|
38
|
+
/** an asset path resolved to something the browser can actually load */
|
|
39
|
+
export function resolve(path) {
|
|
40
|
+
const map = compiled();
|
|
41
|
+
if (!map)
|
|
42
|
+
return base + path;
|
|
43
|
+
const found = map[path];
|
|
44
|
+
if (found === undefined) {
|
|
45
|
+
throw new Error(`asset "${path}" is not in this build - check it is under the folder passed to compile-resources`);
|
|
46
|
+
}
|
|
47
|
+
return found;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/assets/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,kFAAkF;AAClF,IAAI,IAAI,GAAG,EAAE,CAAC;AAEd,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ;IAChB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;AAC1E,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU;IACzB,OAAO,QAAQ,EAAE,KAAK,SAAS,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,KAAK;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IAE7B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,UAAU,IAAI,mFAAmF,CACjG,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
package/dist/audio/Playable.js
CHANGED
package/dist/battle/Field.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class Field {
|
|
|
19
19
|
get(id: string): FieldCondition | undefined;
|
|
20
20
|
clear(id: string): void;
|
|
21
21
|
get active(): readonly FieldCondition[];
|
|
22
|
-
/** ticks every timed condition down by
|
|
23
|
-
advance(): void;
|
|
22
|
+
/** ticks every timed condition down by `rounds`, clearing any that just ran out */
|
|
23
|
+
advance(rounds?: number): void;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/battle/Field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,KAAK;IACjB,OAAO,CAAC,UAAU,CAAqC;IAEvD,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAEnC;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvB;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1C;IAED,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtB;IAED,IAAI,MAAM,IAAI,SAAS,cAAc,EAAE,CAEtC;IAED,
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/battle/Field.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,KAAK;IACjB,OAAO,CAAC,UAAU,CAAqC;IAEvD,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAEnC;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvB;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1C;IAED,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtB;IAED,IAAI,MAAM,IAAI,SAAS,cAAc,EAAE,CAEtC;IAED,mFAAmF;IACnF,OAAO,CAAC,MAAM,SAAI,GAAG,IAAI,CAOxB;CACD"}
|
package/dist/battle/Field.js
CHANGED
|
@@ -17,12 +17,12 @@ export class Field {
|
|
|
17
17
|
get active() {
|
|
18
18
|
return [...this.conditions.values()];
|
|
19
19
|
}
|
|
20
|
-
/** ticks every timed condition down by
|
|
21
|
-
advance() {
|
|
20
|
+
/** ticks every timed condition down by `rounds`, clearing any that just ran out */
|
|
21
|
+
advance(rounds = 1) {
|
|
22
22
|
for (const [id, condition] of this.conditions) {
|
|
23
23
|
if (condition.duration === undefined)
|
|
24
24
|
continue;
|
|
25
|
-
condition.duration -=
|
|
25
|
+
condition.duration -= rounds;
|
|
26
26
|
if (condition.duration <= 0)
|
|
27
27
|
this.conditions.delete(id);
|
|
28
28
|
}
|
package/dist/battle/Field.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/battle/Field.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,KAAK;IAAlB;QACS,eAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IA+BxD,CAAC;IA7BA,GAAG,CAAC,SAAyB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,EAAU;QACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/battle/Field.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,KAAK;IAAlB;QACS,eAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IA+BxD,CAAC;IA7BA,GAAG,CAAC,SAAyB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,EAAU;QACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,MAAM,GAAG,CAAC;QACjB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS;gBAAE,SAAS;YAE/C,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC;YAC7B,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;CACD"}
|
package/dist/battle/Hooks.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HookRegistry } from '../core/Hooks.ts';
|
|
1
2
|
/**
|
|
2
3
|
* A battle-scoped place for passive effects to run code, not just push a number - the seam
|
|
3
4
|
* `mwg/actors`' `StatBlock` modifiers and `applyStatusEffect` do not cover, since both are
|
|
@@ -11,19 +12,12 @@
|
|
|
11
12
|
* check is a plain convention on top of this, not special-cased: a handler mutates a shared
|
|
12
13
|
* `context` object (`{ skip: false }`, say) the same way any other side effect would, and
|
|
13
14
|
* the battle loop reads it back after `emit` returns.
|
|
15
|
+
*
|
|
16
|
+
* The registry itself is `core.HookRegistry`, shared with `roguelike.CombatHooks`. What is
|
|
17
|
+
* battle-specific is only the shape of what a handler receives: the creature the event is
|
|
18
|
+
* about, plus that optional shared context.
|
|
14
19
|
*/
|
|
15
|
-
export
|
|
16
|
-
event: string;
|
|
17
|
-
handler: (creature: C, context?: unknown) => void;
|
|
18
|
-
/** whatever registered this hook - an ability, a held item - for bulk removal via `offSource` */
|
|
19
|
-
source?: unknown;
|
|
20
|
-
}
|
|
21
|
-
export declare class BattleHooks<C> {
|
|
22
|
-
private hooks;
|
|
23
|
-
on(event: string, handler: (creature: C, context?: unknown) => void, source?: unknown): void;
|
|
24
|
-
/** removes every hook registered with this `source` - a fainted creature's ability leaving */
|
|
25
|
-
offSource(source: unknown): void;
|
|
26
|
-
/** runs every handler registered for `event`, in registration order */
|
|
27
|
-
emit(event: string, creature: C, context?: unknown): void;
|
|
20
|
+
export declare class BattleHooks<C> extends HookRegistry<[creature: C, context?: unknown]> {
|
|
28
21
|
}
|
|
22
|
+
export type { Hook as BattleHook } from '../core/Hooks.ts';
|
|
29
23
|
//# sourceMappingURL=Hooks.d.ts.map
|