react-native-games 0.6.0 → 0.8.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 +148 -23
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +5 -8
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
- package/lib/module/games/candy-crush/CandyCrush.js +121 -0
- package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
- package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
- package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
- package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
- package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
- package/lib/module/games/candy-crush/CandyCrushStore.js +305 -0
- package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
- package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
- package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
- package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
- package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
- package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
- package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
- package/lib/module/games/candy-crush/components/ScoreBoard.js +112 -0
- package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/candy-crush/components/index.js +7 -0
- package/lib/module/games/candy-crush/components/index.js.map +1 -0
- package/lib/module/games/candy-crush/index.js +6 -0
- package/lib/module/games/candy-crush/index.js.map +1 -0
- package/lib/module/games/color-sort/ColorSort.js +130 -0
- package/lib/module/games/color-sort/ColorSort.js.map +1 -0
- package/lib/module/games/color-sort/ColorSortConstants.js +68 -0
- package/lib/module/games/color-sort/ColorSortConstants.js.map +1 -0
- package/lib/module/games/color-sort/ColorSortService.js +255 -0
- package/lib/module/games/color-sort/ColorSortService.js.map +1 -0
- package/lib/module/games/color-sort/ColorSortStore.js +258 -0
- package/lib/module/games/color-sort/ColorSortStore.js.map +1 -0
- package/lib/module/games/color-sort/components/ColorContainer.js +140 -0
- package/lib/module/games/color-sort/components/ColorContainer.js.map +1 -0
- package/lib/module/games/color-sort/components/GameBackground.js +135 -0
- package/lib/module/games/color-sort/components/GameBackground.js.map +1 -0
- package/lib/module/games/color-sort/components/ScoreBoard.js +78 -0
- package/lib/module/games/color-sort/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/color-sort/components/index.js +6 -0
- package/lib/module/games/color-sort/components/index.js.map +1 -0
- package/lib/module/games/dino-jump/DinoJump.js +209 -0
- package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
- package/lib/module/games/dino-jump/DinoJumpConstants.js +179 -0
- package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
- package/lib/module/games/dino-jump/DinoJumpService.js +268 -0
- package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
- package/lib/module/games/dino-jump/DinoJumpStore.js +387 -0
- package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
- package/lib/module/games/dino-jump/components/DinoSprite.js +409 -0
- package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
- package/lib/module/games/dino-jump/components/GameArea.js +68 -0
- package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
- package/lib/module/games/dino-jump/components/GameBackground.js +421 -0
- package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
- package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
- package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
- package/lib/module/games/dino-jump/components/ScoreBoard.js +107 -0
- package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
- package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
- package/lib/module/games/dino-jump/components/index.js +9 -0
- package/lib/module/games/dino-jump/components/index.js.map +1 -0
- package/lib/module/games/flappy-bird/FlappyBird.js +131 -0
- package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
- package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
- package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
- package/lib/module/games/flappy-bird/FlappyBirdStore.js +276 -0
- package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
- package/lib/module/games/flappy-bird/components/Bird.js +87 -0
- package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
- package/lib/module/games/flappy-bird/components/GameArea.js +86 -0
- package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
- package/lib/module/games/flappy-bird/components/GameBackground.js +112 -0
- package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
- package/lib/module/games/flappy-bird/components/Pipes.js +175 -0
- package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
- package/lib/module/games/flappy-bird/components/ScoreBoard.js +72 -0
- package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/flappy-bird/components/index.js +8 -0
- package/lib/module/games/flappy-bird/components/index.js.map +1 -0
- package/lib/module/games/fruit-merger/FruitMerger.js +112 -0
- package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
- package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
- package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
- package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
- package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
- package/lib/module/games/fruit-merger/FruitMergerStore.js +318 -0
- package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
- package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
- package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
- package/lib/module/games/fruit-merger/components/GameArea.js +123 -0
- package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
- package/lib/module/games/fruit-merger/components/GameBackground.js +477 -0
- package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
- package/lib/module/games/fruit-merger/components/ScoreBoard.js +66 -0
- package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/fruit-merger/components/index.js +7 -0
- package/lib/module/games/fruit-merger/components/index.js.map +1 -0
- package/lib/module/games/fruit-ninja/FruitNinja.js +6 -9
- package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
- package/lib/module/games/game-2048/Game2048.js +120 -0
- package/lib/module/games/game-2048/Game2048.js.map +1 -0
- package/lib/module/games/game-2048/Game2048Constants.js +263 -0
- package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
- package/lib/module/games/game-2048/Game2048Service.js +457 -0
- package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
- package/lib/module/games/game-2048/Game2048Store.js +238 -0
- package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
- package/lib/module/games/game-2048/components/GameBackground.js +247 -0
- package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
- package/lib/module/games/game-2048/components/GameGrid.js +139 -0
- package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
- package/lib/module/games/game-2048/components/GameTile.js +72 -0
- package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
- package/lib/module/games/game-2048/components/ScoreBoard.js +70 -0
- package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/game-2048/components/index.js +7 -0
- package/lib/module/games/game-2048/components/index.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunner.js +33 -31
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
- package/lib/module/games/popit-fidget/PopitFidget.js +34 -32
- package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbers.js +161 -0
- package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +275 -0
- package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
- package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
- package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
- package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
- package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
- package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
- package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
- package/lib/module/games/sliding-numbers/components/ScoreBoard.js +66 -0
- package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/sliding-numbers/components/index.js +7 -0
- package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
- package/lib/module/games/snake/Snake.js +192 -0
- package/lib/module/games/snake/Snake.js.map +1 -0
- package/lib/module/games/snake/SnakeConstants.js +138 -0
- package/lib/module/games/snake/SnakeConstants.js.map +1 -0
- package/lib/module/games/snake/SnakeService.js +148 -0
- package/lib/module/games/snake/SnakeService.js.map +1 -0
- package/lib/module/games/snake/SnakeStore.js +184 -0
- package/lib/module/games/snake/SnakeStore.js.map +1 -0
- package/lib/module/games/snake/components/GameBackground.js +221 -0
- package/lib/module/games/snake/components/GameBackground.js.map +1 -0
- package/lib/module/games/snake/components/GameGrid.js +153 -0
- package/lib/module/games/snake/components/GameGrid.js.map +1 -0
- package/lib/module/games/snake/components/ScoreBoard.js +57 -0
- package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/snake/components/index.js +6 -0
- package/lib/module/games/snake/components/index.js.map +1 -0
- package/lib/module/games/snake/index.js +6 -0
- package/lib/module/games/snake/index.js.map +1 -0
- package/lib/module/games/space-fighter/SpaceFighter.js +7 -10
- package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
- package/lib/module/games/whack-a-mole/WhackAMole.js +6 -6
- package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
- package/lib/module/games/whack-a-mole/components/GameBackground.js +7 -8
- package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/GamesConstants.js +58 -2
- package/lib/module/services/GamesConstants.js.map +1 -1
- package/lib/module/services/GamesService.js +40 -0
- package/lib/module/services/GamesService.js.map +1 -1
- package/lib/module/services/SoundsService.js +132 -1
- package/lib/module/services/SoundsService.js.map +1 -1
- package/lib/module/shared/helpers/GameOverModal.js +6 -3
- package/lib/module/shared/helpers/GameOverModal.js.map +1 -1
- package/lib/module/shared/helpers/GameSettingsModal.js +3 -3
- package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -1
- package/lib/module/shared/helpers/ParticleBlast.js +3 -2
- package/lib/module/shared/helpers/ParticleBlast.js.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
- package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
- package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
- package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
- package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
- package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
- package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
- package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
- package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/ColorSort.d.ts +4 -0
- package/lib/typescript/src/games/color-sort/ColorSort.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts +52 -0
- package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/ColorSortService.d.ts +66 -0
- package/lib/typescript/src/games/color-sort/ColorSortService.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts +48 -0
- package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts +11 -0
- package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/color-sort/components/index.d.ts +4 -0
- package/lib/typescript/src/games/color-sort/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
- package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +95 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
- package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
- package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
- package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
- package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
- package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
- package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
- package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
- package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
- package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
- package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +8 -0
- package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
- package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
- package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
- package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
- package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
- package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
- package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
- package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
- package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
- package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
- package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
- package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
- package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
- package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
- package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
- package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
- package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
- package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
- package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
- package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
- package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
- package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
- package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
- package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +3 -0
- package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
- package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/snake/index.d.ts +4 -0
- package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +8 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesConstants.d.ts +156 -0
- package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesService.d.ts +10 -2
- package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
- package/lib/typescript/src/services/SoundsService.d.ts +103 -0
- package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
- package/lib/typescript/src/shared/helpers/GameOverModal.d.ts +2 -0
- package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -1
- package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import { useScore, useTimeRemaining, useComboCount } from "../CandyCrushStore.js";
|
|
6
|
+
import { CANDY_CRUSH_COLORS } from "../CandyCrushConstants.js";
|
|
7
|
+
import { RESPONSIVE_SCOREBOARD_CONTAINER, RESPONSIVE_SCOREBOARD_FONTS } from "../../../shared/helpers/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const ScoreBoard = /*#__PURE__*/React.memo(() => {
|
|
10
|
+
const score = useScore();
|
|
11
|
+
const timeRemaining = useTimeRemaining();
|
|
12
|
+
const comboCount = useComboCount();
|
|
13
|
+
|
|
14
|
+
// Memoized time display calculation
|
|
15
|
+
const timeDisplay = React.useMemo(() => {
|
|
16
|
+
const minutes = Math.floor(timeRemaining / 60);
|
|
17
|
+
const seconds = timeRemaining % 60;
|
|
18
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
19
|
+
}, [timeRemaining]);
|
|
20
|
+
|
|
21
|
+
// Memoized color based on time remaining
|
|
22
|
+
const timeColor = React.useMemo(() => {
|
|
23
|
+
if (timeRemaining <= 30) return CANDY_CRUSH_COLORS.TIME_CRITICAL;
|
|
24
|
+
if (timeRemaining <= 60) return CANDY_CRUSH_COLORS.TIME_WARNING;
|
|
25
|
+
return CANDY_CRUSH_COLORS.TIME_GOOD;
|
|
26
|
+
}, [timeRemaining]);
|
|
27
|
+
return /*#__PURE__*/_jsx(View, {
|
|
28
|
+
style: styles.container,
|
|
29
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
30
|
+
style: styles.scoreContainer,
|
|
31
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
32
|
+
style: styles.scoreRow,
|
|
33
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
34
|
+
style: styles.scoreItem,
|
|
35
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
36
|
+
style: styles.label,
|
|
37
|
+
children: "Score"
|
|
38
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
39
|
+
style: styles.value,
|
|
40
|
+
children: score
|
|
41
|
+
})]
|
|
42
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
43
|
+
style: styles.scoreItem,
|
|
44
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
45
|
+
style: styles.label,
|
|
46
|
+
children: "Time"
|
|
47
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
48
|
+
style: [styles.value, {
|
|
49
|
+
color: timeColor
|
|
50
|
+
}],
|
|
51
|
+
children: timeDisplay
|
|
52
|
+
})]
|
|
53
|
+
})]
|
|
54
|
+
}), comboCount > 1 && /*#__PURE__*/_jsx(View, {
|
|
55
|
+
style: styles.comboContainer,
|
|
56
|
+
children: /*#__PURE__*/_jsxs(Text, {
|
|
57
|
+
style: styles.comboText,
|
|
58
|
+
children: ["COMBO x", comboCount, "!"]
|
|
59
|
+
})
|
|
60
|
+
})]
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
ScoreBoard.displayName = 'ScoreBoard';
|
|
65
|
+
const styles = StyleSheet.create({
|
|
66
|
+
container: {
|
|
67
|
+
...RESPONSIVE_SCOREBOARD_CONTAINER,
|
|
68
|
+
marginHorizontal: 20,
|
|
69
|
+
marginTop: 10
|
|
70
|
+
},
|
|
71
|
+
scoreContainer: {
|
|
72
|
+
backgroundColor: CANDY_CRUSH_COLORS.SCORE_BACKGROUND,
|
|
73
|
+
borderRadius: 15,
|
|
74
|
+
padding: 15,
|
|
75
|
+
borderWidth: 2,
|
|
76
|
+
borderColor: CANDY_CRUSH_COLORS.GRID_BORDER
|
|
77
|
+
},
|
|
78
|
+
scoreRow: {
|
|
79
|
+
flexDirection: 'row',
|
|
80
|
+
justifyContent: 'space-around',
|
|
81
|
+
marginBottom: 10
|
|
82
|
+
},
|
|
83
|
+
scoreItem: {
|
|
84
|
+
alignItems: 'center'
|
|
85
|
+
},
|
|
86
|
+
label: {
|
|
87
|
+
fontSize: RESPONSIVE_SCOREBOARD_FONTS.labelSize,
|
|
88
|
+
color: 'rgba(255, 255, 255, 0.7)',
|
|
89
|
+
marginBottom: 4
|
|
90
|
+
},
|
|
91
|
+
value: {
|
|
92
|
+
fontSize: RESPONSIVE_SCOREBOARD_FONTS.valueSize,
|
|
93
|
+
color: CANDY_CRUSH_COLORS.SCORE_TEXT,
|
|
94
|
+
fontWeight: 'bold'
|
|
95
|
+
},
|
|
96
|
+
comboContainer: {
|
|
97
|
+
marginTop: 8,
|
|
98
|
+
alignItems: 'center'
|
|
99
|
+
},
|
|
100
|
+
comboText: {
|
|
101
|
+
fontSize: 16,
|
|
102
|
+
fontWeight: 'bold',
|
|
103
|
+
color: CANDY_CRUSH_COLORS.COMBO_TEXT,
|
|
104
|
+
textShadowColor: 'rgba(0, 0, 0, 0.3)',
|
|
105
|
+
textShadowOffset: {
|
|
106
|
+
width: 1,
|
|
107
|
+
height: 1
|
|
108
|
+
},
|
|
109
|
+
textShadowRadius: 2
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=ScoreBoard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","useScore","useTimeRemaining","useComboCount","CANDY_CRUSH_COLORS","RESPONSIVE_SCOREBOARD_CONTAINER","RESPONSIVE_SCOREBOARD_FONTS","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","score","timeRemaining","comboCount","timeDisplay","useMemo","minutes","Math","floor","seconds","toString","padStart","timeColor","TIME_CRITICAL","TIME_WARNING","TIME_GOOD","style","styles","container","children","scoreContainer","scoreRow","scoreItem","label","value","color","comboContainer","comboText","displayName","create","marginHorizontal","marginTop","backgroundColor","SCORE_BACKGROUND","borderRadius","padding","borderWidth","borderColor","GRID_BORDER","flexDirection","justifyContent","marginBottom","alignItems","fontSize","labelSize","valueSize","SCORE_TEXT","fontWeight","COMBO_TEXT","textShadowColor","textShadowOffset","width","height","textShadowRadius"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/ScoreBoard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GameBackground","GameGrid","ScoreBoard","CandyItem"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/index.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,qBAAkB;AACjD,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,SAAS,QAAQ,gBAAa","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CandyCrush","useCandyCrushStore"],"sourceRoot":"../../../../src","sources":["games/candy-crush/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,kBAAkB,QAAQ,sBAAmB;AACtD,cAAc,0BAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useCallback, useMemo } from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import { useColorSortStore, useIsPlaying, useIsGameOver, useTime, useContainers, useSelectedContainerId } from "./ColorSortStore.js";
|
|
6
|
+
import { ColorContainer, ScoreBoard, GameBackground } from "./components/index.js";
|
|
7
|
+
import { GameControlButton, GameOverModal } from "../../shared/helpers/index.js";
|
|
8
|
+
import { GameSettingsModal } from "../../shared/helpers/index.js";
|
|
9
|
+
import { COLOR_SORT_COLORS } from "./ColorSortConstants.js";
|
|
10
|
+
import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/GamesService.js";
|
|
11
|
+
import { playSound, GAME_SOUNDS } from "../../services/SoundsService.js";
|
|
12
|
+
import { playHaptic, HapticType } from "../../services/HapticsService.js";
|
|
13
|
+
import { formatTime, getGridLayout } from "./ColorSortService.js";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
export const ColorSort = /*#__PURE__*/React.memo(({
|
|
16
|
+
settings = DEFAULT_GAME_SETTINGS,
|
|
17
|
+
onSettingsChange
|
|
18
|
+
}) => {
|
|
19
|
+
const isPlaying = useIsPlaying();
|
|
20
|
+
const isGameOver = useIsGameOver();
|
|
21
|
+
const time = useTime();
|
|
22
|
+
const containers = useContainers();
|
|
23
|
+
const selectedContainerId = useSelectedContainerId();
|
|
24
|
+
const initializeGame = useColorSortStore(state => state.initializeGame);
|
|
25
|
+
const startGame = useColorSortStore(state => state.startGame);
|
|
26
|
+
const stopGame = useColorSortStore(state => state.stopGame);
|
|
27
|
+
const resetGame = useColorSortStore(state => state.resetGame);
|
|
28
|
+
const selectContainer = useColorSortStore(state => state.selectContainer);
|
|
29
|
+
const difficulty = settings.difficulty;
|
|
30
|
+
const gridStyle = useMemo(() => getGridLayout(difficulty), [difficulty]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
initializeGame(difficulty);
|
|
33
|
+
}, [difficulty, initializeGame]);
|
|
34
|
+
const handleStartGame = useCallback(() => {
|
|
35
|
+
initializeGame(difficulty);
|
|
36
|
+
startGame();
|
|
37
|
+
playSound(GAME_SOUNDS.COLOR_SORT.START, settings.enableSounds);
|
|
38
|
+
playHaptic(HapticType.MEDIUM, settings.enableHaptics);
|
|
39
|
+
}, [difficulty, initializeGame, startGame, settings.enableSounds, settings.enableHaptics]);
|
|
40
|
+
const handleStopGame = useCallback(() => {
|
|
41
|
+
stopGame();
|
|
42
|
+
}, [stopGame]);
|
|
43
|
+
const handleResetGame = useCallback(() => {
|
|
44
|
+
resetGame();
|
|
45
|
+
initializeGame(difficulty);
|
|
46
|
+
}, [resetGame, initializeGame, difficulty]);
|
|
47
|
+
const handleContainerPress = useCallback(containerId => {
|
|
48
|
+
if (!isPlaying || isGameOver) return;
|
|
49
|
+
selectContainer(containerId, settings);
|
|
50
|
+
}, [isPlaying, isGameOver, selectContainer, settings]);
|
|
51
|
+
|
|
52
|
+
// Memoize GameControlButton props to prevent re-renders (CRITICAL)
|
|
53
|
+
const gameControlButtonProps = useMemo(() => ({
|
|
54
|
+
isPlaying,
|
|
55
|
+
gameOver: isGameOver,
|
|
56
|
+
onStartGame: handleStartGame,
|
|
57
|
+
onStopGame: handleStopGame,
|
|
58
|
+
startButtonText: "START SORTING",
|
|
59
|
+
stopButtonText: "STOP",
|
|
60
|
+
startButtonSubtext: "Sort colors!",
|
|
61
|
+
startButtonColor: COLOR_SORT_COLORS.BUTTON_PRIMARY,
|
|
62
|
+
startButtonBorderColor: COLOR_SORT_COLORS.BUTTON_SECONDARY
|
|
63
|
+
}), [isPlaying, isGameOver, handleStartGame, handleStopGame]);
|
|
64
|
+
|
|
65
|
+
// Memoize GameOverModal props to prevent re-renders
|
|
66
|
+
const gameOverModalProps = useMemo(() => ({
|
|
67
|
+
isVisible: isGameOver,
|
|
68
|
+
score: time,
|
|
69
|
+
onPlayAgain: handleResetGame,
|
|
70
|
+
buttonText: "Sort Again!",
|
|
71
|
+
primaryColor: "rgba(255, 140, 66, 0.95)",
|
|
72
|
+
borderColor: COLOR_SORT_COLORS.BUTTON_PRIMARY,
|
|
73
|
+
buttonColor: COLOR_SORT_COLORS.BUTTON_PRIMARY,
|
|
74
|
+
buttonBorderColor: COLOR_SORT_COLORS.BUTTON_SECONDARY,
|
|
75
|
+
scoreLabel: "Completion Time",
|
|
76
|
+
scoreFormatter: formatTime
|
|
77
|
+
}), [isGameOver, time, handleResetGame]);
|
|
78
|
+
|
|
79
|
+
// Memoize GameSettingsModal props
|
|
80
|
+
const gameSettingsModalProps = useMemo(() => ({
|
|
81
|
+
gameId: GAME_IDS.COLOR_SORT,
|
|
82
|
+
settings,
|
|
83
|
+
onSettingsChange
|
|
84
|
+
}), [settings, onSettingsChange]);
|
|
85
|
+
return /*#__PURE__*/_jsx(GameBackground, {
|
|
86
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
87
|
+
style: styles.container,
|
|
88
|
+
children: [/*#__PURE__*/_jsx(ScoreBoard, {}), /*#__PURE__*/_jsx(View, {
|
|
89
|
+
style: styles.gameArea,
|
|
90
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
91
|
+
style: [styles.containersGrid, gridStyle],
|
|
92
|
+
children: containers.map(container => /*#__PURE__*/_jsx(ColorContainer, {
|
|
93
|
+
container: container,
|
|
94
|
+
isSelected: selectedContainerId === container.id,
|
|
95
|
+
onPress: () => handleContainerPress(container.id),
|
|
96
|
+
difficulty: difficulty
|
|
97
|
+
}, container.id))
|
|
98
|
+
})
|
|
99
|
+
}), /*#__PURE__*/_jsx(GameControlButton, {
|
|
100
|
+
...gameControlButtonProps
|
|
101
|
+
}), /*#__PURE__*/_jsx(GameOverModal, {
|
|
102
|
+
...gameOverModalProps
|
|
103
|
+
}), /*#__PURE__*/_jsx(GameSettingsModal, {
|
|
104
|
+
...gameSettingsModalProps
|
|
105
|
+
})]
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
const styles = StyleSheet.create({
|
|
110
|
+
container: {
|
|
111
|
+
flex: 1
|
|
112
|
+
},
|
|
113
|
+
gameArea: {
|
|
114
|
+
flex: 1,
|
|
115
|
+
justifyContent: 'center',
|
|
116
|
+
alignItems: 'center',
|
|
117
|
+
paddingTop: 100,
|
|
118
|
+
paddingBottom: 120
|
|
119
|
+
},
|
|
120
|
+
containersGrid: {
|
|
121
|
+
flexDirection: 'row',
|
|
122
|
+
flexWrap: 'wrap',
|
|
123
|
+
justifyContent: 'center',
|
|
124
|
+
alignItems: 'flex-end',
|
|
125
|
+
gap: 15,
|
|
126
|
+
paddingHorizontal: 10
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
ColorSort.displayName = 'ColorSort';
|
|
130
|
+
//# sourceMappingURL=ColorSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useCallback","useMemo","View","StyleSheet","useColorSortStore","useIsPlaying","useIsGameOver","useTime","useContainers","useSelectedContainerId","ColorContainer","ScoreBoard","GameBackground","GameControlButton","GameOverModal","GameSettingsModal","COLOR_SORT_COLORS","GAME_IDS","DEFAULT_GAME_SETTINGS","playSound","GAME_SOUNDS","playHaptic","HapticType","formatTime","getGridLayout","jsx","_jsx","jsxs","_jsxs","ColorSort","memo","settings","onSettingsChange","isPlaying","isGameOver","time","containers","selectedContainerId","initializeGame","state","startGame","stopGame","resetGame","selectContainer","difficulty","gridStyle","handleStartGame","COLOR_SORT","START","enableSounds","MEDIUM","enableHaptics","handleStopGame","handleResetGame","handleContainerPress","containerId","gameControlButtonProps","gameOver","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","startButtonColor","BUTTON_PRIMARY","startButtonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","score","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","scoreLabel","scoreFormatter","gameSettingsModalProps","gameId","children","style","styles","container","gameArea","containersGrid","map","isSelected","id","onPress","create","flex","justifyContent","alignItems","paddingTop","paddingBottom","flexDirection","flexWrap","gap","paddingHorizontal","displayName"],"sourceRoot":"../../../../src","sources":["games/color-sort/ColorSort.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Dimensions } from 'react-native';
|
|
4
|
+
const {
|
|
5
|
+
width,
|
|
6
|
+
height
|
|
7
|
+
} = Dimensions.get('window');
|
|
8
|
+
export const COLOR_SORT_COLORS = {
|
|
9
|
+
BACKGROUND: '#FFF5E6',
|
|
10
|
+
// Warm cream/peach background
|
|
11
|
+
PIECE_ORANGE: '#FF6B35',
|
|
12
|
+
PIECE_PINK: '#FF1493',
|
|
13
|
+
PIECE_GREEN: '#32CD32',
|
|
14
|
+
PIECE_RED: '#FF4444',
|
|
15
|
+
PIECE_YELLOW: '#FFD700',
|
|
16
|
+
PIECE_BLUE: '#4169E1',
|
|
17
|
+
PIECE_PURPLE: '#9370DB',
|
|
18
|
+
BASE_SILVER: '#C0C0C0',
|
|
19
|
+
BASE_DARK: '#A8A8A8',
|
|
20
|
+
SCREW_WHITE: '#F5F5F5',
|
|
21
|
+
BUTTON_PRIMARY: '#FF6B35',
|
|
22
|
+
BUTTON_SECONDARY: '#FF8C42',
|
|
23
|
+
SCORE_TEXT: '#FFFFFF',
|
|
24
|
+
SELECTED_GLOW: '#FFD700'
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Game Configuration
|
|
28
|
+
export const COLOR_SORT_GAME_CONFIG = {
|
|
29
|
+
SCREEN_WIDTH: width,
|
|
30
|
+
SCREEN_HEIGHT: height,
|
|
31
|
+
PIECE_SIZE: 50,
|
|
32
|
+
CONTAINER_SIZE: 60,
|
|
33
|
+
CONTAINER_SPACING: 20,
|
|
34
|
+
PIECE_SPACING: 5
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Game Constants
|
|
38
|
+
export const COLOR_SORT_CONSTANTS = {
|
|
39
|
+
baseScore: 10,
|
|
40
|
+
moveScore: 10,
|
|
41
|
+
perfectBonus: 100
|
|
42
|
+
};
|
|
43
|
+
export const PIECE_COLORS = [COLOR_SORT_COLORS.PIECE_RED, COLOR_SORT_COLORS.PIECE_GREEN, COLOR_SORT_COLORS.PIECE_BLUE, COLOR_SORT_COLORS.PIECE_YELLOW, COLOR_SORT_COLORS.PIECE_PURPLE, COLOR_SORT_COLORS.PIECE_ORANGE, COLOR_SORT_COLORS.PIECE_PINK];
|
|
44
|
+
|
|
45
|
+
// Game Settings Theme
|
|
46
|
+
export const COLOR_SORT_THEME = {
|
|
47
|
+
backgroundColor: '#FFF5E6',
|
|
48
|
+
headerBackgroundColor: '#FF6B35',
|
|
49
|
+
headerTextColor: '#FFFFFF',
|
|
50
|
+
sectionBackgroundColor: '#FFE8CC',
|
|
51
|
+
sectionTitleColor: '#FF6B35',
|
|
52
|
+
buttonSelectedColor: '#FF6B35',
|
|
53
|
+
buttonUnselectedColor: '#FFA366',
|
|
54
|
+
buttonSelectedTextColor: '#FFFFFF',
|
|
55
|
+
buttonUnselectedTextColor: '#FFFFFF',
|
|
56
|
+
switchTrackColorFalse: '#D0D0D0',
|
|
57
|
+
switchTrackColorTrue: '#FF6B35',
|
|
58
|
+
switchThumbColor: '#FFFFFF',
|
|
59
|
+
infoTextColor: '#666666'
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// Difficulty Descriptions
|
|
63
|
+
export const COLOR_SORT_DIFFICULTY_DESCRIPTIONS = {
|
|
64
|
+
easy: '4 containers, 3 colors, 3 pieces each - Perfect for beginners',
|
|
65
|
+
medium: '5 containers, 4 colors, 3 pieces each - Standard challenge',
|
|
66
|
+
hard: '6 containers, 5 colors, 4 pieces each - Expert level!'
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=ColorSortConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","width","height","get","COLOR_SORT_COLORS","BACKGROUND","PIECE_ORANGE","PIECE_PINK","PIECE_GREEN","PIECE_RED","PIECE_YELLOW","PIECE_BLUE","PIECE_PURPLE","BASE_SILVER","BASE_DARK","SCREW_WHITE","BUTTON_PRIMARY","BUTTON_SECONDARY","SCORE_TEXT","SELECTED_GLOW","COLOR_SORT_GAME_CONFIG","SCREEN_WIDTH","SCREEN_HEIGHT","PIECE_SIZE","CONTAINER_SIZE","CONTAINER_SPACING","PIECE_SPACING","COLOR_SORT_CONSTANTS","baseScore","moveScore","perfectBonus","PIECE_COLORS","COLOR_SORT_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","COLOR_SORT_DIFFICULTY_DESCRIPTIONS","easy","medium","hard"],"sourceRoot":"../../../../src","sources":["games/color-sort/ColorSortConstants.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,MAAM;EAAEC,KAAK;EAAEC;AAAO,CAAC,GAAGF,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC;AAElD,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,UAAU,EAAE,SAAS;EAAE;EACvBC,YAAY,EAAE,SAAS;EACvBC,UAAU,EAAE,SAAS;EACrBC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,YAAY,EAAE,SAAS;EACvBC,UAAU,EAAE,SAAS;EACrBC,YAAY,EAAE,SAAS;EACvBC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,cAAc,EAAE,SAAS;EACzBC,gBAAgB,EAAE,SAAS;EAC3BC,UAAU,EAAE,SAAS;EACrBC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,YAAY,EAAEpB,KAAK;EACnBqB,aAAa,EAAEpB,MAAM;EACrBqB,UAAU,EAAE,EAAE;EACdC,cAAc,EAAE,EAAE;EAClBC,iBAAiB,EAAE,EAAE;EACrBC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,oBAAoB,GAAG;EAClCC,SAAS,EAAE,EAAE;EACbC,SAAS,EAAE,EAAE;EACbC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,YAAY,GAAG,CAC1B3B,iBAAiB,CAACK,SAAS,EAC3BL,iBAAiB,CAACI,WAAW,EAC7BJ,iBAAiB,CAACO,UAAU,EAC5BP,iBAAiB,CAACM,YAAY,EAC9BN,iBAAiB,CAACQ,YAAY,EAC9BR,iBAAiB,CAACE,YAAY,EAC9BF,iBAAiB,CAACG,UAAU,CAC7B;;AAED;AACA,OAAO,MAAMyB,gBAAgB,GAAG;EAC9BC,eAAe,EAAE,SAAS;EAC1BC,qBAAqB,EAAE,SAAS;EAChCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,SAAS;EACjCC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,SAAS;EAC9BC,qBAAqB,EAAE,SAAS;EAChCC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,SAAS;EACpCC,qBAAqB,EAAE,SAAS;EAChCC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,kCAAkC,GAAG;EAChDC,IAAI,EAAE,+DAA+D;EACrEC,MAAM,EAAE,4DAA4D;EACpEC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ColorSort Game Service
|
|
5
|
+
* Handles all utility functions, game logic, and background generation
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { Dimensions } from 'react-native';
|
|
9
|
+
const {
|
|
10
|
+
width,
|
|
11
|
+
height
|
|
12
|
+
} = Dimensions.get('window');
|
|
13
|
+
|
|
14
|
+
// ==================== TYPES ====================
|
|
15
|
+
|
|
16
|
+
// ==================== CONSTANTS ====================
|
|
17
|
+
|
|
18
|
+
// Color sort themed vibrant colors
|
|
19
|
+
export const SORT_COLORS = ['#FF6B35',
|
|
20
|
+
// Primary orange
|
|
21
|
+
'#FF4444',
|
|
22
|
+
// Red
|
|
23
|
+
'#FF8C42',
|
|
24
|
+
// Light orange
|
|
25
|
+
'#FFD700',
|
|
26
|
+
// Yellow
|
|
27
|
+
'#32CD32',
|
|
28
|
+
// Green
|
|
29
|
+
'#4169E1',
|
|
30
|
+
// Blue
|
|
31
|
+
'#FF1493',
|
|
32
|
+
// Pink
|
|
33
|
+
'#9370DB',
|
|
34
|
+
// Purple
|
|
35
|
+
'#00BCD4',
|
|
36
|
+
// Cyan
|
|
37
|
+
'#FFA366',
|
|
38
|
+
// Peach
|
|
39
|
+
'#CDDC39',
|
|
40
|
+
// Lime
|
|
41
|
+
'#E91E63' // Magenta
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
// ==================== GAME UTILITIES ====================
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Format time in seconds to MM:SS format
|
|
48
|
+
*/
|
|
49
|
+
export const formatTime = seconds => {
|
|
50
|
+
const mins = Math.floor(seconds / 60);
|
|
51
|
+
const secs = seconds % 60;
|
|
52
|
+
return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get grid layout style based on difficulty
|
|
57
|
+
*/
|
|
58
|
+
export const getGridLayout = difficulty => {
|
|
59
|
+
switch (difficulty) {
|
|
60
|
+
case 'easy':
|
|
61
|
+
return {
|
|
62
|
+
maxWidth: 400
|
|
63
|
+
};
|
|
64
|
+
// 4 containers in 1 row
|
|
65
|
+
case 'medium':
|
|
66
|
+
return {
|
|
67
|
+
maxWidth: 300
|
|
68
|
+
};
|
|
69
|
+
// 3 in top, 2 in bottom
|
|
70
|
+
case 'hard':
|
|
71
|
+
return {
|
|
72
|
+
maxWidth: 300
|
|
73
|
+
};
|
|
74
|
+
// 3 in top, 3 in bottom
|
|
75
|
+
default:
|
|
76
|
+
return {
|
|
77
|
+
maxWidth: 400
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Get piece height based on difficulty
|
|
84
|
+
*/
|
|
85
|
+
export const getPieceHeight = (difficulty, baseSize) => {
|
|
86
|
+
switch (difficulty) {
|
|
87
|
+
case 'easy':
|
|
88
|
+
return baseSize - 8;
|
|
89
|
+
// 42px
|
|
90
|
+
case 'medium':
|
|
91
|
+
return baseSize - 10;
|
|
92
|
+
// 40px
|
|
93
|
+
case 'hard':
|
|
94
|
+
return baseSize - 18;
|
|
95
|
+
// 32px
|
|
96
|
+
default:
|
|
97
|
+
return baseSize - 10;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// ==================== BACKGROUND GENERATION ====================
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Generate floating color blocks for background
|
|
105
|
+
*/
|
|
106
|
+
export const generateFloatingBlocks = () => {
|
|
107
|
+
const elements = [];
|
|
108
|
+
const blockCount = 25;
|
|
109
|
+
for (let i = 0; i < blockCount; i++) {
|
|
110
|
+
const baseX = width / blockCount * i;
|
|
111
|
+
const baseY = height / blockCount * i;
|
|
112
|
+
const x = baseX + Math.sin(i * 0.5) * 50 + Math.random() * 100;
|
|
113
|
+
const y = baseY + Math.cos(i * 0.7) * 60 + Math.random() * 120;
|
|
114
|
+
const blockSize = 20 + Math.random() * 20;
|
|
115
|
+
const colorIndex = i % SORT_COLORS.length;
|
|
116
|
+
const opacity = 0.3 + Math.sin(i) * 0.15;
|
|
117
|
+
const blockX = Math.max(blockSize / 2, Math.min(width - blockSize, x));
|
|
118
|
+
const blockY = Math.max(blockSize / 2, Math.min(height - blockSize, y));
|
|
119
|
+
const color = `${SORT_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2, '0')}`;
|
|
120
|
+
let type;
|
|
121
|
+
if (i % 4 === 0) type = 'square';else if (i % 4 === 1) type = 'rect';else if (i % 4 === 2) type = 'wide';else type = 'circle';
|
|
122
|
+
elements.push({
|
|
123
|
+
key: `${type}-${i}`,
|
|
124
|
+
type,
|
|
125
|
+
x: blockX,
|
|
126
|
+
y: blockY,
|
|
127
|
+
size: blockSize,
|
|
128
|
+
color
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
return elements;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Get decorative blocks positioned around the screen
|
|
136
|
+
*/
|
|
137
|
+
export const getDecorativeBlocks = () => [{
|
|
138
|
+
key: 'top-left',
|
|
139
|
+
x: width * 0.08,
|
|
140
|
+
y: height * 0.12,
|
|
141
|
+
size: 50,
|
|
142
|
+
r: 8,
|
|
143
|
+
color: `${SORT_COLORS[0]}50`
|
|
144
|
+
}, {
|
|
145
|
+
key: 'bottom-right',
|
|
146
|
+
x: width * 0.85,
|
|
147
|
+
y: height * 0.82,
|
|
148
|
+
size: 45,
|
|
149
|
+
r: 7,
|
|
150
|
+
color: `${SORT_COLORS[3]}50`
|
|
151
|
+
}, {
|
|
152
|
+
key: 'top-right',
|
|
153
|
+
x: width * 0.82,
|
|
154
|
+
y: height * 0.18,
|
|
155
|
+
size: 40,
|
|
156
|
+
r: 6,
|
|
157
|
+
color: `${SORT_COLORS[4]}50`
|
|
158
|
+
}, {
|
|
159
|
+
key: 'bottom-left',
|
|
160
|
+
x: width * 0.12,
|
|
161
|
+
y: height * 0.75,
|
|
162
|
+
size: 55,
|
|
163
|
+
r: 9,
|
|
164
|
+
color: `${SORT_COLORS[5]}50`
|
|
165
|
+
}, {
|
|
166
|
+
key: 'top-center',
|
|
167
|
+
x: width * 0.47,
|
|
168
|
+
y: height * 0.08,
|
|
169
|
+
size: 35,
|
|
170
|
+
r: 5,
|
|
171
|
+
color: `${SORT_COLORS[7]}50`
|
|
172
|
+
}, {
|
|
173
|
+
key: 'middle-left',
|
|
174
|
+
x: width * 0.15,
|
|
175
|
+
y: height * 0.47,
|
|
176
|
+
size: 42,
|
|
177
|
+
r: 6,
|
|
178
|
+
color: `${SORT_COLORS[6]}50`
|
|
179
|
+
}, {
|
|
180
|
+
key: 'middle-right',
|
|
181
|
+
x: width * 0.75,
|
|
182
|
+
y: height * 0.57,
|
|
183
|
+
size: 38,
|
|
184
|
+
r: 6,
|
|
185
|
+
color: `${SORT_COLORS[8]}50`
|
|
186
|
+
}, {
|
|
187
|
+
key: 'bottom-center',
|
|
188
|
+
x: width * 0.57,
|
|
189
|
+
y: height * 0.87,
|
|
190
|
+
size: 32,
|
|
191
|
+
r: 5,
|
|
192
|
+
color: `${SORT_COLORS[1]}50`
|
|
193
|
+
}];
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Get decorative circles for variety
|
|
197
|
+
*/
|
|
198
|
+
export const getDecorativeCircles = () => [{
|
|
199
|
+
key: 'circle-1',
|
|
200
|
+
cx: width * 0.25,
|
|
201
|
+
cy: height * 0.25,
|
|
202
|
+
r: 18,
|
|
203
|
+
color: `${SORT_COLORS[10]}45`
|
|
204
|
+
}, {
|
|
205
|
+
key: 'circle-2',
|
|
206
|
+
cx: width * 0.65,
|
|
207
|
+
cy: height * 0.35,
|
|
208
|
+
r: 22,
|
|
209
|
+
color: `${SORT_COLORS[11]}45`
|
|
210
|
+
}, {
|
|
211
|
+
key: 'circle-3',
|
|
212
|
+
cx: width * 0.35,
|
|
213
|
+
cy: height * 0.65,
|
|
214
|
+
r: 16,
|
|
215
|
+
color: `${SORT_COLORS[9]}45`
|
|
216
|
+
}];
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Get gradient colors for background layers
|
|
220
|
+
*/
|
|
221
|
+
export const getGradientColors = () => ({
|
|
222
|
+
main: [`${SORT_COLORS[0]}30`,
|
|
223
|
+
// Orange
|
|
224
|
+
`${SORT_COLORS[3]}25`,
|
|
225
|
+
// Yellow
|
|
226
|
+
`${SORT_COLORS[4]}30`,
|
|
227
|
+
// Green
|
|
228
|
+
`${SORT_COLORS[5]}25`,
|
|
229
|
+
// Blue
|
|
230
|
+
`${SORT_COLORS[7]}30` // Purple
|
|
231
|
+
],
|
|
232
|
+
overlay: [`${SORT_COLORS[1]}20`,
|
|
233
|
+
// Red
|
|
234
|
+
'transparent', `${SORT_COLORS[6]}20`,
|
|
235
|
+
// Pink
|
|
236
|
+
'transparent', `${SORT_COLORS[8]}20`,
|
|
237
|
+
// Cyan
|
|
238
|
+
'transparent'],
|
|
239
|
+
diagonal: [`${SORT_COLORS[2]}15`,
|
|
240
|
+
// Light orange
|
|
241
|
+
'transparent', `${SORT_COLORS[10]}15`,
|
|
242
|
+
// Lime
|
|
243
|
+
'transparent', `${SORT_COLORS[9]}15`,
|
|
244
|
+
// Peach
|
|
245
|
+
'transparent']
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
// ==================== SERVICE CLASS ====================
|
|
249
|
+
|
|
250
|
+
export class ColorSortService {
|
|
251
|
+
cleanup() {
|
|
252
|
+
// Cleanup logic if needed
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=ColorSortService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","width","height","get","SORT_COLORS","formatTime","seconds","mins","Math","floor","secs","toString","padStart","getGridLayout","difficulty","maxWidth","getPieceHeight","baseSize","generateFloatingBlocks","elements","blockCount","i","baseX","baseY","x","sin","random","y","cos","blockSize","colorIndex","length","opacity","blockX","max","min","blockY","color","type","push","key","size","getDecorativeBlocks","r","getDecorativeCircles","cx","cy","getGradientColors","main","overlay","diagonal","ColorSortService","cleanup"],"sourceRoot":"../../../../src","sources":["games/color-sort/ColorSortService.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,QAAQ,cAAc;AAEzC,MAAM;EAAEC,KAAK;EAAEC;AAAO,CAAC,GAAGF,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC;;AAElD;;AA4BA;;AAEA;AACA,OAAO,MAAMC,WAAW,GAAG,CACzB,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH;;AAEV;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAIC,OAAe,IAAa;EACrD,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,GAAG,EAAE,CAAC;EACrC,MAAMI,IAAI,GAAGJ,OAAO,GAAG,EAAE;EACzB,OAAO,GAAGC,IAAI,CAACI,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAIF,IAAI,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAClF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAIC,UAAsC,IAAK;EACvE,QAAQA,UAAU;IAChB,KAAK,MAAM;MACT,OAAO;QAAEC,QAAQ,EAAE;MAAI,CAAC;IAAE;IAC5B,KAAK,QAAQ;MACX,OAAO;QAAEA,QAAQ,EAAE;MAAI,CAAC;IAAE;IAC5B,KAAK,MAAM;MACT,OAAO;QAAEA,QAAQ,EAAE;MAAI,CAAC;IAAE;IAC5B;MACE,OAAO;QAAEA,QAAQ,EAAE;MAAI,CAAC;EAC5B;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAACF,UAAsC,EAAEG,QAAgB,KAAa;EAClG,QAAQH,UAAU;IAChB,KAAK,MAAM;MACT,OAAOG,QAAQ,GAAG,CAAC;IAAE;IACvB,KAAK,QAAQ;MACX,OAAOA,QAAQ,GAAG,EAAE;IAAE;IACxB,KAAK,MAAM;MACT,OAAOA,QAAQ,GAAG,EAAE;IAAE;IACxB;MACE,OAAOA,QAAQ,GAAG,EAAE;EACxB;AACF,CAAC;;AAED;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAuB;EAC3D,MAAMC,QAAyB,GAAG,EAAE;EACpC,MAAMC,UAAU,GAAG,EAAE;EAErB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,UAAU,EAAEC,CAAC,EAAE,EAAE;IACnC,MAAMC,KAAK,GAAIrB,KAAK,GAAGmB,UAAU,GAAIC,CAAC;IACtC,MAAME,KAAK,GAAIrB,MAAM,GAAGkB,UAAU,GAAIC,CAAC;IAEvC,MAAMG,CAAC,GAAGF,KAAK,GAAId,IAAI,CAACiB,GAAG,CAACJ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAG,GAAGb,IAAI,CAACkB,MAAM,CAAC,CAAC,GAAG,GAAG;IAChE,MAAMC,CAAC,GAAGJ,KAAK,GAAIf,IAAI,CAACoB,GAAG,CAACP,CAAC,GAAG,GAAG,CAAC,GAAG,EAAG,GAAGb,IAAI,CAACkB,MAAM,CAAC,CAAC,GAAG,GAAG;IAEhE,MAAMG,SAAS,GAAG,EAAE,GAAGrB,IAAI,CAACkB,MAAM,CAAC,CAAC,GAAG,EAAE;IACzC,MAAMI,UAAU,GAAGT,CAAC,GAAGjB,WAAW,CAAC2B,MAAM;IACzC,MAAMC,OAAO,GAAG,GAAG,GAAIxB,IAAI,CAACiB,GAAG,CAACJ,CAAC,CAAC,GAAG,IAAK;IAE1C,MAAMY,MAAM,GAAGzB,IAAI,CAAC0B,GAAG,CAACL,SAAS,GAAC,CAAC,EAAErB,IAAI,CAAC2B,GAAG,CAAClC,KAAK,GAAG4B,SAAS,EAAEL,CAAC,CAAC,CAAC;IACpE,MAAMY,MAAM,GAAG5B,IAAI,CAAC0B,GAAG,CAACL,SAAS,GAAC,CAAC,EAAErB,IAAI,CAAC2B,GAAG,CAACjC,MAAM,GAAG2B,SAAS,EAAEF,CAAC,CAAC,CAAC;IAErE,MAAMU,KAAK,GAAG,GAAGjC,WAAW,CAAC0B,UAAU,CAAC,GAAGtB,IAAI,CAACC,KAAK,CAACuB,OAAO,GAAG,GAAG,CAAC,CAACrB,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;IAEpG,IAAI0B,IAA2C;IAC/C,IAAIjB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAEiB,IAAI,GAAG,QAAQ,CAAC,KAC5B,IAAIjB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAEiB,IAAI,GAAG,MAAM,CAAC,KAC/B,IAAIjB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAEiB,IAAI,GAAG,MAAM,CAAC,KAC/BA,IAAI,GAAG,QAAQ;IAEpBnB,QAAQ,CAACoB,IAAI,CAAC;MACZC,GAAG,EAAE,GAAGF,IAAI,IAAIjB,CAAC,EAAE;MACnBiB,IAAI;MACJd,CAAC,EAAES,MAAM;MACTN,CAAC,EAAES,MAAM;MACTK,IAAI,EAAEZ,SAAS;MACfQ;IACF,CAAC,CAAC;EACJ;EAEA,OAAOlB,QAAQ;AACjB,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMuB,mBAAmB,GAAGA,CAAA,KAAyB,CAC1D;EAAEF,GAAG,EAAE,UAAU;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACpG;EAAEoC,GAAG,EAAE,cAAc;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACxG;EAAEoC,GAAG,EAAE,WAAW;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACrG;EAAEoC,GAAG,EAAE,aAAa;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACvG;EAAEoC,GAAG,EAAE,YAAY;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACtG;EAAEoC,GAAG,EAAE,aAAa;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACvG;EAAEoC,GAAG,EAAE,cAAc;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,EACxG;EAAEoC,GAAG,EAAE,eAAe;EAAEhB,CAAC,EAAEvB,KAAK,GAAG,IAAI;EAAE0B,CAAC,EAAEzB,MAAM,GAAG,IAAI;EAAEuC,IAAI,EAAE,EAAE;EAAEE,CAAC,EAAE,CAAC;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,CAC1G;;AAED;AACA;AACA;AACA,OAAO,MAAMwC,oBAAoB,GAAGA,CAAA,KAA0B,CAC5D;EAAEJ,GAAG,EAAE,UAAU;EAAEK,EAAE,EAAE5C,KAAK,GAAG,IAAI;EAAE6C,EAAE,EAAE5C,MAAM,GAAG,IAAI;EAAEyC,CAAC,EAAE,EAAE;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,EAAE,CAAC;AAAK,CAAC,EAC9F;EAAEoC,GAAG,EAAE,UAAU;EAAEK,EAAE,EAAE5C,KAAK,GAAG,IAAI;EAAE6C,EAAE,EAAE5C,MAAM,GAAG,IAAI;EAAEyC,CAAC,EAAE,EAAE;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,EAAE,CAAC;AAAK,CAAC,EAC9F;EAAEoC,GAAG,EAAE,UAAU;EAAEK,EAAE,EAAE5C,KAAK,GAAG,IAAI;EAAE6C,EAAE,EAAE5C,MAAM,GAAG,IAAI;EAAEyC,CAAC,EAAE,EAAE;EAAEN,KAAK,EAAE,GAAGjC,WAAW,CAAC,CAAC,CAAC;AAAK,CAAC,CAC9F;;AAED;AACA;AACA;AACA,OAAO,MAAM2C,iBAAiB,GAAGA,CAAA,MAAO;EACtCC,IAAI,EAAE,CACJ,GAAG5C,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI,CAAE;EAAA,CACxB;EACD6C,OAAO,EAAE,CACP,GAAG7C,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,aAAa,EACb,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,aAAa,EACb,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,aAAa,CACd;EACD8C,QAAQ,EAAE,CACR,GAAG9C,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,aAAa,EACb,GAAGA,WAAW,CAAC,EAAE,CAAC,IAAI;EAAE;EACxB,aAAa,EACb,GAAGA,WAAW,CAAC,CAAC,CAAC,IAAI;EAAE;EACvB,aAAa;AAEjB,CAAC,CAAC;;AAEF;;AAEA,OAAO,MAAM+C,gBAAgB,CAAC;EAC5BC,OAAOA,CAAA,EAAG;IACR;EAAA;AAEJ","ignoreList":[]}
|