react-native-games 0.3.0 → 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 +45 -32
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +160 -75
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +183 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js +152 -55
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +108 -92
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js +48 -65
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/GameArea.js +7 -2
- package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/GameBackground.js +8 -83
- package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js +9 -6
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js +8 -16
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/index.js +0 -1
- package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
- package/lib/module/games/{fruit-slicer/FruitSlicer.js → fruit-ninja/FruitNinja.js} +68 -54
- package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +151 -0
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -0
- package/lib/module/games/{fruit-slicer/FruitSlicerService.js → fruit-ninja/FruitNinjaService.js} +13 -12
- package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -0
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js +166 -0
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.js +1 -1
- package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -0
- package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameBackground.js +198 -169
- package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -0
- package/lib/module/games/fruit-ninja/components/GameOverModal.js.map +1 -0
- package/lib/module/games/fruit-ninja/components/ParticleSystem.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.js +8 -17
- package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/SliceTrail.js +1 -1
- package/lib/module/games/fruit-ninja/components/SliceTrail.js.map +1 -0
- package/lib/module/games/{fruit-slicer → fruit-ninja}/components/index.js +0 -1
- package/lib/module/games/fruit-ninja/components/index.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunner.js +109 -91
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
- package/lib/module/games/maze-runner/MazeRunnerConstants.js +105 -0
- package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunnerService.js +37 -14
- package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js +5 -9
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
- package/lib/module/games/maze-runner/components/GameBackground.js +151 -192
- package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
- package/lib/module/games/maze-runner/components/ScoreBoard.js +8 -23
- package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/maze-runner/components/index.js +0 -1
- package/lib/module/games/maze-runner/components/index.js.map +1 -1
- package/lib/module/games/popit-fidget/PopitFidget.js +293 -0
- package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js +116 -0
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetService.js +191 -0
- package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -0
- package/lib/module/games/popit-fidget/PopitFidgetStore.js +190 -0
- package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -0
- package/lib/module/games/popit-fidget/components/BubbleComponent.js +196 -0
- package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -0
- package/lib/module/games/popit-fidget/components/FidgetGrid.js +165 -0
- package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -0
- package/lib/module/games/popit-fidget/components/GameBackground.js +174 -0
- package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -0
- package/lib/module/games/popit-fidget/components/GameOverModal.js +132 -0
- package/lib/module/games/popit-fidget/components/GameOverModal.js.map +1 -0
- package/lib/module/games/popit-fidget/components/ParticleSystem.js +89 -0
- package/lib/module/games/popit-fidget/components/ParticleSystem.js.map +1 -0
- package/lib/module/games/popit-fidget/components/ScoreBoard.js +68 -0
- package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/popit-fidget/components/index.js +9 -0
- package/lib/module/games/popit-fidget/components/index.js.map +1 -0
- package/lib/module/games/{space-traveller/SpaceTraveller.js → space-fighter/SpaceFighter.js} +94 -70
- package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighterConstants.js +110 -0
- package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -0
- package/lib/module/games/{space-traveller/SpaceTravellerService.js → space-fighter/SpaceFighterService.js} +18 -10
- package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighterStore.js +143 -0
- package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -0
- package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -0
- package/lib/module/games/space-fighter/components/GameArea.js.map +1 -0
- package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -0
- package/lib/module/games/space-fighter/components/GameOverModal.js.map +1 -0
- package/lib/module/games/space-fighter/components/ParticleComponent.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/ScoreBoard.js +11 -19
- package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/space-fighter/components/SettingsModal.js.map +1 -0
- package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/SpacecraftPath.js +1 -1
- package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -0
- package/lib/module/games/{space-traveller → space-fighter}/components/index.js +0 -1
- package/lib/module/games/space-fighter/components/index.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMole.js +273 -0
- package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +117 -0
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleService.js +120 -0
- package/lib/module/games/whack-a-mole/WhackAMoleService.js.map +1 -0
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js +159 -0
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/GameBackground.js +31 -91
- package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -0
- package/lib/module/games/whack-a-mole/components/GameGrid.js +97 -0
- package/lib/module/games/whack-a-mole/components/GameGrid.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/GameHole.js +67 -54
- package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/GameOverModal.js +2 -2
- package/lib/module/games/whack-a-mole/components/GameOverModal.js.map +1 -0
- package/lib/module/games/{cat-popper/components/CatCharacter.js → whack-a-mole/components/MoleCharacter.js} +75 -115
- package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/ScoreBoard.js +8 -16
- package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/{cat-popper → whack-a-mole}/components/index.js +1 -2
- package/lib/module/games/whack-a-mole/components/index.js.map +1 -0
- package/lib/module/index.js +4 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/GamesConstants.js +36 -506
- package/lib/module/services/GamesConstants.js.map +1 -1
- package/lib/module/services/GamesService.js +22 -14
- package/lib/module/services/GamesService.js.map +1 -1
- package/lib/module/services/HapticsService.js +77 -0
- package/lib/module/services/HapticsService.js.map +1 -0
- package/lib/module/services/SoundsService.js +171 -0
- package/lib/module/services/SoundsService.js.map +1 -0
- package/lib/module/{games/balloon-blaster/components/GameControls.js → shared/helpers/GameControlButton.js} +39 -58
- package/lib/module/shared/helpers/GameControlButton.js.map +1 -0
- package/lib/module/shared/helpers/ResponsiveScoreBoard.js +81 -0
- package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +1 -0
- package/lib/module/shared/helpers/index.js +5 -0
- package/lib/module/shared/helpers/index.js.map +1 -0
- package/lib/module/shared/settings/SettingsService.js +18 -12
- package/lib/module/shared/settings/SettingsService.js.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +143 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +3 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +12 -2
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +16 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +112 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer/FruitSlicerService.d.ts → fruit-ninja/FruitNinjaService.d.ts} +4 -4
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer/FruitSlicerStore.d.ts → fruit-ninja/FruitNinjaStore.d.ts} +12 -4
- package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/FruitComponent.d.ts +1 -1
- package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/GameArea.d.ts +1 -1
- package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/ParticleSystem.d.ts +1 -1
- package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/index.d.ts +0 -1
- package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -9
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +41 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +4 -2
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +2 -1
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -1
- package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +11 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +45 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +54 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +40 -0
- package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +12 -0
- package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +12 -0
- package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +9 -0
- package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts +9 -0
- package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts +9 -0
- package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +8 -0
- package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/popit-fidget/components/index.d.ts +7 -0
- package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +9 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +71 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller/SpaceTravellerService.d.ts → space-fighter/SpaceFighterService.d.ts} +7 -4
- package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller/SpaceTravellerStore.d.ts → space-fighter/SpaceFighterStore.d.ts} +12 -4
- package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/AsteroidComponent.d.ts +1 -1
- package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/GameArea.d.ts +1 -1
- package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/ParticleComponent.d.ts +1 -1
- package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/Spacecraft3D.d.ts +1 -1
- package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -0
- package/lib/typescript/src/games/{space-traveller → space-fighter}/components/index.d.ts +0 -1
- package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper/CatPopper.d.ts → whack-a-mole/WhackAMole.d.ts} +4 -4
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +79 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +33 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +41 -0
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameGrid.d.ts +2 -2
- package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/GameHole.d.ts +3 -2
- package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -0
- package/lib/typescript/src/games/{fruit-slicer → whack-a-mole}/components/GameOverModal.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +7 -0
- package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -0
- package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/{cat-popper → whack-a-mole}/components/index.d.ts +1 -2
- package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesConstants.d.ts +30 -318
- package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesService.d.ts +1 -0
- package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
- package/lib/typescript/src/services/HapticsService.d.ts +16 -0
- package/lib/typescript/src/services/HapticsService.d.ts.map +1 -0
- package/lib/typescript/src/services/SoundsService.d.ts +154 -0
- package/lib/typescript/src/services/SoundsService.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/GameControlButton.d.ts +17 -0
- package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +42 -0
- package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/shared/helpers/index.d.ts +4 -0
- package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -0
- package/lib/typescript/src/shared/settings/SettingsService.d.ts +2 -1
- package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +1 -1
- package/package.json +9 -6
- package/lib/module/games/balloon-blaster/components/GameControls.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopper.js +0 -230
- package/lib/module/games/cat-popper/CatPopper.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopperService.js +0 -100
- package/lib/module/games/cat-popper/CatPopperService.js.map +0 -1
- package/lib/module/games/cat-popper/CatPopperStore.js +0 -113
- package/lib/module/games/cat-popper/CatPopperStore.js.map +0 -1
- package/lib/module/games/cat-popper/components/CatCharacter.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameBackground.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameControls.js +0 -230
- package/lib/module/games/cat-popper/components/GameControls.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameGrid.js +0 -66
- package/lib/module/games/cat-popper/components/GameGrid.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameHole.js.map +0 -1
- package/lib/module/games/cat-popper/components/GameOverModal.js.map +0 -1
- package/lib/module/games/cat-popper/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/cat-popper/components/index.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicer.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +0 -1
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js +0 -156
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameArea.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameBackground.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameControls.js +0 -230
- package/lib/module/games/fruit-slicer/components/GameControls.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +0 -1
- package/lib/module/games/fruit-slicer/components/index.js.map +0 -1
- package/lib/module/games/maze-runner/components/GameControls.js +0 -129
- package/lib/module/games/maze-runner/components/GameControls.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTraveller.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTravellerService.js.map +0 -1
- package/lib/module/games/space-traveller/SpaceTravellerStore.js +0 -139
- package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +0 -1
- package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameArea.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameBackground.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameControls.js +0 -177
- package/lib/module/games/space-traveller/components/GameControls.js.map +0 -1
- package/lib/module/games/space-traveller/components/GameOverModal.js.map +0 -1
- package/lib/module/games/space-traveller/components/ParticleComponent.js.map +0 -1
- package/lib/module/games/space-traveller/components/ScoreBoard.js.map +0 -1
- package/lib/module/games/space-traveller/components/SettingsModal.js.map +0 -1
- package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +0 -1
- package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +0 -1
- package/lib/module/games/space-traveller/components/index.js.map +0 -1
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +0 -32
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +0 -21
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +0 -7
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +0 -16
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +0 -1
- package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +0 -1
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +0 -17
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +0 -10
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +0 -1
- package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +0 -1
- /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameArea.js +0 -0
- /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/GameOverModal.js +0 -0
- /package/lib/module/games/{fruit-slicer → fruit-ninja}/components/ParticleSystem.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/AsteroidComponent.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/GameArea.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/GameBackground.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/GameOverModal.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/ParticleComponent.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/SettingsModal.js +0 -0
- /package/lib/module/games/{space-traveller → space-fighter}/components/Spacecraft3D.js +0 -0
- /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{cat-popper → fruit-ninja}/components/GameOverModal.d.ts +0 -0
- /package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/ScoreBoard.d.ts +0 -0
- /package/lib/typescript/src/games/{fruit-slicer → fruit-ninja}/components/SliceTrail.d.ts +0 -0
- /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{fruit-slicer → space-fighter}/components/GameOverModal.d.ts +0 -0
- /package/lib/typescript/src/games/{cat-popper → space-fighter}/components/ScoreBoard.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SettingsModal.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → space-fighter}/components/SpacecraftPath.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameBackground.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/GameOverModal.d.ts +0 -0
- /package/lib/typescript/src/games/{space-traveller → whack-a-mole}/components/ScoreBoard.d.ts +0 -0
|
@@ -1,34 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { produce } from 'immer';
|
|
3
4
|
export const gamesList = [{
|
|
4
|
-
id: '
|
|
5
|
-
title: '
|
|
6
|
-
description: '
|
|
5
|
+
id: 'whack-a-mole',
|
|
6
|
+
title: 'Whack A Mole',
|
|
7
|
+
description: 'Whack cute cats popping from holes - fast reflexes needed!',
|
|
7
8
|
icon: 'hammer',
|
|
8
9
|
color: '#ff6b6b'
|
|
9
10
|
}, {
|
|
10
|
-
id: '
|
|
11
|
-
title: '
|
|
12
|
-
description: '
|
|
11
|
+
id: 'popit-fidget',
|
|
12
|
+
title: 'Popit Fidget',
|
|
13
|
+
description: 'Pop satisfying bubbles in this relaxing fidget toy game',
|
|
14
|
+
icon: 'ellipse',
|
|
15
|
+
color: '#6c5ce7'
|
|
16
|
+
}, {
|
|
17
|
+
id: 'fruit-ninja',
|
|
18
|
+
title: 'Fruit Ninja',
|
|
19
|
+
description: 'Slice flying fruits with finger swipes - avoid the bombs!',
|
|
13
20
|
icon: 'cut',
|
|
14
21
|
color: '#4ecdc4'
|
|
22
|
+
}, {
|
|
23
|
+
id: 'space-fighter',
|
|
24
|
+
title: 'Space Fighter',
|
|
25
|
+
description: 'Pilot spaceship through asteroid fields in endless space',
|
|
26
|
+
icon: 'rocket',
|
|
27
|
+
color: '#45b7d1'
|
|
15
28
|
}, {
|
|
16
29
|
id: 'balloon-blaster',
|
|
17
30
|
title: 'Balloon Blaster',
|
|
18
|
-
description: 'Pop
|
|
31
|
+
description: 'Pop rising balloons before they escape - quick taps win!',
|
|
19
32
|
icon: 'balloon',
|
|
20
33
|
color: '#ff9ff3'
|
|
21
|
-
}, {
|
|
22
|
-
id: 'space-traveller',
|
|
23
|
-
title: 'Space Traveller',
|
|
24
|
-
description: 'Navigate through space avoiding asteroids in this endless travelling',
|
|
25
|
-
icon: 'rocket',
|
|
26
|
-
color: '#45b7d1'
|
|
27
34
|
}, {
|
|
28
35
|
id: 'maze-runner',
|
|
29
36
|
title: 'Maze Runner',
|
|
30
|
-
description: '
|
|
37
|
+
description: 'Navigate ball through mazes using tilt and physics controls',
|
|
31
38
|
icon: 'trail-sign',
|
|
32
39
|
color: '#96ceb4'
|
|
33
40
|
}];
|
|
41
|
+
export const immerMiddleware = config => (set, get, api) => config(fn => set(produce(fn)), get, api);
|
|
34
42
|
//# sourceMappingURL=GamesService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gamesList","id","title","description","icon","color"],"sourceRoot":"../../../src","sources":["services/GamesService.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["produce","gamesList","id","title","description","icon","color","immerMiddleware","config","set","get","api","fn"],"sourceRoot":"../../../src","sources":["services/GamesService.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAO,MAAMC,SAAS,GAAG,CACvB;EACEC,EAAE,EAAE,cAAc;EAClBC,KAAK,EAAE,cAAc;EACrBC,WAAW,EAAE,4DAA4D;EACzEC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,EAAE,EAAE,cAAc;EAClBC,KAAK,EAAE,cAAc;EACrBC,WAAW,EAAE,yDAAyD;EACtEC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,EAAE,EAAE,aAAa;EACjBC,KAAK,EAAE,aAAa;EACpBC,WAAW,EAAE,2DAA2D;EACxEC,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,EAAE,EAAE,eAAe;EACnBC,KAAK,EAAE,eAAe;EACtBC,WAAW,EAAE,0DAA0D;EACvEC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,EAAE,EAAE,iBAAiB;EACrBC,KAAK,EAAE,iBAAiB;EACxBC,WAAW,EAAE,0DAA0D;EACvEC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;AACT,CAAC,EACD;EACEJ,EAAE,EAAE,aAAa;EACjBC,KAAK,EAAE,aAAa;EACpBC,WAAW,EAAE,6DAA6D;EAC1EC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE;AACT,CAAC,CACF;AAED,OAAO,MAAMC,eAAe,GAAIC,MAAW,IAAK,CAACC,GAAQ,EAAEC,GAAQ,EAAEC,GAAQ,KAAKH,MAAM,CAAEI,EAAO,IAAKH,GAAG,CAACT,OAAO,CAACY,EAAE,CAAC,CAAC,EAAEF,GAAG,EAAEC,GAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as Haptics from 'expo-haptics';
|
|
4
|
+
export let HapticType = /*#__PURE__*/function (HapticType) {
|
|
5
|
+
HapticType["LIGHT"] = "light";
|
|
6
|
+
HapticType["MEDIUM"] = "medium";
|
|
7
|
+
HapticType["HEAVY"] = "heavy";
|
|
8
|
+
HapticType["SUCCESS"] = "success";
|
|
9
|
+
HapticType["WARNING"] = "warning";
|
|
10
|
+
HapticType["ERROR"] = "error";
|
|
11
|
+
HapticType["SELECTION"] = "selection";
|
|
12
|
+
return HapticType;
|
|
13
|
+
}({});
|
|
14
|
+
|
|
15
|
+
// Cache haptics availability to avoid repeated failed attempts
|
|
16
|
+
let hapticsDisabled = false;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Play haptic feedback with robust error handling
|
|
20
|
+
* @param type - Type of haptic feedback to play
|
|
21
|
+
* @param hapticEnabled - Whether haptic feedback is enabled in settings
|
|
22
|
+
*/
|
|
23
|
+
export const playHaptic = (type, hapticEnabled = false) => {
|
|
24
|
+
// Early return if haptics are disabled in settings or previously failed
|
|
25
|
+
if (!hapticEnabled || hapticsDisabled) return;
|
|
26
|
+
try {
|
|
27
|
+
switch (type) {
|
|
28
|
+
case HapticType.LIGHT:
|
|
29
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light).catch(error => {
|
|
30
|
+
console.warn('Light haptic failed:', error);
|
|
31
|
+
hapticsDisabled = true;
|
|
32
|
+
});
|
|
33
|
+
break;
|
|
34
|
+
case HapticType.MEDIUM:
|
|
35
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium).catch(error => {
|
|
36
|
+
console.warn('Medium haptic failed:', error);
|
|
37
|
+
hapticsDisabled = true;
|
|
38
|
+
});
|
|
39
|
+
break;
|
|
40
|
+
case HapticType.HEAVY:
|
|
41
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy).catch(error => {
|
|
42
|
+
console.warn('Heavy haptic failed:', error);
|
|
43
|
+
hapticsDisabled = true;
|
|
44
|
+
});
|
|
45
|
+
break;
|
|
46
|
+
case HapticType.SUCCESS:
|
|
47
|
+
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success).catch(error => {
|
|
48
|
+
console.warn('Success haptic failed:', error);
|
|
49
|
+
hapticsDisabled = true;
|
|
50
|
+
});
|
|
51
|
+
break;
|
|
52
|
+
case HapticType.WARNING:
|
|
53
|
+
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning).catch(error => {
|
|
54
|
+
console.warn('Warning haptic failed:', error);
|
|
55
|
+
hapticsDisabled = true;
|
|
56
|
+
});
|
|
57
|
+
break;
|
|
58
|
+
case HapticType.ERROR:
|
|
59
|
+
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error).catch(error => {
|
|
60
|
+
console.warn('Error haptic failed:', error);
|
|
61
|
+
hapticsDisabled = true;
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
case HapticType.SELECTION:
|
|
65
|
+
Haptics.selectionAsync().catch(error => {
|
|
66
|
+
console.warn('Selection haptic failed:', error);
|
|
67
|
+
hapticsDisabled = true;
|
|
68
|
+
});
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
} catch (error) {
|
|
72
|
+
// Synchronous error handling - disable haptics completely
|
|
73
|
+
console.warn('Haptic feedback failed, disabling haptics:', error);
|
|
74
|
+
hapticsDisabled = true;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=HapticsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Haptics","HapticType","hapticsDisabled","playHaptic","type","hapticEnabled","LIGHT","impactAsync","ImpactFeedbackStyle","Light","catch","error","console","warn","MEDIUM","Medium","HEAVY","Heavy","SUCCESS","notificationAsync","NotificationFeedbackType","Success","WARNING","Warning","ERROR","Error","SELECTION","selectionAsync"],"sourceRoot":"../../../src","sources":["services/HapticsService.ts"],"mappings":";;AAAA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AAUtB;AACA,IAAIC,eAAe,GAAG,KAAK;;AAE3B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAACC,IAAgB,EAAEC,aAAsB,GAAG,KAAK,KAAW;EACpF;EACA,IAAI,CAACA,aAAa,IAAIH,eAAe,EAAE;EAEvC,IAAI;IACF,QAAQE,IAAI;MACV,KAAKH,UAAU,CAACK,KAAK;QACnBN,OAAO,CAACO,WAAW,CAACP,OAAO,CAACQ,mBAAmB,CAACC,KAAK,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;UACtEC,OAAO,CAACC,IAAI,CAAC,sBAAsB,EAAEF,KAAK,CAAC;UAC3CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACa,MAAM;QACpBd,OAAO,CAACO,WAAW,CAACP,OAAO,CAACQ,mBAAmB,CAACO,MAAM,CAAC,CAACL,KAAK,CAAEC,KAAK,IAAK;UACvEC,OAAO,CAACC,IAAI,CAAC,uBAAuB,EAAEF,KAAK,CAAC;UAC5CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACe,KAAK;QACnBhB,OAAO,CAACO,WAAW,CAACP,OAAO,CAACQ,mBAAmB,CAACS,KAAK,CAAC,CAACP,KAAK,CAAEC,KAAK,IAAK;UACtEC,OAAO,CAACC,IAAI,CAAC,sBAAsB,EAAEF,KAAK,CAAC;UAC3CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACiB,OAAO;QACrBlB,OAAO,CAACmB,iBAAiB,CAACnB,OAAO,CAACoB,wBAAwB,CAACC,OAAO,CAAC,CAACX,KAAK,CAAEC,KAAK,IAAK;UACnFC,OAAO,CAACC,IAAI,CAAC,wBAAwB,EAAEF,KAAK,CAAC;UAC7CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACqB,OAAO;QACrBtB,OAAO,CAACmB,iBAAiB,CAACnB,OAAO,CAACoB,wBAAwB,CAACG,OAAO,CAAC,CAACb,KAAK,CAAEC,KAAK,IAAK;UACnFC,OAAO,CAACC,IAAI,CAAC,wBAAwB,EAAEF,KAAK,CAAC;UAC7CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACuB,KAAK;QACnBxB,OAAO,CAACmB,iBAAiB,CAACnB,OAAO,CAACoB,wBAAwB,CAACK,KAAK,CAAC,CAACf,KAAK,CAAEC,KAAK,IAAK;UACjFC,OAAO,CAACC,IAAI,CAAC,sBAAsB,EAAEF,KAAK,CAAC;UAC3CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;MACF,KAAKD,UAAU,CAACyB,SAAS;QACvB1B,OAAO,CAAC2B,cAAc,CAAC,CAAC,CAACjB,KAAK,CAAEC,KAAK,IAAK;UACxCC,OAAO,CAACC,IAAI,CAAC,0BAA0B,EAAEF,KAAK,CAAC;UAC/CT,eAAe,GAAG,IAAI;QACxB,CAAC,CAAC;QACF;IACJ;EACF,CAAC,CAAC,OAAOS,KAAK,EAAE;IACd;IACAC,OAAO,CAACC,IAAI,CAAC,4CAA4C,EAAEF,KAAK,CAAC;IACjET,eAAe,GAAG,IAAI;EACxB;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as Speech from 'expo-speech';
|
|
4
|
+
export const playSound = (soundConfig, soundEnabled) => {
|
|
5
|
+
if (!soundEnabled) return;
|
|
6
|
+
Speech.speak(soundConfig.text, {
|
|
7
|
+
pitch: soundConfig.pitch || 1.0,
|
|
8
|
+
rate: soundConfig.rate || 1.5,
|
|
9
|
+
language: soundConfig.language || 'en'
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
export const stopAllSounds = () => {
|
|
13
|
+
Speech.stop();
|
|
14
|
+
};
|
|
15
|
+
export const isSpeechAvailable = async () => {
|
|
16
|
+
try {
|
|
17
|
+
return await Speech.isSpeakingAsync();
|
|
18
|
+
} catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// Predefined sound configurations for common game events
|
|
24
|
+
export const GAME_SOUNDS = {
|
|
25
|
+
// Generic game sounds
|
|
26
|
+
POP: {
|
|
27
|
+
text: 'Pop!',
|
|
28
|
+
pitch: 1.6,
|
|
29
|
+
rate: 2.2
|
|
30
|
+
},
|
|
31
|
+
SWOOSH: {
|
|
32
|
+
text: 'Swoosh!',
|
|
33
|
+
pitch: 1.5,
|
|
34
|
+
rate: 2.5
|
|
35
|
+
},
|
|
36
|
+
BOOM: {
|
|
37
|
+
text: 'Boom!',
|
|
38
|
+
pitch: 0.8,
|
|
39
|
+
rate: 1.5
|
|
40
|
+
},
|
|
41
|
+
WHOOSH: {
|
|
42
|
+
text: 'Whoosh',
|
|
43
|
+
pitch: 0.7,
|
|
44
|
+
rate: 1.8
|
|
45
|
+
},
|
|
46
|
+
// Game state sounds
|
|
47
|
+
GAME_START: {
|
|
48
|
+
text: 'Game started!',
|
|
49
|
+
pitch: 1.2,
|
|
50
|
+
rate: 1.8
|
|
51
|
+
},
|
|
52
|
+
GAME_OVER: {
|
|
53
|
+
text: 'Game over!',
|
|
54
|
+
pitch: 1.0,
|
|
55
|
+
rate: 1.5
|
|
56
|
+
},
|
|
57
|
+
TIME_UP: {
|
|
58
|
+
text: 'Time up! Game over!',
|
|
59
|
+
pitch: 1.0,
|
|
60
|
+
rate: 1.5
|
|
61
|
+
},
|
|
62
|
+
WELL_DONE: {
|
|
63
|
+
text: 'Well done!',
|
|
64
|
+
pitch: 1.3,
|
|
65
|
+
rate: 1.6
|
|
66
|
+
},
|
|
67
|
+
CONGRATULATIONS: {
|
|
68
|
+
text: 'Congratulations!',
|
|
69
|
+
pitch: 1.2,
|
|
70
|
+
rate: 1.6
|
|
71
|
+
},
|
|
72
|
+
// Specific game sounds
|
|
73
|
+
BUBBLE_POPPER: {
|
|
74
|
+
START: {
|
|
75
|
+
text: 'Bubble Popper started!',
|
|
76
|
+
pitch: 1.2,
|
|
77
|
+
rate: 1.8
|
|
78
|
+
},
|
|
79
|
+
COMPLETE: {
|
|
80
|
+
text: 'All bubbles popped! Well done!',
|
|
81
|
+
pitch: 1.3,
|
|
82
|
+
rate: 1.6
|
|
83
|
+
},
|
|
84
|
+
POP: {
|
|
85
|
+
text: 'Pop!',
|
|
86
|
+
pitch: 1.6,
|
|
87
|
+
rate: 2.2
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
WHACK_A_MOLE: {
|
|
91
|
+
HIT: {
|
|
92
|
+
text: 'Pop!',
|
|
93
|
+
pitch: 1.8,
|
|
94
|
+
rate: 2.0
|
|
95
|
+
},
|
|
96
|
+
MISS: {
|
|
97
|
+
text: 'Whoosh',
|
|
98
|
+
pitch: 0.7,
|
|
99
|
+
rate: 1.8
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
BALLOON_BLASTER: {
|
|
103
|
+
POP: {
|
|
104
|
+
text: 'Pop!',
|
|
105
|
+
pitch: 1.5,
|
|
106
|
+
rate: 2.5
|
|
107
|
+
},
|
|
108
|
+
BOMB: {
|
|
109
|
+
text: 'Boom!',
|
|
110
|
+
pitch: 0.8,
|
|
111
|
+
rate: 1.5
|
|
112
|
+
},
|
|
113
|
+
BONUS: {
|
|
114
|
+
text: 'bonus life!',
|
|
115
|
+
pitch: 1.8,
|
|
116
|
+
rate: 2.0
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
FRUIT_NINJA: {
|
|
120
|
+
SLICE: {
|
|
121
|
+
text: 'Swoosh!',
|
|
122
|
+
pitch: 1.5,
|
|
123
|
+
rate: 2.5
|
|
124
|
+
},
|
|
125
|
+
BOMB: {
|
|
126
|
+
text: 'Boom!',
|
|
127
|
+
pitch: 0.8,
|
|
128
|
+
rate: 1.5
|
|
129
|
+
},
|
|
130
|
+
BONUS: {
|
|
131
|
+
text: 'bonus life!',
|
|
132
|
+
pitch: 1.8,
|
|
133
|
+
rate: 2.0
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
MAZE_RUNNER: {
|
|
137
|
+
START: {
|
|
138
|
+
text: 'Maze started! Navigate to the exit!',
|
|
139
|
+
pitch: 1.0,
|
|
140
|
+
rate: 1.8
|
|
141
|
+
},
|
|
142
|
+
COMPLETE: {
|
|
143
|
+
text: 'Congratulations! Maze completed!',
|
|
144
|
+
pitch: 1.2,
|
|
145
|
+
rate: 1.6
|
|
146
|
+
},
|
|
147
|
+
STOP: {
|
|
148
|
+
text: 'Maze stopped!',
|
|
149
|
+
pitch: 1.0,
|
|
150
|
+
rate: 1.5
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
SPACE_FIGHTER: {
|
|
154
|
+
START: {
|
|
155
|
+
text: 'Mission started! Navigate through the asteroid field!',
|
|
156
|
+
pitch: 1.0,
|
|
157
|
+
rate: 1.8
|
|
158
|
+
},
|
|
159
|
+
SUCCESS: {
|
|
160
|
+
text: 'Nice!',
|
|
161
|
+
pitch: 1.8,
|
|
162
|
+
rate: 2.0
|
|
163
|
+
},
|
|
164
|
+
COLLISION: {
|
|
165
|
+
text: 'Ouch!',
|
|
166
|
+
pitch: 0.8,
|
|
167
|
+
rate: 1.5
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=SoundsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Speech","playSound","soundConfig","soundEnabled","speak","text","pitch","rate","language","stopAllSounds","stop","isSpeechAvailable","isSpeakingAsync","GAME_SOUNDS","POP","SWOOSH","BOOM","WHOOSH","GAME_START","GAME_OVER","TIME_UP","WELL_DONE","CONGRATULATIONS","BUBBLE_POPPER","START","COMPLETE","WHACK_A_MOLE","HIT","MISS","BALLOON_BLASTER","BOMB","BONUS","FRUIT_NINJA","SLICE","MAZE_RUNNER","STOP","SPACE_FIGHTER","SUCCESS","COLLISION"],"sourceRoot":"../../../src","sources":["services/SoundsService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useRef, useEffect } from 'react';
|
|
3
|
+
import React, { useRef, useEffect, useMemo } from 'react';
|
|
4
4
|
import { View, TouchableOpacity, Text, StyleSheet, Animated } from 'react-native';
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
-
export const
|
|
6
|
+
export const GameControlButton = /*#__PURE__*/React.memo(({
|
|
7
7
|
isPlaying,
|
|
8
8
|
gameOver,
|
|
9
9
|
onStartGame,
|
|
10
|
-
onStopGame
|
|
10
|
+
onStopGame,
|
|
11
|
+
startButtonText = 'START GAME',
|
|
12
|
+
stopButtonText = 'STOP GAME',
|
|
13
|
+
startButtonSubtext = 'Begin playing!',
|
|
14
|
+
stopButtonSubtext = 'End current game',
|
|
15
|
+
startButtonColor = '#10b981',
|
|
16
|
+
stopButtonColor = '#dc2626',
|
|
17
|
+
startButtonBorderColor = '#34d399',
|
|
18
|
+
stopButtonBorderColor = '#f87171'
|
|
11
19
|
}) => {
|
|
12
20
|
const scaleAnim = useRef(new Animated.Value(1)).current;
|
|
13
21
|
const pulseAnim = useRef(new Animated.Value(1)).current;
|
|
@@ -62,10 +70,12 @@ export const GameControls = ({
|
|
|
62
70
|
useNativeDriver: true
|
|
63
71
|
}).start();
|
|
64
72
|
};
|
|
65
|
-
|
|
73
|
+
|
|
74
|
+
// Memoize glow color interpolation to prevent continuous re-renders
|
|
75
|
+
const glowColor = useMemo(() => glowAnim.interpolate({
|
|
66
76
|
inputRange: [0, 1],
|
|
67
|
-
outputRange: [
|
|
68
|
-
});
|
|
77
|
+
outputRange: [`${stopButtonColor}30`, `${stopButtonColor}CC`]
|
|
78
|
+
}), [glowAnim, stopButtonColor]);
|
|
69
79
|
return /*#__PURE__*/_jsxs(View, {
|
|
70
80
|
style: styles.gameControls,
|
|
71
81
|
children: [!isPlaying && !gameOver && /*#__PURE__*/_jsx(Animated.View, {
|
|
@@ -75,7 +85,10 @@ export const GameControls = ({
|
|
|
75
85
|
}]
|
|
76
86
|
}],
|
|
77
87
|
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
78
|
-
style: [styles.startButton
|
|
88
|
+
style: [styles.button, styles.startButton, {
|
|
89
|
+
backgroundColor: startButtonColor,
|
|
90
|
+
borderColor: startButtonBorderColor
|
|
91
|
+
}],
|
|
79
92
|
onPress: onStartGame,
|
|
80
93
|
onPressIn: handlePressIn,
|
|
81
94
|
onPressOut: handlePressOut,
|
|
@@ -87,11 +100,11 @@ export const GameControls = ({
|
|
|
87
100
|
}]
|
|
88
101
|
}],
|
|
89
102
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
90
|
-
style: styles.
|
|
91
|
-
children:
|
|
103
|
+
style: styles.buttonText,
|
|
104
|
+
children: startButtonText
|
|
92
105
|
}), /*#__PURE__*/_jsx(Text, {
|
|
93
106
|
style: styles.buttonSubtext,
|
|
94
|
-
children:
|
|
107
|
+
children: startButtonSubtext
|
|
95
108
|
})]
|
|
96
109
|
})
|
|
97
110
|
})
|
|
@@ -100,7 +113,10 @@ export const GameControls = ({
|
|
|
100
113
|
shadowColor: glowColor
|
|
101
114
|
}],
|
|
102
115
|
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
103
|
-
style: [styles.stopButton
|
|
116
|
+
style: [styles.button, styles.stopButton, {
|
|
117
|
+
backgroundColor: stopButtonColor,
|
|
118
|
+
borderColor: stopButtonBorderColor
|
|
119
|
+
}],
|
|
104
120
|
onPress: onStopGame,
|
|
105
121
|
onPressIn: handlePressIn,
|
|
106
122
|
onPressOut: handlePressOut,
|
|
@@ -112,17 +128,17 @@ export const GameControls = ({
|
|
|
112
128
|
}]
|
|
113
129
|
}],
|
|
114
130
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
115
|
-
style: styles.
|
|
116
|
-
children:
|
|
131
|
+
style: styles.buttonText,
|
|
132
|
+
children: stopButtonText
|
|
117
133
|
}), /*#__PURE__*/_jsx(Text, {
|
|
118
134
|
style: styles.buttonSubtext,
|
|
119
|
-
children:
|
|
135
|
+
children: stopButtonSubtext
|
|
120
136
|
})]
|
|
121
137
|
})
|
|
122
138
|
})
|
|
123
139
|
})]
|
|
124
140
|
});
|
|
125
|
-
};
|
|
141
|
+
});
|
|
126
142
|
const styles = StyleSheet.create({
|
|
127
143
|
gameControls: {
|
|
128
144
|
justifyContent: 'center',
|
|
@@ -130,13 +146,11 @@ const styles = StyleSheet.create({
|
|
|
130
146
|
paddingVertical: 20,
|
|
131
147
|
paddingHorizontal: 20
|
|
132
148
|
},
|
|
133
|
-
|
|
134
|
-
backgroundColor: '#3b82f6',
|
|
135
|
-
// Blue for balloon theme
|
|
149
|
+
button: {
|
|
136
150
|
paddingHorizontal: 32,
|
|
137
151
|
paddingVertical: 20,
|
|
138
152
|
borderRadius: 30,
|
|
139
|
-
shadowColor: '#
|
|
153
|
+
shadowColor: '#000',
|
|
140
154
|
shadowOffset: {
|
|
141
155
|
width: 0,
|
|
142
156
|
height: 8
|
|
@@ -149,34 +163,14 @@ const styles = StyleSheet.create({
|
|
|
149
163
|
minHeight: 70,
|
|
150
164
|
minWidth: 200,
|
|
151
165
|
borderWidth: 3,
|
|
152
|
-
borderColor: '#60a5fa',
|
|
153
|
-
// Light blue border
|
|
154
166
|
position: 'relative',
|
|
155
167
|
overflow: 'hidden'
|
|
156
168
|
},
|
|
169
|
+
startButton: {
|
|
170
|
+
// Colors will be applied via props
|
|
171
|
+
},
|
|
157
172
|
stopButton: {
|
|
158
|
-
|
|
159
|
-
// Red
|
|
160
|
-
paddingHorizontal: 32,
|
|
161
|
-
paddingVertical: 20,
|
|
162
|
-
borderRadius: 30,
|
|
163
|
-
shadowColor: '#dc2626',
|
|
164
|
-
shadowOffset: {
|
|
165
|
-
width: 0,
|
|
166
|
-
height: 8
|
|
167
|
-
},
|
|
168
|
-
shadowOpacity: 0.4,
|
|
169
|
-
shadowRadius: 12,
|
|
170
|
-
elevation: 8,
|
|
171
|
-
justifyContent: 'center',
|
|
172
|
-
alignItems: 'center',
|
|
173
|
-
minHeight: 70,
|
|
174
|
-
minWidth: 200,
|
|
175
|
-
borderWidth: 3,
|
|
176
|
-
borderColor: '#f87171',
|
|
177
|
-
// Light red border
|
|
178
|
-
position: 'relative',
|
|
179
|
-
overflow: 'hidden'
|
|
173
|
+
// Colors will be applied via props
|
|
180
174
|
},
|
|
181
175
|
stopButtonContainer: {
|
|
182
176
|
shadowOffset: {
|
|
@@ -191,20 +185,7 @@ const styles = StyleSheet.create({
|
|
|
191
185
|
alignItems: 'center',
|
|
192
186
|
justifyContent: 'center'
|
|
193
187
|
},
|
|
194
|
-
|
|
195
|
-
fontSize: 20,
|
|
196
|
-
fontWeight: '800',
|
|
197
|
-
color: '#ffffff',
|
|
198
|
-
textAlign: 'center',
|
|
199
|
-
textShadowColor: 'rgba(0, 0, 0, 0.3)',
|
|
200
|
-
textShadowOffset: {
|
|
201
|
-
width: 1,
|
|
202
|
-
height: 1
|
|
203
|
-
},
|
|
204
|
-
textShadowRadius: 2,
|
|
205
|
-
letterSpacing: 1
|
|
206
|
-
},
|
|
207
|
-
stopButtonText: {
|
|
188
|
+
buttonText: {
|
|
208
189
|
fontSize: 20,
|
|
209
190
|
fontWeight: '800',
|
|
210
191
|
color: '#ffffff',
|
|
@@ -226,4 +207,4 @@ const styles = StyleSheet.create({
|
|
|
226
207
|
letterSpacing: 0.5
|
|
227
208
|
}
|
|
228
209
|
});
|
|
229
|
-
//# sourceMappingURL=
|
|
210
|
+
//# sourceMappingURL=GameControlButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useRef","useEffect","useMemo","View","TouchableOpacity","Text","StyleSheet","Animated","jsx","_jsx","jsxs","_jsxs","GameControlButton","memo","isPlaying","gameOver","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","scaleAnim","Value","current","pulseAnim","glowAnim","pulseAnimation","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","glowAnimation","handlePressIn","spring","handlePressOut","friction","tension","glowColor","interpolate","inputRange","outputRange","style","styles","gameControls","children","transform","scale","button","startButton","backgroundColor","borderColor","onPress","onPressIn","onPressOut","activeOpacity","buttonContent","buttonText","buttonSubtext","stopButtonContainer","shadowColor","stopButton","create","justifyContent","alignItems","paddingVertical","paddingHorizontal","borderRadius","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","minHeight","minWidth","borderWidth","position","overflow","fontSize","fontWeight","color","textAlign","textShadowColor","textShadowOffset","textShadowRadius","letterSpacing","marginTop"],"sourceRoot":"../../../../src","sources":["shared/helpers/GameControlButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, Dimensions } from 'react-native';
|
|
4
|
+
const {
|
|
5
|
+
width: screenWidth
|
|
6
|
+
} = Dimensions.get('window');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Enhanced responsive dimensions for scoreboard optimization
|
|
10
|
+
* Provides better tablet support with dynamic sizing
|
|
11
|
+
*/
|
|
12
|
+
export const getResponsiveScoreBoardDimensions = () => {
|
|
13
|
+
// Maximum container width for tablets (600px max)
|
|
14
|
+
const maxContainerWidth = Math.min(screenWidth * 0.9, 600);
|
|
15
|
+
|
|
16
|
+
// Minimum width for small phones
|
|
17
|
+
const minContainerWidth = Math.max(screenWidth * 0.85, 300);
|
|
18
|
+
|
|
19
|
+
// Calculate responsive width
|
|
20
|
+
const responsiveWidth = Math.min(maxContainerWidth, Math.max(minContainerWidth, screenWidth * 0.9));
|
|
21
|
+
return {
|
|
22
|
+
containerWidth: responsiveWidth,
|
|
23
|
+
isTablet: screenWidth >= 768,
|
|
24
|
+
isLargeTablet: screenWidth >= 1024,
|
|
25
|
+
padding: screenWidth >= 768 ? 24 : 20,
|
|
26
|
+
fontSize: {
|
|
27
|
+
label: screenWidth >= 768 ? 20 : 18,
|
|
28
|
+
value: screenWidth >= 768 ? 34 : 30,
|
|
29
|
+
time: screenWidth >= 768 ? 34 : 30
|
|
30
|
+
},
|
|
31
|
+
borderRadius: screenWidth >= 768 ? 20 : 16
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Shared responsive styling for ScoreBoard components across all games
|
|
37
|
+
* Provides consistent maxWidth and centering for mobile/tablet optimization
|
|
38
|
+
*/
|
|
39
|
+
export const createResponsiveScoreBoardStyle = gameSpecificStyle => {
|
|
40
|
+
const dimensions = getResponsiveScoreBoardDimensions();
|
|
41
|
+
return StyleSheet.create({
|
|
42
|
+
...gameSpecificStyle,
|
|
43
|
+
scoreBoard: {
|
|
44
|
+
...gameSpecificStyle.scoreBoard,
|
|
45
|
+
maxWidth: dimensions.containerWidth,
|
|
46
|
+
alignSelf: 'center',
|
|
47
|
+
width: '100%',
|
|
48
|
+
padding: dimensions.padding,
|
|
49
|
+
borderRadius: dimensions.borderRadius
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Enhanced responsive container style that can be applied to any ScoreBoard
|
|
56
|
+
* Now includes dynamic sizing based on screen dimensions
|
|
57
|
+
*/
|
|
58
|
+
export const RESPONSIVE_SCOREBOARD_CONTAINER = (() => {
|
|
59
|
+
const dimensions = getResponsiveScoreBoardDimensions();
|
|
60
|
+
return {
|
|
61
|
+
maxWidth: dimensions.containerWidth,
|
|
62
|
+
alignSelf: 'center',
|
|
63
|
+
width: '100%',
|
|
64
|
+
padding: dimensions.padding,
|
|
65
|
+
borderRadius: dimensions.borderRadius,
|
|
66
|
+
marginTop: 20
|
|
67
|
+
};
|
|
68
|
+
})();
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Responsive font sizes for scoreboard text elements
|
|
72
|
+
*/
|
|
73
|
+
export const RESPONSIVE_SCOREBOARD_FONTS = (() => {
|
|
74
|
+
const dimensions = getResponsiveScoreBoardDimensions();
|
|
75
|
+
return {
|
|
76
|
+
labelSize: dimensions.fontSize.label,
|
|
77
|
+
valueSize: dimensions.fontSize.value,
|
|
78
|
+
timeSize: dimensions.fontSize.time
|
|
79
|
+
};
|
|
80
|
+
})();
|
|
81
|
+
//# sourceMappingURL=ResponsiveScoreBoard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Dimensions","width","screenWidth","get","getResponsiveScoreBoardDimensions","maxContainerWidth","Math","min","minContainerWidth","max","responsiveWidth","containerWidth","isTablet","isLargeTablet","padding","fontSize","label","value","time","borderRadius","createResponsiveScoreBoardStyle","gameSpecificStyle","dimensions","create","scoreBoard","maxWidth","alignSelf","RESPONSIVE_SCOREBOARD_CONTAINER","marginTop","RESPONSIVE_SCOREBOARD_FONTS","labelSize","valueSize","timeSize"],"sourceRoot":"../../../../src","sources":["shared/helpers/ResponsiveScoreBoard.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAErD,MAAM;EAAEC,KAAK,EAAEC;AAAY,CAAC,GAAGF,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC;;AAEvD;AACA;AACA;AACA;AACA,OAAO,MAAMC,iCAAiC,GAAGA,CAAA,KAAM;EACrD;EACA,MAAMC,iBAAiB,GAAGC,IAAI,CAACC,GAAG,CAACL,WAAW,GAAG,GAAG,EAAE,GAAG,CAAC;;EAE1D;EACA,MAAMM,iBAAiB,GAAGF,IAAI,CAACG,GAAG,CAACP,WAAW,GAAG,IAAI,EAAE,GAAG,CAAC;;EAE3D;EACA,MAAMQ,eAAe,GAAGJ,IAAI,CAACC,GAAG,CAACF,iBAAiB,EAAEC,IAAI,CAACG,GAAG,CAACD,iBAAiB,EAAEN,WAAW,GAAG,GAAG,CAAC,CAAC;EAEnG,OAAO;IACLS,cAAc,EAAED,eAAe;IAC/BE,QAAQ,EAAEV,WAAW,IAAI,GAAG;IAC5BW,aAAa,EAAEX,WAAW,IAAI,IAAI;IAClCY,OAAO,EAAEZ,WAAW,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;IACrCa,QAAQ,EAAE;MACRC,KAAK,EAAEd,WAAW,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;MACnCe,KAAK,EAAEf,WAAW,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;MACnCgB,IAAI,EAAEhB,WAAW,IAAI,GAAG,GAAG,EAAE,GAAG;IAClC,CAAC;IACDiB,YAAY,EAAEjB,WAAW,IAAI,GAAG,GAAG,EAAE,GAAG;EAC1C,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMkB,+BAA+B,GAAIC,iBAAsB,IAAK;EACzE,MAAMC,UAAU,GAAGlB,iCAAiC,CAAC,CAAC;EAEtD,OAAOL,UAAU,CAACwB,MAAM,CAAC;IACvB,GAAGF,iBAAiB;IACpBG,UAAU,EAAE;MACV,GAAGH,iBAAiB,CAACG,UAAU;MAC/BC,QAAQ,EAAEH,UAAU,CAACX,cAAc;MACnCe,SAAS,EAAE,QAAQ;MACnBzB,KAAK,EAAE,MAAM;MACba,OAAO,EAAEQ,UAAU,CAACR,OAAO;MAC3BK,YAAY,EAAEG,UAAU,CAACH;IAC3B;EACF,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMQ,+BAA+B,GAAG,CAAC,MAAM;EACpD,MAAML,UAAU,GAAGlB,iCAAiC,CAAC,CAAC;EAEtD,OAAO;IACLqB,QAAQ,EAAEH,UAAU,CAACX,cAAc;IACnCe,SAAS,EAAE,QAAiB;IAC5BzB,KAAK,EAAE,MAAe;IACtBa,OAAO,EAAEQ,UAAU,CAACR,OAAO;IAC3BK,YAAY,EAAEG,UAAU,CAACH,YAAY;IACrCS,SAAS,EAAE;EACb,CAAC;AACH,CAAC,EAAE,CAAC;;AAEJ;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAG,CAAC,MAAM;EAChD,MAAMP,UAAU,GAAGlB,iCAAiC,CAAC,CAAC;EAEtD,OAAO;IACL0B,SAAS,EAAER,UAAU,CAACP,QAAQ,CAACC,KAAK;IACpCe,SAAS,EAAET,UAAU,CAACP,QAAQ,CAACE,KAAK;IACpCe,QAAQ,EAAEV,UAAU,CAACP,QAAQ,CAACG;EAChC,CAAC;AACH,CAAC,EAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { GameControlButton } from "./GameControlButton.js";
|
|
4
|
+
export { createResponsiveScoreBoardStyle, RESPONSIVE_SCOREBOARD_CONTAINER, RESPONSIVE_SCOREBOARD_FONTS, getResponsiveScoreBoardDimensions } from "./ResponsiveScoreBoard.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GameControlButton","createResponsiveScoreBoardStyle","RESPONSIVE_SCOREBOARD_CONTAINER","RESPONSIVE_SCOREBOARD_FONTS","getResponsiveScoreBoardDimensions"],"sourceRoot":"../../../../src","sources":["shared/helpers/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,wBAAqB;AAEvD,SACEC,+BAA+B,EAC/BC,+BAA+B,EAC/BC,2BAA2B,EAC3BC,iCAAiC,QAC5B,2BAAwB","ignoreList":[]}
|