react-native-games 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  3. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  5. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -1
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
  11. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  12. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  13. package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -1
  14. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  15. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -1
  16. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  17. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  18. package/lib/module/games/bike-racing/BikeRacing.js.map +1 -1
  19. package/lib/module/games/bike-racing/BikeRacingService.js +1 -1
  20. package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -1
  21. package/lib/module/games/bike-racing/BikeRacingStore.js +1 -1
  22. package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -1
  23. package/lib/module/games/bike-racing/components/BikeComponent.js +1 -1
  24. package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -1
  25. package/lib/module/games/bike-racing/components/GameBackground.js +1 -1
  26. package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -1
  27. package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -1
  28. package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -1
  29. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  30. package/lib/module/games/block-blast/BlockBlast.js.map +1 -1
  31. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  32. package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -1
  33. package/lib/module/games/block-blast/BlockBlastService.js +1 -1
  34. package/lib/module/games/block-blast/BlockBlastService.js.map +1 -1
  35. package/lib/module/games/block-blast/BlockBlastStore.js +1 -1
  36. package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -1
  37. package/lib/module/games/block-blast/components/BlastAnimation.js +1 -0
  38. package/lib/module/games/block-blast/components/BlastAnimation.js.map +1 -0
  39. package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -1
  40. package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -1
  41. package/lib/module/games/block-blast/components/GameArea.js +1 -1
  42. package/lib/module/games/block-blast/components/GameArea.js.map +1 -1
  43. package/lib/module/games/block-blast/components/GameBackground.js +1 -1
  44. package/lib/module/games/block-blast/components/GameBackground.js.map +1 -1
  45. package/lib/module/games/block-blast/components/GridComponent.js +1 -1
  46. package/lib/module/games/block-blast/components/GridComponent.js.map +1 -1
  47. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  48. package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -1
  49. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  50. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -1
  51. package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -1
  52. package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -1
  53. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -1
  54. package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -1
  55. package/lib/module/games/bubble-shooter/components/GameArea.js +1 -1
  56. package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -1
  57. package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -1
  58. package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -1
  59. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -1
  60. package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -1
  61. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  62. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  63. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  64. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -1
  65. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -1
  66. package/lib/module/games/candy-crush/components/BlastAnimation.js +1 -0
  67. package/lib/module/games/candy-crush/components/BlastAnimation.js.map +1 -0
  68. package/lib/module/games/candy-crush/components/CandyItem.js +1 -1
  69. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -1
  70. package/lib/module/games/candy-crush/components/GameGrid.js +1 -1
  71. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -1
  72. package/lib/module/games/candy-crush/components/index.js +1 -1
  73. package/lib/module/games/candy-crush/components/index.js.map +1 -1
  74. package/lib/module/games/car-racing/CarRacing.js +1 -1
  75. package/lib/module/games/car-racing/CarRacing.js.map +1 -1
  76. package/lib/module/games/car-racing/CarRacingService.js +1 -1
  77. package/lib/module/games/car-racing/CarRacingService.js.map +1 -1
  78. package/lib/module/games/car-racing/CarRacingStore.js +1 -1
  79. package/lib/module/games/car-racing/CarRacingStore.js.map +1 -1
  80. package/lib/module/games/car-racing/components/CarComponent.js +1 -1
  81. package/lib/module/games/car-racing/components/CarComponent.js.map +1 -1
  82. package/lib/module/games/car-racing/components/GameBackground.js +1 -1
  83. package/lib/module/games/car-racing/components/GameBackground.js.map +1 -1
  84. package/lib/module/games/car-racing/components/ScoreBoard.js +1 -1
  85. package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -1
  86. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  87. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  88. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  89. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  90. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -1
  91. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  92. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -1
  93. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -1
  94. package/lib/module/games/colors-sort/components/GameBackground.js +1 -1
  95. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -1
  96. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -1
  97. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -1
  98. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  99. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  100. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  101. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  102. package/lib/module/games/dino-jump/DinoJumpService.js +1 -1
  103. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -1
  104. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -1
  105. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -1
  106. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -1
  107. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  108. package/lib/module/games/dino-jump/components/GameBackground.js +1 -1
  109. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -1
  110. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -1
  111. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -1
  112. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -1
  113. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  115. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  116. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  117. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  118. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -1
  119. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -1
  120. package/lib/module/games/flappy-bird/components/Bird.js +1 -1
  121. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -1
  122. package/lib/module/games/flappy-bird/components/GameArea.js +1 -1
  123. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -1
  124. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -1
  125. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -1
  126. package/lib/module/games/flappy-bird/components/Pipes.js +1 -1
  127. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -1
  128. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -1
  129. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -1
  130. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  131. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  132. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  133. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  134. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -1
  135. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -1
  136. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -1
  137. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -1
  138. package/lib/module/games/fruit-merger/components/GameArea.js +1 -1
  139. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -1
  140. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -1
  141. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -1
  142. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  143. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  144. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  145. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  146. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -1
  147. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -1
  148. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  149. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  150. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -1
  151. package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -1
  152. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  153. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  154. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1
  155. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  156. package/lib/module/games/game-2048/Game2048.js +1 -1
  157. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  158. package/lib/module/games/game-2048/Game2048Store.js +1 -1
  159. package/lib/module/games/game-2048/Game2048Store.js.map +1 -1
  160. package/lib/module/games/game-2048/components/GameBackground.js +1 -1
  161. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -1
  162. package/lib/module/games/game-2048/components/GameGrid.js +1 -1
  163. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -1
  164. package/lib/module/games/game-2048/components/GameTile.js +1 -1
  165. package/lib/module/games/game-2048/components/GameTile.js.map +1 -1
  166. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -1
  167. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -1
  168. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  169. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  170. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  171. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  172. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -1
  173. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  174. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -1
  175. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  176. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -1
  177. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  178. package/lib/module/games/maze-runner/components/GameBackground.js +1 -1
  179. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
  180. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -1
  181. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  182. package/lib/module/games/maze-runner/components/WallComponent.js +1 -1
  183. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  184. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  185. package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -1
  186. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  187. package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -1
  188. package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -1
  189. package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -1
  190. package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -1
  191. package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -1
  192. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -1
  193. package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -1
  194. package/lib/module/games/perfect-circle/components/GameBackground.js +1 -1
  195. package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -1
  196. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  197. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  198. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  199. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -1
  200. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -1
  201. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -1
  202. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  203. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -1
  204. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -1
  205. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -1
  206. package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -1
  207. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -1
  208. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -1
  209. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -1
  210. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  211. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  212. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  213. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -1
  214. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -1
  215. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -1
  216. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -1
  217. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -1
  218. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -1
  219. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -1
  220. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -1
  221. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -1
  222. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -1
  223. package/lib/module/games/snake/Snake.js +1 -1
  224. package/lib/module/games/snake/Snake.js.map +1 -1
  225. package/lib/module/games/snake/SnakeStore.js +1 -1
  226. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  227. package/lib/module/games/snake/components/GameBackground.js +1 -1
  228. package/lib/module/games/snake/components/GameBackground.js.map +1 -1
  229. package/lib/module/games/snake/components/GameGrid.js +1 -1
  230. package/lib/module/games/snake/components/GameGrid.js.map +1 -1
  231. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  232. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  233. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  234. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  235. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -1
  236. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  237. package/lib/module/games/space-fighter/components/GameArea.js +1 -1
  238. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  239. package/lib/module/games/space-fighter/components/GameBackground.js +1 -1
  240. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -1
  241. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -1
  242. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  243. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -1
  244. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -1
  245. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  246. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  247. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  248. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  249. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  250. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -1
  251. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -1
  252. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  253. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -1
  254. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -1
  255. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -1
  256. package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -1
  257. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -1
  258. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  259. package/lib/module/helpers/AbstractFruits.js +1 -0
  260. package/lib/module/helpers/AbstractFruits.js.map +1 -0
  261. package/lib/module/helpers/GameControlButton.js +1 -1
  262. package/lib/module/helpers/GameControlButton.js.map +1 -1
  263. package/lib/module/helpers/ScoreBoardContainer.js +1 -1
  264. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
  265. package/lib/module/helpers/index.js +1 -1
  266. package/lib/module/helpers/index.js.map +1 -1
  267. package/lib/module/services/GamesService.js +1 -1
  268. package/lib/module/services/GamesService.js.map +1 -1
  269. package/lib/module/services/UtilsService.js.map +1 -1
  270. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  271. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +5 -1
  272. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -1
  273. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  274. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  275. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  276. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  277. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  278. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  279. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -1
  280. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +6 -2
  281. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -1
  282. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +9 -0
  283. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -1
  284. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -1
  285. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -1
  286. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -1
  287. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -1
  288. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +2 -2
  289. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -1
  290. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -1
  291. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +13 -1
  292. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -1
  293. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts +12 -0
  294. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts.map +1 -0
  295. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +1 -4
  296. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -1
  297. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -1
  298. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -1
  299. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +4 -2
  300. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -1
  301. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -1
  302. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +12 -6
  303. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -1
  304. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +1 -0
  305. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -1
  306. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +5 -1
  307. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -1
  308. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -1
  309. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -1
  310. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -1
  311. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +1 -1
  312. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +8 -0
  313. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -1
  314. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts +16 -0
  315. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts.map +1 -0
  316. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -1
  317. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -1
  318. package/lib/typescript/src/games/candy-crush/components/index.d.ts +1 -0
  319. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -1
  320. package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -1
  321. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +6 -2
  322. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -1
  323. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +9 -0
  324. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -1
  325. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -1
  326. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -1
  327. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -1
  328. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -1
  329. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  330. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +1 -0
  331. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -1
  332. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +5 -1
  333. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  334. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +1 -1
  335. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -1
  336. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -1
  337. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  338. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +9 -7
  339. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -1
  340. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +1 -1
  341. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +1 -0
  342. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -1
  343. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  344. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -1
  345. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -1
  346. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -1
  347. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  348. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +6 -0
  349. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  350. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +8 -4
  351. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -1
  352. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -1
  353. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -1
  354. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -1
  355. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -1
  356. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -1
  357. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  358. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +21 -20
  359. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  360. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -1
  361. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +1 -2
  362. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -1
  363. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -1
  364. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -1
  365. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +15 -45
  366. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -1
  367. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +9 -33
  368. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -1
  369. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -11
  370. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -1
  371. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -1
  372. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -1
  373. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -1
  374. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  375. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  376. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +20 -0
  377. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -1
  378. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -1
  379. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -1
  380. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -1
  381. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  382. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +2 -2
  383. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  384. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +1 -1
  385. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  386. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  387. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +1 -1
  388. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
  389. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  390. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  391. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +1 -1
  392. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  393. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -1
  394. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +1 -0
  395. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -1
  396. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +5 -3
  397. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -1
  398. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +16 -0
  399. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -1
  400. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -1
  401. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  402. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +2 -2
  403. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +4 -2
  404. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  405. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -1
  406. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -1
  407. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -1
  408. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -1
  409. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  410. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  411. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +1 -1
  412. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +10 -0
  413. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -1
  414. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -1
  415. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -1
  416. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -1
  417. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -1
  418. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  419. package/lib/typescript/src/games/snake/SnakeStore.d.ts +16 -0
  420. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  421. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -1
  422. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -1
  423. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  424. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +4 -4
  425. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  426. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -1
  427. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  428. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -1
  429. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  430. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +8 -3
  431. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -1
  432. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -1
  433. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  434. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -1
  435. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -1
  436. package/lib/typescript/src/helpers/AbstractFruits.d.ts +207 -0
  437. package/lib/typescript/src/helpers/AbstractFruits.d.ts.map +1 -0
  438. package/lib/typescript/src/helpers/GameControlButton.d.ts +4 -7
  439. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -1
  440. package/lib/typescript/src/helpers/ParticleBlast.d.ts +1 -1
  441. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -1
  442. package/lib/typescript/src/helpers/index.d.ts +1 -0
  443. package/lib/typescript/src/helpers/index.d.ts.map +1 -1
  444. package/lib/typescript/src/services/UtilsService.d.ts +2 -0
  445. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
  446. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","playSound","GAME_SOUNDS","playHaptic","HapticType","useBubbleShooterStore","useScore","useIsPlaying","useGameOver","useGameWon","BubbleShooterService","BUBBLE_SHOOTER_COLORS","getDifficultySettings","ScoreBoard","GameArea","GameBackground","jsx","_jsx","jsxs","_jsxs","BubbleShooterComponent","settings","externalSettings","onSettingsChange","onEndGame","useMemo","difficulty","soundEnabled","enableSounds","hapticEnabled","enableHaptics","offset","score","isPlaying","gameOver","gameWon","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","resetGame","getState","difficultySettings","gameService","useEffect","setDifficulty","rowCount","colorCount","handleShoot","BLOCK_BLAST","PLACE","LIGHT","handleBubbleMatch","CLEAR","SUCCESS","handleGameWon","START","setCallbacks","cleanup","gameLoop","setInterval","updateShootingBubble","clearInterval","handleStartGame","startGame","handleStopGame","handleResetGame","handlePlayAgain","gameControlButtonProps","onStartGame","onStopGame","startButtonColor","UI","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","startButtonText","stopButtonText","startButtonSubtext","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","title","message","style","styles","container","children","gameId","BUBBLE_SHOOTER","create","flex","BubbleShooter","memo","displayName"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,wBAAe;AACnF,SAASC,qBAAqB,EAAkBC,QAAQ,QAAQ,gCAA6B;AAC7F,SAASC,SAAS,EAAEC,WAAW,QAAQ,iCAA8B;AACrE,SAASC,UAAU,EAAEC,UAAU,QAAQ,kCAA+B;AACtE,SACEC,qBAAqB,EACrBC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACXC,UAAU,QACL,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,EAAEC,qBAAqB,QAAQ,6BAA0B;AACvF,SAASC,UAAU,QAAQ,4BAAyB;AACpD,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,MAAMC,sBAA2C,GAAGA,CAAC;EACnDC,QAAQ,EAAEC,gBAAgB,GAAGvB,qBAAqB;EAClDwB,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ;EACA,MAAMH,QAAQ,GAAG7B,KAAK,CAACiC,OAAO,CAC5B,OAAO;IACLC,UAAU,EAAEJ,gBAAgB,EAAEI,UAAU,IAAI,QAAQ;IACpDC,YAAY,EAAEL,gBAAgB,EAAEM,YAAY,IAAI,IAAI;IACpDC,aAAa,EAAEP,gBAAgB,EAAEQ,aAAa,IAAI,IAAI;IACtDC,MAAM,EAAET,gBAAgB,EAAES,MAAM,IAAI;EACtC,CAAC,CAAC,EACF,CAACT,gBAAgB,EAAEI,UAAU,EAAEJ,gBAAgB,EAAEM,YAAY,EAAEN,gBAAgB,EAAEQ,aAAa,EAAER,gBAAgB,EAAES,MAAM,CAC1H,CAAC;EAED,MAAM;IAAEL,UAAU;IAAEC,YAAY;IAAEE,aAAa;IAAEE;EAAO,CAAC,GAAGV,QAAQ;;EAEpE;EACA,MAAMW,KAAK,GAAG1B,QAAQ,CAAC,CAAC;EACxB,MAAM2B,SAAS,GAAG1B,YAAY,CAAC,CAAC;EAChC,MAAM2B,QAAQ,GAAG1B,WAAW,CAAC,CAAC;EAC9B,MAAM2B,OAAO,GAAG1B,UAAU,CAAC,CAAC;;EAE5B;EACA,MAAM2B,eAAe,GAAG5C,KAAK,CAAC6C,MAAM,CAAU,KAAK,CAAC;;EAEpD;EACA,MAAMC,aAAa,GAAG9C,KAAK,CAAC+C,WAAW,CAAEC,MAAiC,IAAK;IAC7E,IAAIhB,SAAS,IAAI,CAACY,eAAe,CAACK,OAAO,EAAE;MACzCjB,SAAS,CAAC;QACRgB,MAAM;QACNR,KAAK,EAAEA,KAAK,CAACU,QAAQ,CAAC;MACxB,CAAC,CAAC;MACFN,eAAe,CAACK,OAAO,GAAG,IAAI;IAChC;EACF,CAAC,EAAE,CAACjB,SAAS,EAAEQ,KAAK,CAAC,CAAC;;EAEtB;EACA,MAAMW,SAAS,GAAGnD,KAAK,CAAC+C,WAAW,CAAC,MAAMlC,qBAAqB,CAACuC,QAAQ,CAAC,CAAC,CAACD,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;;EAE3F;EACA,MAAME,kBAAkB,GAAGrD,KAAK,CAACiC,OAAO,CAAC,MAAMb,qBAAqB,CAACc,UAAU,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAC/F,MAAMoB,WAAW,GAAGtD,KAAK,CAACiC,OAAO,CAAC,MAAM,IAAIf,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAEvE;EACAlB,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpBD,WAAW,CAACE,aAAa,CAACH,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,CAAC;EACvF,CAAC,EAAE,CAACJ,WAAW,EAAED,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,CAAC,CAAC;;EAE7E;EACA,MAAMC,WAAW,GAAG3D,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC1CtC,SAAS,CAACC,WAAW,CAACkD,WAAW,CAACC,KAAK,EAAE1B,YAAY,CAAC;IACtDxB,UAAU,CAACC,UAAU,CAACkD,KAAK,EAAEzB,aAAa,CAAC;EAC7C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;EAEjC,MAAM0B,iBAAiB,GAAG/D,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAChDtC,SAAS,CAACC,WAAW,CAACkD,WAAW,CAACI,KAAK,EAAE7B,YAAY,CAAC;IACtDxB,UAAU,CAACC,UAAU,CAACqD,OAAO,EAAE5B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;EAEjC,MAAM6B,aAAa,GAAGlE,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC5CtC,SAAS,CAACC,WAAW,CAACkD,WAAW,CAACO,KAAK,EAAEhC,YAAY,CAAC;IACtDxB,UAAU,CAACC,UAAU,CAACqD,OAAO,EAAE5B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;;EAEjC;EACArC,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpBD,WAAW,CAACc,YAAY,CAACT,WAAW,EAAEI,iBAAiB,EAAEG,aAAa,CAAC;EACzE,CAAC,EAAE,CAACZ,WAAW,EAAEK,WAAW,EAAEI,iBAAiB,EAAEG,aAAa,CAAC,CAAC;;EAEhE;EACAlE,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACb,QAAQ,IAAIC,OAAO,KAAK,CAACC,eAAe,CAACK,OAAO,EAAE;MACrD,MAAMD,MAAM,GAAGL,OAAO,GAAG,KAAK,GAAG,MAAM;MACvCG,aAAa,CAACE,MAAM,CAAC;IACvB;;IAEA;IACA,IAAI,CAACN,QAAQ,IAAI,CAACC,OAAO,EAAE;MACzBC,eAAe,CAACK,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,EAAE,CAACP,QAAQ,EAAEC,OAAO,EAAEG,aAAa,CAAC,CAAC;;EAEtC;EACA9C,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACXD,WAAW,CAACe,OAAO,CAAC,CAAC;MACrBxD,qBAAqB,CAACuC,QAAQ,CAAC,CAAC,CAACD,SAAS,CAAC,CAAC;IAC9C,CAAC;EACH,CAAC,EAAE,CAACG,WAAW,CAAC,CAAC;;EAEjB;EACAtD,KAAK,CAACuD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACd,SAAS,EAAE;IAEhB,MAAM6B,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCjB,WAAW,CAACkB,oBAAoB,CAACjC,MAAM,CAAC;IAC1C,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;;IAEf,OAAO,MAAMkC,aAAa,CAACH,QAAQ,CAAC;EACtC,CAAC,EAAE,CAAC7B,SAAS,EAAEa,WAAW,EAAEf,MAAM,CAAC,CAAC;;EAEpC;EACA,MAAMmC,eAAe,GAAG1E,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC9CH,eAAe,CAACK,OAAO,GAAG,KAAK,CAAC,CAAC;IACjCpC,qBAAqB,CAACuC,QAAQ,CAAC,CAAC,CAACuB,SAAS,CAACtB,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,CAAC;IACtGJ,WAAW,CAACqB,SAAS,CAAC,CAAC;IACvBlE,SAAS,CAACC,WAAW,CAACkD,WAAW,CAACO,KAAK,EAAEhC,YAAY,CAAC;IACtDxB,UAAU,CAACC,UAAU,CAACqD,OAAO,EAAE5B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACiB,WAAW,EAAED,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,EAAEvB,YAAY,EAAEE,aAAa,CAAC,CAAC;EAE1G,MAAMuC,cAAc,GAAG5E,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC7CD,aAAa,CAAC,QAAQ,CAAC;IACvBK,SAAS,CAAC,CAAC;IACXG,WAAW,CAACH,SAAS,CAAC,CAAC;EACzB,CAAC,EAAE,CAACA,SAAS,EAAEG,WAAW,EAAER,aAAa,CAAC,CAAC;EAE3C,MAAM+B,eAAe,GAAG7E,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC9CI,SAAS,CAAC,CAAC;IACXG,WAAW,CAACH,SAAS,CAAC,CAAC;IACvBG,WAAW,CAACqB,SAAS,CAAC,CAAC;EACzB,CAAC,EAAE,CAACxB,SAAS,EAAEG,WAAW,CAAC,CAAC;EAE5B,MAAMwB,eAAe,GAAG9E,KAAK,CAAC+C,WAAW,CAAC,MAAM;IAC9C8B,eAAe,CAAC,CAAC;EACnB,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;;EAErB;EACA,MAAME,sBAAsB,GAAG/E,KAAK,CAACiC,OAAO,CAC1C,OAAO;IACLQ,SAAS;IACTC,QAAQ;IACRsC,WAAW,EAAEN,eAAe;IAC5BO,UAAU,EAAEL,cAAc;IAC1BM,gBAAgB,EAAE/D,qBAAqB,CAACgE,EAAE;IAC1CC,eAAe,EAAEjE,qBAAqB,CAACgE,EAAE;IACzCE,sBAAsB,EAAElE,qBAAqB,CAACgE,EAAE;IAChDG,qBAAqB,EAAEnE,qBAAqB,CAACgE,EAAE;IAC/CI,eAAe,EAAE,YAAY;IAC7BC,cAAc,EAAE,WAAW;IAC3BC,kBAAkB,EAAE;EACtB,CAAC,CAAC,EACF,CAAChD,SAAS,EAAEC,QAAQ,EAAEgC,eAAe,EAAEE,cAAc,CACvD,CAAC;;EAED;EACA,MAAMc,kBAAkB,GAAG1F,KAAK,CAACiC,OAAO,CACtC,OAAO;IACL0D,SAAS,EAAEjD,QAAQ;IACnBF,KAAK;IACLoD,WAAW,EAAEd,eAAe;IAC5Be,UAAU,EAAE,cAAc;IAC1BC,YAAY,EAAE,2BAA2B;IAAE;IAC3CC,WAAW,EAAE,0BAA0B;IACvCC,WAAW,EAAE7E,qBAAqB,CAACgE,EAAE;IAAE;IACvCc,iBAAiB,EAAE9E,qBAAqB,CAACgE,EAAE;IAC3Ce,eAAe,EAAE,SAAS;IAC1BC,KAAK,EAAExD,OAAO,GAAG,UAAU,GAAG,WAAW;IACzCyD,OAAO,EAAEzD,OAAO,GAAG,sBAAsB,GAAG;EAC9C,CAAC,CAAC,EACF,CAACD,QAAQ,EAAEF,KAAK,EAAEsC,eAAe,EAAEnC,OAAO,CAC5C,CAAC;EAED,oBACElB,IAAA,CAACxB,IAAI;IAACoG,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5B/E,IAAA,CAACtB,sBAAsB;MAAAqG,QAAA,eACrB7E,KAAA,CAACJ,cAAc;QAACgB,MAAM,EAAEA,MAAO;QAAAiE,QAAA,gBAE7B/E,IAAA,CAACH,QAAQ;UAACgC,WAAW,EAAEA,WAAY;UAACf,MAAM,EAAEA,MAAM,GAAG;QAAG,CAAE,CAAC,eAG3Dd,IAAA,CAACJ,UAAU;UAACkB,MAAM,EAAEA;QAAO,CAAE,CAAC,eAG9Bd,IAAA,CAACrB,iBAAiB;UAAA,GAAK2E;QAAsB,CAAG,CAAC,eAGjDtD,IAAA,CAACpB,aAAa;UAAA,GAAKqF;QAAkB,CAAG,CAAC,eAGzCjE,IAAA,CAACnB,iBAAiB;UAChBmG,MAAM,EAAEjG,QAAQ,CAACkG,cAAe;UAChC7E,QAAQ,EAAEC,gBAAgB,IAAIvB,qBAAsB;UACpDwB,gBAAgB,EAAEA;QAAiB,CACpC,CAAC;MAAA,CACY;IAAC,CACK;EAAC,CACrB,CAAC;AAEX,CAAC;AAED,MAAMuE,MAAM,GAAGpG,UAAU,CAACyG,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,aAAa,gBAAG7G,KAAK,CAAC8G,IAAI,CAAClF,sBAAsB,CAAC;AAC/DiF,aAAa,CAACE,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","playSound","GAME_SOUNDS","playHaptic","HapticType","useBubbleShooterStore","useScore","useIsPlaying","useGameOver","useGameWon","BubbleShooterService","BUBBLE_SHOOTER_COLORS","getDifficultySettings","ScoreBoard","GameArea","GameBackground","jsx","_jsx","jsxs","_jsxs","BubbleShooterComponent","settings","externalSettings","onSettingsChange","onEndGame","onShare","onShowLeaderboard","useMemo","difficulty","soundEnabled","enableSounds","hapticEnabled","enableHaptics","offset","score","isPlaying","gameOver","gameWon","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","resetGame","getState","difficultySettings","gameService","useEffect","setDifficulty","rowCount","colorCount","initializeBubbles","handleShoot","BLOCK_BLAST","PLACE","LIGHT","handleBubbleMatch","CLEAR","SUCCESS","handleGameWon","START","setCallbacks","setOffset","cleanup","gameLoop","setInterval","updateShootingBubble","clearInterval","timerInterval","currentTime","timeRemaining","setGameOver","updateTimeRemaining","handleStartGame","startGame","timeLimit","handleStopGame","handleResetGame","handlePlayAgain","gameControlButtonProps","onStartGame","onStopGame","startButtonSubtext","buttonColor","UI","buttonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonTextColor","title","message","style","styles","container","children","gameId","BUBBLE_SHOOTER","create","flex","BubbleShooter","memo","displayName"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";export const BUBBLE_SHOOTER_DIFFICULTY_CONFIG={easy:{rowCount:6,colorCount:4},medium:{rowCount:8,colorCount:5},hard:{rowCount:10,colorCount:6}};export const getDifficultySettings=o=>BUBBLE_SHOOTER_DIFFICULTY_CONFIG[o];export const DEFAULT_BUBBLE_SHOOTER_SETTINGS={difficulty:"medium",soundEnabled:!0,hapticEnabled:!0,rowCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.rowCount,colorCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.colorCount};export const BUBBLE_SHOOTER_GAME_CONFIG={BUBBLE_RADIUS:18,BUBBLE_SPACING:2,SHOOTER_SIZE:50,SHOOTER_Y_OFFSET:40,BUBBLE_SPEED:12,POINTS_PER_BUBBLE:10,POINTS_PER_DROP:20,MIN_MATCH_COUNT:3,COLS_PER_ROW:9,ROW_OFFSET:.5};export const BUBBLE_COLORS=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF","#5856D6","#FF2D55","#00C7BE"];export const BUBBLE_SHOOTER_COLORS={BACKGROUND:"#87CEEB",SHOOTER:"#ffffff",SHOOTER_ARROW:"#ff6b9d",SCORE:"#ffffff",UI:"#ff6b9d",CEILING:"#e0e0e0"};export const BUBBLE_SHOOTER_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#ff6b9d",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(255, 107, 157, 0.15)",sectionTitleColor:"#ff6b9d",buttonSelectedColor:"#ff6b9d",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(255, 107, 157, 0.3)",switchTrackColorTrue:"#ff6b9d",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS={easy:"Fewer rows and colors, easier matches",medium:"Balanced challenge with more bubbles",hard:"Many rows and colors, strategic play!"};
1
+ "use strict";export const BUBBLE_SHOOTER_DIFFICULTY_CONFIG={easy:{rowCount:4,colorCount:4,timeLimit:300},medium:{rowCount:6,colorCount:5,timeLimit:600},hard:{rowCount:8,colorCount:6,timeLimit:600}};export const getDifficultySettings=o=>BUBBLE_SHOOTER_DIFFICULTY_CONFIG[o];export const DEFAULT_BUBBLE_SHOOTER_SETTINGS={difficulty:"medium",soundEnabled:!0,hapticEnabled:!0,rowCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.rowCount,colorCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.colorCount};export const BUBBLE_SHOOTER_GAME_CONFIG={BUBBLE_RADIUS:18,BUBBLE_SPACING:2,SHOOTER_SIZE:50,SHOOTER_Y_OFFSET:40,BUBBLE_SPEED:12,POINTS_PER_BUBBLE:10,POINTS_PER_DROP:20,MIN_MATCH_COUNT:3,COLS_PER_ROW:9,ROW_OFFSET:.5};export const BUBBLE_COLORS=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF","#5856D6","#FF2D55","#00C7BE"];export const BUBBLE_SHOOTER_COLORS={BACKGROUND:"#87CEEB",SHOOTER:"#ffffff",SHOOTER_ARROW:"#ff6b9d",SCORE:"#ffffff",UI:"#ff6b9d",CEILING:"#e0e0e0"};export const BUBBLE_SHOOTER_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#ff6b9d",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(255, 107, 157, 0.15)",sectionTitleColor:"#ff6b9d",buttonSelectedColor:"#ff6b9d",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(255, 107, 157, 0.3)",switchTrackColorTrue:"#ff6b9d",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS={easy:"Fewer rows and colors, easier matches",medium:"Balanced challenge with more bubbles",hard:"Many rows and colors, strategic play!"};
@@ -1 +1 @@
1
- {"version":3,"names":["BUBBLE_SHOOTER_DIFFICULTY_CONFIG","easy","rowCount","colorCount","medium","hard","getDifficultySettings","difficulty","DEFAULT_BUBBLE_SHOOTER_SETTINGS","soundEnabled","hapticEnabled","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_RADIUS","BUBBLE_SPACING","SHOOTER_SIZE","SHOOTER_Y_OFFSET","BUBBLE_SPEED","POINTS_PER_BUBBLE","POINTS_PER_DROP","MIN_MATCH_COUNT","COLS_PER_ROW","ROW_OFFSET","BUBBLE_COLORS","BUBBLE_SHOOTER_COLORS","BACKGROUND","SHOOTER","SHOOTER_ARROW","SCORE","UI","CEILING","BUBBLE_SHOOTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterConstants.ts"],"mappings":";;AAEA;;AASA;AACA,OAAO,MAAMA,gCAAgC,GAAG;EAC9CC,IAAI,EAAE;IACJC,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC,CAAE;EACjB,CAAC;EACDC,MAAM,EAAE;IACNF,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC,CAAE;EACjB,CAAC;EACDE,IAAI,EAAE;IACJH,QAAQ,EAAE,EAAE;IAAE;IACdC,UAAU,EAAE,CAAC,CAAE;EACjB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOP,gCAAgC,CAACO,UAAU,CAAC;AACrD,CAAC;;AAED;AACA,OAAO,MAAMC,+BAAsD,GAAG;EACpED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBR,QAAQ,EAAEF,gCAAgC,CAACI,MAAM,CAACF,QAAQ;EAC1DC,UAAU,EAAEH,gCAAgC,CAACI,MAAM,CAACD;AACtD,CAAC;;AAED;AACA,OAAO,MAAMQ,0BAA0B,GAAG;EACxCC,aAAa,EAAE,EAAE;EAAE;EACnBC,cAAc,EAAE,CAAC;EAAE;EACnBC,YAAY,EAAE,EAAE;EAAE;EAClBC,gBAAgB,EAAE,EAAE;EAAE;EACtBC,YAAY,EAAE,EAAE;EAAE;EAClBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAAE;EACrBC,eAAe,EAAE,CAAC;EAAE;EACpBC,YAAY,EAAE,CAAC;EAAE;EACjBC,UAAU,EAAE,GAAG,CAAE;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,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,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,UAAU,EAAE,SAAS;EAAE;EACvBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA,OAAO,MAAMC,oBAAuC,GAAG;EACrDC,eAAe,EAAE,oBAAoB;EACrCC,qBAAqB,EAAE,SAAS;EAChCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EACnDC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,SAAS;EAC9BC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EACrDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,sCAAsC,GAAG;EACpD3C,IAAI,EAAE,uCAAuC;EAC7CG,MAAM,EAAE,sCAAsC;EAC9CC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["BUBBLE_SHOOTER_DIFFICULTY_CONFIG","easy","rowCount","colorCount","timeLimit","medium","hard","getDifficultySettings","difficulty","DEFAULT_BUBBLE_SHOOTER_SETTINGS","soundEnabled","hapticEnabled","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_RADIUS","BUBBLE_SPACING","SHOOTER_SIZE","SHOOTER_Y_OFFSET","BUBBLE_SPEED","POINTS_PER_BUBBLE","POINTS_PER_DROP","MIN_MATCH_COUNT","COLS_PER_ROW","ROW_OFFSET","BUBBLE_COLORS","BUBBLE_SHOOTER_COLORS","BACKGROUND","SHOOTER","SHOOTER_ARROW","SCORE","UI","CEILING","BUBBLE_SHOOTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterConstants.ts"],"mappings":";;AAEA;;AASA;AACA,OAAO,MAAMA,gCAAgC,GAAG;EAC9CC,IAAI,EAAE;IACJC,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAE;EACrB,CAAC;EACDC,MAAM,EAAE;IACNH,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAE;EACtB,CAAC;EACDE,IAAI,EAAE;IACJJ,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAE;EACtB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOR,gCAAgC,CAACQ,UAAU,CAAC;AACrD,CAAC;;AAED;AACA,OAAO,MAAMC,+BAAsD,GAAG;EACpED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBT,QAAQ,EAAEF,gCAAgC,CAACK,MAAM,CAACH,QAAQ;EAC1DC,UAAU,EAAEH,gCAAgC,CAACK,MAAM,CAACF;AACtD,CAAC;;AAED;AACA,OAAO,MAAMS,0BAA0B,GAAG;EACxCC,aAAa,EAAE,EAAE;EAAE;EACnBC,cAAc,EAAE,CAAC;EAAE;EACnBC,YAAY,EAAE,EAAE;EAAE;EAClBC,gBAAgB,EAAE,EAAE;EAAE;EACtBC,YAAY,EAAE,EAAE;EAAE;EAClBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAAE;EACrBC,eAAe,EAAE,CAAC;EAAE;EACpBC,YAAY,EAAE,CAAC;EAAE;EACjBC,UAAU,EAAE,GAAG,CAAE;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,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,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,UAAU,EAAE,SAAS;EAAE;EACvBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA,OAAO,MAAMC,oBAAuC,GAAG;EACrDC,eAAe,EAAE,oBAAoB;EACrCC,qBAAqB,EAAE,SAAS;EAChCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EACnDC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,SAAS;EAC9BC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EACrDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,sCAAsC,GAAG;EACpD5C,IAAI,EAAE,uCAAuC;EAC7CI,MAAM,EAAE,sCAAsC;EAC9CC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import{Dimensions as t}from"react-native";import{useBubbleShooterStore as o}from"./BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG as s,BUBBLE_COLORS as e}from"./BubbleShooterConstants.js";const{width:i}=t.get("window");export class BubbleShooterService{rowCount=8;colorCount=5;shooterX=i/2;shooterY=0;offset=0;constructor(){}setCallbacks(t,o,s){this.onShoot=t,this.onBubbleMatch=o,this.onGameWon=s}setDifficulty(t,o){this.rowCount=t,this.colorCount=o}setShooterPosition(t,o,s=0){this.shooterX=t,this.shooterY=o,this.offset=s}startGame(){this.initializeBubbles()}stopGame(){}resetGame(){}cleanup(){}initializeBubbles(){const t=o.getState(),n=[],r=s.BUBBLE_RADIUS,c=2*(r+s.BUBBLE_SPACING),h=s.COLS_PER_ROW,l=(i-h*c)/2+r,a=e.slice(0,this.colorCount);for(let t=0;t<this.rowCount;t++)for(let o=0;h>o;o++){const s=l+o*c+(t%2==1?c/2:0),e=t*c*.866+r+120+this.offset,i=a[Math.floor(Math.random()*a.length)];n.push({id:`bubble-${t}-${o}`,row:t,col:o,color:i,x:s,y:e})}t.updateBubbles(n);const b=[...new Set(n.map(t=>t.color))],u=b[Math.floor(Math.random()*b.length)],f=b[Math.floor(Math.random()*b.length)];o.setState({currentBubbleColor:u,nextBubbleColor:f})}updateShootingBubble(t){const e=o.getState();if(!e.shootingBubble)return;const n=e.shootingBubble,r=s.BUBBLE_RADIUS;let c=n.x+n.vx,h=n.y+n.vy,l=n.vx;5>c-r?(c=r+5,l=-l):c+r>i-5&&(c=i-r-5,l=-l),h-r>50+this.offset?this.checkBubbleCollision(c,h)?this.snapBubbleToGrid(c,h,n.color):e.updateShootingBubble({...n,x:c,y:h,vx:l}):this.snapBubbleToGrid(c,h,n.color)}checkBubbleCollision(t,e){const i=o.getState().bubbles,n=2*s.BUBBLE_RADIUS;for(const o of i){const s=t-o.x,i=e-o.y;if(n>Math.sqrt(s*s+i*i))return o}return null}snapBubbleToGrid(t,e,n){const r=s.BUBBLE_RADIUS,c=2*(r+s.BUBBLE_SPACING),h=o.getState();if(0===h.bubbles.length){const o={id:"bubble-"+Date.now(),row:0,col:0,color:n,x:t,y:Math.max(e,50+this.offset+r)};return h.addBubble(o),h.clearShootingBubble(),void h.generateNextBubble()}const l=h.bubbles;let a=l[0],b=1/0;for(let o=0;o<l.length;o++){const s=l[o];if(!s)continue;const i=t-s.x,n=e-s.y,r=Math.sqrt(i*i+n*n);b>r&&(b=r,a=s)}if(!a)return;const u=t-a.x,f=e-a.y,M=Math.sqrt(u*u+f*f);if(.1>M){const t={id:"bubble-"+Date.now(),row:0,col:0,color:n,x:a.x,y:a.y+c};h.addBubble(t);const e=o.getState().bubbles,i=this.findConnectedBubbles(t,e);if(i.length>=s.MIN_MATCH_COUNT){const t=i.map(t=>t.id);h.removeBubbles(t);const e=i.length*s.POINTS_PER_BUBBLE;h.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),h.setGameWon())}return h.clearShootingBubble(),void h.generateNextBubble()}const d=u/M,w=f/M;let x=a.x+d*c,B=a.y+w*c;const m=50+this.offset+r,S=a.y+2*c;B=Math.max(m,Math.min(S,B)),x=Math.max(r+5,Math.min(i-r-5,x));const p={id:"bubble-"+Date.now(),row:0,col:0,color:n,x:x,y:B};h.addBubble(p);const y=o.getState().bubbles,C=this.findConnectedBubbles(p,y);if(C.length>=s.MIN_MATCH_COUNT){const t=C.map(t=>t.id);h.removeBubbles(t);const e=C.length*s.POINTS_PER_BUBBLE;h.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),h.setGameWon())}h.clearShootingBubble(),h.generateNextBubble()}findConnectedBubbles(t,o){const e=[],i=new Set,n=[t],r=2.5*s.BUBBLE_RADIUS;for(;n.length>0;){const s=n.shift();if(!i.has(s.id)&&(i.add(s.id),s.color===t.color)){e.push(s);for(let e=0;e<o.length;e++){const c=o[e];if(c&&!i.has(c.id)){const o=s.x-c.x,e=s.y-c.y;r>Math.sqrt(o*o+e*e)&&c.color===t.color&&n.push(c)}}}}return e}shoot(){const t=o.getState();if(!t.isPlaying||t.shootingBubble)return;const e=t.shooterAngle,i=s.BUBBLE_SPEED,n={id:"shooting-"+Date.now(),x:this.shooterX,y:this.shooterY,vx:Math.sin(e)*i,vy:-Math.cos(e)*i,color:t.currentBubbleColor};o.getState().updateShootingBubble(n),this.onShoot?.()}}
1
+ "use strict";import{Dimensions as t}from"react-native";import{useBubbleShooterStore as o}from"./BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG as s,BUBBLE_COLORS as e}from"./BubbleShooterConstants.js";const{width:i}=t.get("window"),n=s.BUBBLE_RADIUS,r=s.BUBBLE_SPACING,c=2*(n+r),h=2*n,l=2.5*n,u=5,a=n+5,b=i-n-5;export class BubbleShooterService{rowCount=8;colorCount=5;shooterX=i/2;shooterY=0;offset=0;constructor(){}setCallbacks(t,o,s){this.onShoot=t,this.onBubbleMatch=o,this.onGameWon=s}setDifficulty(t,o){this.rowCount=t,this.colorCount=o}setShooterPosition(t,o,s=0){this.shooterX=t,this.shooterY=o,this.offset=s}setOffset(t){this.offset=t}startGame(){0===o.getState().bubbles.length&&this.initializeBubbles()}stopGame(){}resetGame(){}cleanup(){}initializeBubbles(){const t=o.getState(),n=[],r=s.BUBBLE_RADIUS,c=2*(r+s.BUBBLE_SPACING),h=s.COLS_PER_ROW,l=(i-h*c)/2+r,u=e.slice(0,this.colorCount);for(let t=0;t<this.rowCount;t++)for(let o=0;h>o;o++){const s=l+o*c+(t%2==1?c/2:0),e=t*c*.866+r+130+this.offset,i=u[Math.floor(Math.random()*u.length)];n.push({id:`bubble-${t}-${o}`,row:t,col:o,color:i,x:s,y:e})}t.updateBubbles(n);const a=[...new Set(n.map(t=>t.color))],b=a[Math.floor(Math.random()*a.length)],f=a[Math.floor(Math.random()*a.length)];o.setState({currentBubbleColor:b,nextBubbleColor:f})}updateShootingBubble(t){const s=o.getState();if(!s.shootingBubble)return;const e=s.shootingBubble;let i=e.x+e.vx,r=e.y+e.vy,c=e.vx;const h=130+this.offset;if(h>=r-n)return r=h+n,void this.snapBubbleToGrid(i,r,e.color);this.checkBubbleCollision(i,r)?this.snapBubbleToGrid(i,r,e.color):(a>i?(i=a,c=-c):i>b&&(i=b,c=-c),s.updateShootingBubble({...e,x:i,y:r,vx:c}))}checkBubbleCollision(t,s){const e=o.getState().bubbles,i=h*h;for(let o=0;o<e.length;o++){const n=e[o];if(!n)continue;const r=t-n.x,c=s-n.y;if(i>r*r+c*c)return n}return null}snapBubbleToGrid(t,e,i){const r=o.getState();if(0===r.bubbles.length){const o={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:t,y:Math.max(e,50+this.offset+n)};return r.addBubble(o),r.clearShootingBubble(),void r.generateNextBubble()}const h=r.bubbles;let l=h[0],u=1/0;for(let o=0;o<h.length;o++){const s=h[o];if(!s)continue;const i=t-s.x,n=e-s.y,r=Math.sqrt(i*i+n*n);u>r&&(u=r,l=s)}if(!l)return;const f=t-l.x,M=e-l.y,d=Math.sqrt(f*f+M*M);if(.1>d){const t={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:l.x,y:l.y+c};r.addBubble(t);const e=o.getState().bubbles,n=this.findConnectedBubbles(t,e);if(n.length>=s.MIN_MATCH_COUNT){const t=n.map(t=>t.id);r.removeBubbles(t);const e=n.length*s.POINTS_PER_BUBBLE;r.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),r.setGameWon())}return r.clearShootingBubble(),void r.generateNextBubble()}const w=f/d,x=M/d;let B=l.x+w*c,m=l.y+x*c;const S=50+this.offset+n,p=l.y+2*c;m=Math.max(S,Math.min(p,m)),B=Math.max(a,Math.min(b,B));const v={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:B,y:m};r.addBubble(v);const y=o.getState().bubbles,C=this.findConnectedBubbles(v,y);if(C.length>=s.MIN_MATCH_COUNT){const t=C.map(t=>t.id);r.removeBubbles(t);const e=C.length*s.POINTS_PER_BUBBLE;r.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),r.setGameWon())}r.clearShootingBubble(),r.generateNextBubble()}findConnectedBubbles(t,o){const s=[],e=new Set,i=[t],n=l*l,r=t.color;for(;i.length>0;){const t=i.shift();if(!e.has(t.id)&&(e.add(t.id),t.color===r)){s.push(t);for(let s=0;s<o.length;s++){const c=o[s];if(!c||e.has(c.id)||c.color!==r)continue;const h=t.x-c.x,l=t.y-c.y;n>h*h+l*l&&i.push(c)}}}return s}shoot(){const t=o.getState();if(!t.isPlaying||t.shootingBubble)return;const e=t.shooterAngle,i=s.BUBBLE_SPEED,n={id:"shooting-"+Date.now(),x:this.shooterX,y:this.shooterY,vx:Math.sin(e)*i,vy:-Math.cos(e)*i,color:t.currentBubbleColor};o.getState().updateShootingBubble(n),this.onShoot?.()}}
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_COLORS","width","get","BubbleShooterService","rowCount","colorCount","shooterX","shooterY","offset","constructor","setCallbacks","onShoot","onBubbleMatch","onGameWon","setDifficulty","setShooterPosition","x","y","startGame","initializeBubbles","stopGame","resetGame","cleanup","store","getState","bubbles","radius","BUBBLE_RADIUS","spacing","BUBBLE_SPACING","diameter","cols","COLS_PER_ROW","gridWidth","startX","availableColors","slice","row","col","xOffset","color","Math","floor","random","length","push","id","updateBubbles","uniqueColors","Set","map","b","randomColor1","randomColor2","setState","currentBubbleColor","nextBubbleColor","updateShootingBubble","_offset","shootingBubble","bubble","newX","vx","newY","vy","newVx","wallPadding","snapBubbleToGrid","hitBubble","checkBubbleCollision","collisionDist","dx","dy","dist","sqrt","newBubble","Date","now","max","addBubble","clearShootingBubble","generateNextBubble","currentBubbles","collidedBubble","minDist","Infinity","i","distance","updatedBubbles","matches","findConnectedBubbles","MIN_MATCH_COUNT","matchIds","removeBubbles","points","POINTS_PER_BUBBLE","updateScore","remainingBubbles","setGameWon","normalizedDx","normalizedDy","snapX","snapY","minY","maxY","min","minX","maxX","startBubble","allBubbles","visited","queue","neighborDist","current","shift","has","add","shoot","isPlaying","angle","shooterAngle","speed","BUBBLE_SPEED","sin","cos"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Dimensions","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_COLORS","width","get","BUBBLE_RADIUS","BUBBLE_SPACING","BUBBLE_DIAMETER","COLLISION_DIST","NEIGHBOR_DIST","WALL_PADDING","MIN_X","MAX_X","BubbleShooterService","rowCount","colorCount","shooterX","shooterY","offset","constructor","setCallbacks","onShoot","onBubbleMatch","onGameWon","setDifficulty","setShooterPosition","x","y","setOffset","startGame","store","getState","bubbles","length","initializeBubbles","stopGame","resetGame","cleanup","radius","spacing","diameter","cols","COLS_PER_ROW","gridWidth","startX","availableColors","slice","row","col","xOffset","color","Math","floor","random","push","id","updateBubbles","uniqueColors","Set","map","b","randomColor1","randomColor2","setState","currentBubbleColor","nextBubbleColor","updateShootingBubble","_offset","shootingBubble","bubble","newX","vx","newY","vy","newVx","topBoundary","snapBubbleToGrid","hitBubble","checkBubbleCollision","collisionDistSq","i","dx","dy","distSq","newBubble","Date","now","max","addBubble","clearShootingBubble","generateNextBubble","currentBubbles","collidedBubble","minDist","Infinity","dist","sqrt","distance","updatedBubbles","matches","findConnectedBubbles","MIN_MATCH_COUNT","matchIds","removeBubbles","points","POINTS_PER_BUBBLE","updateScore","remainingBubbles","setGameWon","normalizedDx","normalizedDy","snapX","snapY","minY","maxY","min","startBubble","allBubbles","visited","queue","neighborDistSq","targetColor","current","shift","has","add","shoot","isPlaying","angle","shooterAngle","speed","BUBBLE_SPEED","sin","cos"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterService.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import{create as e}from"zustand";import{subscribeWithSelector as t}from"zustand/middleware";import{immerMiddleware as o}from"../../services/UtilsService.js";import{BUBBLE_SHOOTER_GAME_CONFIG as r}from"./BubbleShooterConstants.js";export const useBubbleShooterStore=e()(t(o((e,t)=>({score:0,isPlaying:!1,gameOver:!1,gameWon:!1,shooterAngle:0,bubbles:[],shootingBubble:null,nextBubbleColor:"#FF3B30",currentBubbleColor:"#FF3B30",startGame:(t,o)=>{e(e=>{e.score=0,e.isPlaying=!0,e.gameOver=!1,e.gameWon=!1,e.shootingBubble=null,e.bubbles=[]})},stopGame:()=>{e(e=>{e.isPlaying=!1})},resetGame:()=>{e(e=>{e.score=0,e.isPlaying=!1,e.gameOver=!1,e.gameWon=!1,e.shooterAngle=0,e.bubbles=[],e.shootingBubble=null})},updateScore:t=>{e(e=>{e.score=e.score+t})},setShooterAngle:t=>{e(e=>{e.shooterAngle=t})},shootBubble:()=>{const o=t();if(o.shootingBubble)return;const s=o.shooterAngle,u=r.BUBBLE_SPEED;e(e=>{e.shootingBubble={id:"shooting-"+Date.now(),x:0,y:0,vx:Math.sin(s)*u,vy:-Math.cos(s)*u,color:e.currentBubbleColor}})},updateShootingBubble:t=>{e(e=>{const{width:o}=require("react-native").Dimensions.get("window"),r=o-18-5;e.shootingBubble={...t,x:Math.max(23,Math.min(r,t.x))}})},clearShootingBubble:()=>{e(e=>{e.currentBubbleColor=e.nextBubbleColor,e.shootingBubble=null})},addBubble:t=>{e(e=>{const{width:o}=require("react-native").Dimensions.get("window"),r=o-18-5,s={...t,x:Math.max(23,Math.min(r,t.x))};e.bubbles.push(s)})},removeBubbles:t=>{e(e=>{e.bubbles=e.bubbles.filter(e=>!t.includes(e.id))})},updateBubbles:t=>{e(e=>{const{width:o}=require("react-native").Dimensions.get("window"),r=o-18-5;e.bubbles=t.map(e=>({...e,x:Math.max(23,Math.min(r,e.x))}))})},setGameOver:()=>{e(e=>{e.gameOver=!0,e.isPlaying=!1})},setGameWon:()=>{e(e=>{e.gameWon=!0,e.gameOver=!0,e.isPlaying=!1})},generateNextBubble:()=>{e(e=>{const t=[...new Set(e.bubbles.map(e=>e.color))];if(0===t.length){const t=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF"];e.nextBubbleColor=t[Math.floor(Math.random()*t.length)]}else e.nextBubbleColor=t[Math.floor(Math.random()*t.length)]})}}))));export const useScore=()=>useBubbleShooterStore(e=>e.score);export const useIsPlaying=()=>useBubbleShooterStore(e=>e.isPlaying);export const useGameOver=()=>useBubbleShooterStore(e=>e.gameOver);export const useGameWon=()=>useBubbleShooterStore(e=>e.gameWon);export const useShooterAngle=()=>useBubbleShooterStore(e=>e.shooterAngle);export const useBubbles=()=>useBubbleShooterStore(e=>e.bubbles);export const useShootingBubble=()=>useBubbleShooterStore(e=>e.shootingBubble);export const useCurrentBubbleColor=()=>useBubbleShooterStore(e=>e.currentBubbleColor);export const useNextBubbleColor=()=>useBubbleShooterStore(e=>e.nextBubbleColor);
1
+ "use strict";import{create as e}from"zustand";import{subscribeWithSelector as o}from"zustand/middleware";import{immerMiddleware as t}from"../../services/UtilsService.js";import{BUBBLE_SHOOTER_GAME_CONFIG as r}from"./BubbleShooterConstants.js";export const useBubbleShooterStore=e()(o(t((e,o)=>({score:0,timeRemaining:0,isPlaying:!1,gameOver:!1,gameWon:!1,shooterAngle:0,bubbles:[],shootingBubble:null,nextBubbleColor:"#FF3B30",currentBubbleColor:"#FF3B30",startGame:(o,t,r)=>{e(e=>{e.score=0,e.timeRemaining=r,e.isPlaying=!0,e.gameOver=!1,e.gameWon=!1,e.shootingBubble=null})},stopGame:()=>{e(e=>{e.isPlaying=!1})},resetGame:()=>{e(e=>{e.score=0,e.timeRemaining=0,e.isPlaying=!1,e.gameOver=!1,e.gameWon=!1,e.shooterAngle=0,e.bubbles=[],e.shootingBubble=null})},updateScore:o=>{e(e=>{e.score=e.score+o})},updateTimeRemaining:o=>{e(e=>{e.timeRemaining=Math.max(0,e.timeRemaining+o)})},setTimeRemaining:o=>{e(e=>{e.timeRemaining=o})},setShooterAngle:o=>{e(e=>{e.shooterAngle=o})},shootBubble:()=>{const t=o();if(t.shootingBubble)return;const s=t.shooterAngle,u=r.BUBBLE_SPEED;e(e=>{e.shootingBubble={id:"shooting-"+Date.now(),x:0,y:0,vx:Math.sin(s)*u,vy:-Math.cos(s)*u,color:e.currentBubbleColor}})},updateShootingBubble:o=>{e(e=>{e.shootingBubble=o})},clearShootingBubble:()=>{e(e=>{e.currentBubbleColor=e.nextBubbleColor,e.shootingBubble=null})},addBubble:o=>{e(e=>{e.bubbles.push(o)})},removeBubbles:o=>{e(e=>{const t=new Set(o);e.bubbles=e.bubbles.filter(e=>!t.has(e.id))})},updateBubbles:o=>{e(e=>{e.bubbles=o})},setGameOver:()=>{e(e=>{e.gameOver=!0,e.isPlaying=!1})},setGameWon:()=>{e(e=>{e.gameWon=!0,e.gameOver=!0,e.isPlaying=!1})},generateNextBubble:()=>{e(e=>{const o=[...new Set(e.bubbles.map(e=>e.color))];if(0===o.length){const o=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF"];e.nextBubbleColor=o[Math.floor(Math.random()*o.length)]}else e.nextBubbleColor=o[Math.floor(Math.random()*o.length)]})}}))));export const useScore=()=>useBubbleShooterStore(e=>e.score);export const useTimeRemaining=()=>useBubbleShooterStore(e=>e.timeRemaining);export const useIsPlaying=()=>useBubbleShooterStore(e=>e.isPlaying);export const useGameOver=()=>useBubbleShooterStore(e=>e.gameOver);export const useGameWon=()=>useBubbleShooterStore(e=>e.gameWon);export const useShooterAngle=()=>useBubbleShooterStore(e=>e.shooterAngle);export const useBubbles=()=>useBubbleShooterStore(e=>e.bubbles);export const useShootingBubble=()=>useBubbleShooterStore(e=>e.shootingBubble);export const useCurrentBubbleColor=()=>useBubbleShooterStore(e=>e.currentBubbleColor);export const useNextBubbleColor=()=>useBubbleShooterStore(e=>e.nextBubbleColor);
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","BUBBLE_SHOOTER_GAME_CONFIG","useBubbleShooterStore","set","get","score","isPlaying","gameOver","gameWon","shooterAngle","bubbles","shootingBubble","nextBubbleColor","currentBubbleColor","startGame","_rowCount","_colorCount","draft","stopGame","resetGame","updateScore","points","setShooterAngle","angle","shootBubble","state","speed","BUBBLE_SPEED","id","Date","now","x","y","vx","Math","sin","vy","cos","color","updateShootingBubble","bubble","width","require","Dimensions","radius","minX","maxX","max","min","clearShootingBubble","addBubble","clampedBubble","push","removeBubbles","bubbleIds","filter","b","includes","updateBubbles","map","setGameOver","setGameWon","generateNextBubble","uniqueColors","Set","length","defaultColors","floor","random","useScore","useIsPlaying","useGameOver","useGameWon","useShooterAngle","useBubbles","useShootingBubble","useCurrentBubbleColor","useNextBubbleColor"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","BUBBLE_SHOOTER_GAME_CONFIG","useBubbleShooterStore","set","get","score","timeRemaining","isPlaying","gameOver","gameWon","shooterAngle","bubbles","shootingBubble","nextBubbleColor","currentBubbleColor","startGame","_rowCount","_colorCount","timeLimit","draft","stopGame","resetGame","updateScore","points","updateTimeRemaining","time","Math","max","setTimeRemaining","setShooterAngle","angle","shootBubble","state","speed","BUBBLE_SPEED","id","Date","now","x","y","vx","sin","vy","cos","color","updateShootingBubble","bubble","clearShootingBubble","addBubble","push","removeBubbles","bubbleIds","idsToRemove","Set","filter","b","has","updateBubbles","setGameOver","setGameWon","generateNextBubble","uniqueColors","map","length","defaultColors","floor","random","useScore","useTimeRemaining","useIsPlaying","useGameOver","useGameWon","useShooterAngle","useBubbles","useShootingBubble","useCurrentBubbleColor","useNextBubbleColor"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterStore.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import r from"react";import{View as t,StyleSheet as e,Dimensions as o}from"react-native";import{Gesture as c,GestureDetector as s}from"react-native-gesture-handler";import{runOnJS as a,useSharedValue as i,withRepeat as n,withSpring as m,useDerivedValue as l}from"react-native-reanimated";import{Canvas as h,Circle as f,Group as p,Line as d,vec as x}from"@shopify/react-native-skia";import{useBubbleShooterStore as y}from"../BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG as g,BUBBLE_SHOOTER_COLORS as u}from"../BubbleShooterConstants.js";import{ParticleBlast as b}from"../../../helpers/index.js";import{jsx as M,jsxs as j}from"react/jsx-runtime";const{width:v,height:w}=o.get("window"),S=({gameService:e,offset:o})=>{const S=y(r=>r.bubbles),A=y(r=>r.shootingBubble),C=y(r=>r.shooterAngle),G=y(r=>r.currentBubbleColor),B=y(r=>r.nextBubbleColor),$=y(r=>r.isPlaying),[D,W]=r.useState([]),q=i(1),z=i(1),E=v/2,F=w-o-g.SHOOTER_Y_OFFSET,H=g.BUBBLE_RADIUS;r.useEffect(()=>{e.setShooterPosition(E,F,o)},[e,E,F,o]),r.useEffect(()=>{$&&!A?(q.value=n(m(1.1,{damping:3,stiffness:100,mass:.5}),-1,!0),z.value=n(m(1.15,{damping:2.5,stiffness:90,mass:.6}),-1,!0)):(q.value=m(1,{damping:10,stiffness:100}),z.value=m(1,{damping:10,stiffness:100}))},[$,A]);const I=l(()=>H*q.value),J=l(()=>.6*H*z.value),K=r.useCallback((r,t)=>{if(!$)return;const e=Math.max(.4*-Math.PI,Math.min(.4*Math.PI,Math.atan2(r-E,-(t-F))));y.getState().setShooterAngle(e)},[$,E,F]),L=r.useCallback(()=>{$&&!A&&e.shoot()},[e,$,A]),N=r.useCallback((r,t,e)=>{const o={id:`blast-${Date.now()}-${Math.random()}`,x:r,y:t,color:e};W(r=>[...r,o])},[]),O=r.useCallback(r=>{W(t=>t.filter(t=>t.id!==r))},[]);r.useEffect(()=>{const r=y.subscribe(r=>r.bubbles,(r,t)=>{$&&0!==t.length&&t.length>r.length&&t.filter(t=>!r.some(r=>r.id===t.id)).forEach(r=>{N(r.x,r.y,r.color)})});return()=>r()},[N,$]);const P=r.useMemo(()=>c.Pan().onBegin(r=>{a(K)(r.absoluteX,r.absoluteY)}).onUpdate(r=>{a(K)(r.absoluteX,r.absoluteY)}).onEnd(()=>{a(L)()}),[K,L]),Q=r.useMemo(()=>c.Tap().onStart(r=>{a(K)(r.absoluteX,r.absoluteY)}).onEnd(()=>{a(L)()}),[K,L]),R=c.Race(P,Q),T=E+150*Math.sin(C),U=F-150*Math.cos(C);return M(s,{gesture:R,children:j(t,{style:k.container,children:[j(h,{style:k.canvas,children:[S.map(r=>j(p,{children:[M(f,{cx:r.x,cy:r.y,r:H,color:r.color}),M(f,{cx:r.x-.3*H,cy:r.y-.3*H,r:.3*H,color:"rgba(255, 255, 255, 0.4)"})]},r.id)),A&&j(p,{children:[M(f,{cx:A.x,cy:A.y,r:H,color:A.color}),M(f,{cx:A.x-.3*H,cy:A.y-.3*H,r:.3*H,color:"rgba(255, 255, 255, 0.4)"})]}),$&&!A&&j(p,{children:[M(d,{p1:x(E,F),p2:x(T,U),color:u.SHOOTER_ARROW,style:"stroke",strokeWidth:2}),M(f,{cx:E,cy:F,r:I,color:G}),M(f,{cx:E-.3*H,cy:F-.3*H,r:.3*H,color:"rgba(255, 255, 255, 0.4)"}),M(f,{cx:E+50,cy:F,r:J,color:B}),M(f,{cx:E+50-.18*H,cy:F-.18*H,r:.18*H,color:"rgba(255, 255, 255, 0.4)"})]})]}),D.map(r=>M(b,{x:r.x,y:r.y,colors:[r.color],particleCount:12,onComplete:()=>O(r.id)},r.id))]})})},k=e.create({container:{flex:1},canvas:{flex:1,width:v,height:w}}),A=(r,t)=>r.offset===t.offset&&r.gameService===t.gameService;export const GameArea=r.memo(S,A);GameArea.displayName="GameArea";
1
+ "use strict";import r from"react";import{View as t,StyleSheet as e,Dimensions as o}from"react-native";import{Gesture as c,GestureDetector as a}from"react-native-gesture-handler";import{runOnJS as s,useSharedValue as i,withRepeat as n,withSpring as l,useDerivedValue as m}from"react-native-reanimated";import{Canvas as f,Circle as h,Group as d}from"@shopify/react-native-skia";import{useBubbleShooterStore as p}from"../BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG as x,BUBBLE_SHOOTER_COLORS as b}from"../BubbleShooterConstants.js";import{ParticleBlast as u}from"../../../helpers/index.js";import{jsx as y,jsxs as g}from"react/jsx-runtime";const{width:M,height:j}=o.get("window"),v=r.memo(({bubble:r,radius:t})=>g(d,{children:[y(h,{cx:r.x,cy:r.y,r:t,color:r.color}),y(h,{cx:r.x-.3*t,cy:r.y-.3*t,r:.3*t,color:"rgba(255, 255, 255, 0.4)"})]}));v.displayName="BubbleRenderer";const w=({gameService:e,offset:o})=>{const w=p(r=>r.bubbles),A=p(r=>r.shootingBubble),B=p(r=>r.shooterAngle),C=p(r=>r.currentBubbleColor),G=p(r=>r.nextBubbleColor),k=p(r=>r.isPlaying),[$,D]=r.useState([]),R=i(1),q=i(1),z=r.useMemo(()=>M/2,[]),E=r.useMemo(()=>j-o-x.SHOOTER_Y_OFFSET,[o]),F=x.BUBBLE_RADIUS;r.useEffect(()=>{e.setShooterPosition(z,E,o)},[e,z,E,o]),r.useEffect(()=>{k&&!A?(R.value=n(l(1.1,{damping:3,stiffness:100,mass:.5}),-1,!0),q.value=n(l(1.15,{damping:2.5,stiffness:90,mass:.6}),-1,!0)):(R.value=l(1,{damping:10,stiffness:100}),q.value=l(1,{damping:10,stiffness:100}))},[k,A]);const H=m(()=>F*R.value),I=m(()=>.6*F*q.value),J=r.useCallback((r,t)=>{if(!k)return;const e=Math.max(.4*-Math.PI,Math.min(.4*Math.PI,Math.atan2(r-z,-(t-E))));p.getState().setShooterAngle(e)},[k,z,E]),K=r.useCallback(()=>{k&&!A&&e.shoot()},[e,k,A]),L=r.useCallback((r,t,e)=>{const o={id:`blast-${Date.now()}-${Math.random()}`,x:r,y:t,color:e};D(r=>[...r,o])},[]),N=r.useCallback(r=>{D(t=>t.filter(t=>t.id!==r))},[]);r.useEffect(()=>{const r=p.subscribe(r=>r.bubbles,(r,t)=>{k&&0!==r.length&&t.length>r.length&&t.filter(t=>!r.some(r=>r.id===t.id)).forEach(r=>{L(r.x,r.y,r.color)})});return()=>r()},[L,k]);const O=r.useMemo(()=>c.Pan().onBegin(r=>{s(J)(r.absoluteX,r.absoluteY)}).onUpdate(r=>{s(J)(r.absoluteX,r.absoluteY)}).onEnd(()=>{s(K)()}),[J,K]),P=r.useMemo(()=>c.Tap().onStart(r=>{s(J)(r.absoluteX,r.absoluteY)}).onEnd(()=>{s(K)()}),[J,K]),Q=r.useMemo(()=>c.Race(O,P),[O,P]),T=r.useMemo(()=>{const r=[];for(let t=1;12>=t;t++){const e=25*t,c=z+Math.sin(B)*e,a=E-Math.cos(B)*e;if(100+o>a)break;r.push({x:c,y:a})}return r},[z,E,B,o]);return y(a,{gesture:Q,children:g(t,{style:S.container,children:[g(f,{style:S.canvas,children:[w.map(r=>y(v,{bubble:r,radius:F},r.id)),A&&g(d,{children:[y(h,{cx:A.x,cy:A.y,r:F,color:A.color}),y(h,{cx:A.x-.3*F,cy:A.y-.3*F,r:.3*F,color:"rgba(255, 255, 255, 0.4)"})]}),!A&&g(d,{children:[T.map((r,t)=>y(h,{cx:r.x,cy:r.y,r:4-.2*t,color:b.SHOOTER_ARROW,opacity:1-.06*t},"aim-dot-"+t)),y(h,{cx:z,cy:E,r:H,color:C}),y(h,{cx:z-.3*F,cy:E-.3*F,r:.3*F,color:"rgba(255, 255, 255, 0.4)"}),y(h,{cx:z+50,cy:E,r:I,color:G}),y(h,{cx:z+50-.18*F,cy:E-.18*F,r:.18*F,color:"rgba(255, 255, 255, 0.4)"})]})]}),$.map(r=>y(u,{x:r.x,y:r.y,colors:[r.color],particleCount:12,onComplete:()=>N(r.id)},r.id))]})})},S=e.create({container:{flex:1},canvas:{flex:1,width:M,height:j}}),A=(r,t)=>r.offset===t.offset&&r.gameService===t.gameService;export const GameArea=r.memo(w,A);GameArea.displayName="GameArea";
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","Dimensions","Gesture","GestureDetector","runOnJS","useSharedValue","withRepeat","withSpring","useDerivedValue","Canvas","Circle","Group","Line","vec","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_SHOOTER_COLORS","ParticleBlast","jsx","_jsx","jsxs","_jsxs","width","height","get","GameAreaComponent","gameService","offset","bubbles","state","shootingBubble","shooterAngle","currentBubbleColor","nextBubbleColor","isPlaying","activeBlasts","setActiveBlasts","useState","bubbleScale","nextBubbleScale","shooterX","shooterY","SHOOTER_Y_OFFSET","radius","BUBBLE_RADIUS","useEffect","setShooterPosition","value","damping","stiffness","mass","animatedRadius","animatedNextRadius","handleTouchMove","useCallback","x","y","dx","dy","angle","Math","atan2","clampedAngle","max","PI","min","getState","setShooterAngle","handleTap","shoot","createBlastParticles","color","newBlast","id","Date","now","random","prev","handleBlastComplete","blastId","filter","blast","unsubscribe","subscribe","currentBubbles","previousBubbles","length","removedBubbles","prevBubble","some","currBubble","forEach","bubble","panGesture","useMemo","Pan","onBegin","event","absoluteX","absoluteY","onUpdate","onEnd","tapGesture","Tap","onStart","composedGesture","Race","aimLineLength","aimEndX","sin","aimEndY","cos","gesture","children","style","styles","container","canvas","map","cx","cy","r","p1","p2","SHOOTER_ARROW","strokeWidth","colors","particleCount","onComplete","create","flex","areGameAreaPropsEqual","prevProps","nextProps","GameArea","memo","displayName"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","Dimensions","Gesture","GestureDetector","runOnJS","useSharedValue","withRepeat","withSpring","useDerivedValue","Canvas","Circle","Group","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_SHOOTER_COLORS","ParticleBlast","jsx","_jsx","jsxs","_jsxs","width","height","get","BubbleRenderer","memo","bubble","radius","children","cx","x","cy","y","r","color","displayName","GameAreaComponent","gameService","offset","bubbles","state","shootingBubble","shooterAngle","currentBubbleColor","nextBubbleColor","isPlaying","activeBlasts","setActiveBlasts","useState","bubbleScale","nextBubbleScale","shooterX","useMemo","shooterY","SHOOTER_Y_OFFSET","BUBBLE_RADIUS","useEffect","setShooterPosition","value","damping","stiffness","mass","animatedRadius","animatedNextRadius","handleTouchMove","useCallback","dx","dy","angle","Math","atan2","clampedAngle","max","PI","min","getState","setShooterAngle","handleTap","shoot","createBlastParticles","newBlast","id","Date","now","random","prev","handleBlastComplete","blastId","filter","blast","unsubscribe","subscribe","currentBubbles","previousBubbles","length","removedBubbles","prevBubble","some","currBubble","forEach","panGesture","Pan","onBegin","event","absoluteX","absoluteY","onUpdate","onEnd","tapGesture","Tap","onStart","composedGesture","Race","aimDots","dots","dotSpacing","numDots","i","distance","dotX","sin","dotY","cos","push","gesture","style","styles","container","canvas","map","dot","index","SHOOTER_ARROW","opacity","colors","particleCount","onComplete","create","flex","areGameAreaPropsEqual","prevProps","nextProps","GameArea"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/GameArea.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import r from"react";import{View as t,Dimensions as c}from"react-native";import{Canvas as o,LinearGradient as a,Rect as e,vec as h,Circle as n}from"@shopify/react-native-skia";import{jsx as i,jsxs as l}from"react/jsx-runtime";const{width:s,height:x}=c.get("window"),y=["#FF1493","#FF69B4","#FF6347","#FF8C00","#FFD700","#ADFF2F","#00FA9A","#00CED1","#1E90FF","#9370DB","#BA55D3","#FF1493"];export const GameBackground=r.memo(({children:c})=>{const d=r.useMemo(()=>{const r=[];for(let t=0;30>t;t++){const c=x/30*t,o=s/30*t+70*Math.sin(.8*t)+120*Math.random(),a=c+80*Math.cos(.6*t)+100*Math.random(),e=15+35*Math.random(),h=t%12,l=.2+.15*Math.sin(1.2*t),d=Math.max(e,Math.min(s-e,o)),F=Math.max(e,Math.min(x-e,a));r.push(i(n,{cx:d,cy:F,r:e,color:`${y[h]}${Math.floor(255*l).toString(16).padStart(2,"0")}`},"bubble-"+t))}return r},[]);return l(t,{style:{flex:1},children:[l(o,{style:{position:"absolute",top:0,left:0,right:0,bottom:0,width:s,height:x},children:[i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(0,0),end:h(s,x),colors:[y[0]+"35",y[4]+"30",y[6]+"35",y[8]+"30",y[10]+"35"]})}),i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(s/2,x/2),end:h(s,x),colors:[y[2]+"25","transparent",y[5]+"25","transparent",y[7]+"25","transparent"]})}),i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(.3*s,.3*x),end:h(.7*s,.7*x),colors:[y[3]+"18","transparent",y[9]+"18","transparent",y[1]+"18","transparent"]})}),d,i(n,{cx:.12*s,cy:.15*x,r:45,color:y[0]+"40"}),i(n,{cx:.88*s,cy:.85*x,r:38,color:y[4]+"40"}),i(n,{cx:.85*s,cy:.2*x,r:32,color:y[6]+"40"}),i(n,{cx:.15*s,cy:.78*x,r:50,color:y[8]+"40"}),i(n,{cx:.5*s,cy:.1*x,r:35,color:y[10]+"40"}),i(n,{cx:.18*s,cy:.48*x,r:40,color:y[2]+"40"}),i(n,{cx:.82*s,cy:.55*x,r:42,color:y[7]+"40"}),i(n,{cx:.6*s,cy:.9*x,r:30,color:y[1]+"40"}),i(n,{cx:.28*s,cy:.28*x,r:25,color:y[5]+"38"}),i(n,{cx:.68*s,cy:.38*x,r:28,color:y[9]+"38"}),i(n,{cx:.38*s,cy:.68*x,r:22,color:y[3]+"38"}),i(n,{cx:.72*s,cy:.72*x,r:26,color:y[11]+"38"}),Array.from({length:Math.floor(s/60)},(r,t)=>i(e,{x:60*t,y:0,width:1,height:x,color:"rgba(255, 255, 255, 0.05)"},"grid-v-"+t)),Array.from({length:Math.floor(x/60)},(r,t)=>i(e,{x:0,y:60*t,width:s,height:1,color:"rgba(255, 255, 255, 0.05)"},"grid-h-"+t))]}),c]})});GameBackground.displayName="GameBackground";
1
+ "use strict";import r from"react";import{View as t,Dimensions as c}from"react-native";import{Canvas as o,LinearGradient as a,Rect as e,vec as h,Circle as n}from"@shopify/react-native-skia";import{jsx as i,jsxs as l}from"react/jsx-runtime";const{width:s,height:x}=c.get("window"),y=["#FF1493","#FF69B4","#FF6347","#FF8C00","#FFD700","#ADFF2F","#00FA9A","#00CED1","#1E90FF","#9370DB","#BA55D3","#FF1493"],d=Math.floor(s/60),F=Math.floor(x/60);export const GameBackground=r.memo(({children:c})=>{const g=r.useMemo(()=>{const r=[];for(let t=0;20>t;t++){const c=x/20*t,o=s/20*t+70*Math.sin(.8*t)+120*Math.random(),a=c+80*Math.cos(.6*t)+100*Math.random(),e=15+35*Math.random(),h=t%12,l=.2+.15*Math.sin(1.2*t),d=Math.max(e,Math.min(s-e,o)),F=Math.max(e,Math.min(x-e,a));r.push(i(n,{cx:d,cy:F,r:e,color:`${y[h]}${Math.floor(255*l).toString(16).padStart(2,"0")}`},"bubble-"+t))}return r},[]);return l(t,{style:{flex:1},children:[l(o,{style:{position:"absolute",top:0,left:0,right:0,bottom:0,width:s,height:x},children:[i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(0,0),end:h(s,x),colors:[y[0]+"35",y[4]+"30",y[6]+"35",y[8]+"30",y[10]+"35"]})}),i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(s/2,x/2),end:h(s,x),colors:[y[2]+"25","transparent",y[5]+"25","transparent",y[7]+"25","transparent"]})}),i(e,{x:0,y:0,width:s,height:x,children:i(a,{start:h(.3*s,.3*x),end:h(.7*s,.7*x),colors:[y[3]+"18","transparent",y[9]+"18","transparent",y[1]+"18","transparent"]})}),g,i(n,{cx:.12*s,cy:.15*x,r:45,color:y[0]+"40"}),i(n,{cx:.88*s,cy:.85*x,r:38,color:y[4]+"40"}),i(n,{cx:.85*s,cy:.2*x,r:32,color:y[6]+"40"}),i(n,{cx:.15*s,cy:.78*x,r:50,color:y[8]+"40"}),i(n,{cx:.5*s,cy:.1*x,r:35,color:y[10]+"40"}),i(n,{cx:.18*s,cy:.48*x,r:40,color:y[2]+"40"}),i(n,{cx:.82*s,cy:.55*x,r:42,color:y[7]+"40"}),i(n,{cx:.6*s,cy:.9*x,r:30,color:y[1]+"40"}),i(n,{cx:.28*s,cy:.28*x,r:25,color:y[5]+"38"}),i(n,{cx:.68*s,cy:.38*x,r:28,color:y[9]+"38"}),i(n,{cx:.38*s,cy:.68*x,r:22,color:y[3]+"38"}),i(n,{cx:.72*s,cy:.72*x,r:26,color:y[11]+"38"}),Array.from({length:d},(r,t)=>i(e,{x:60*t,y:0,width:1,height:x,color:"rgba(255, 255, 255, 0.05)"},"grid-v-"+t)),Array.from({length:F},(r,t)=>i(e,{x:0,y:60*t,width:s,height:1,color:"rgba(255, 255, 255, 0.05)"},"grid-h-"+t))]}),c]})});GameBackground.displayName="GameBackground";
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Dimensions","Canvas","LinearGradient","Rect","vec","Circle","jsx","_jsx","jsxs","_jsxs","width","height","get","BUBBLE_COLORS","GameBackground","memo","children","generateFloatingBubbles","useMemo","elements","bubbleCount","i","baseX","baseY","x","Math","sin","random","y","cos","bubbleSize","colorIndex","length","opacity","bubbleX","max","min","bubbleY","push","cx","cy","r","color","floor","toString","padStart","style","flex","position","top","left","right","bottom","start","end","colors","Array","from","_","displayName"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Dimensions","Canvas","LinearGradient","Rect","vec","Circle","jsx","_jsx","jsxs","_jsxs","width","height","get","BUBBLE_COLORS","GRID_VERTICAL_COUNT","Math","floor","GRID_HORIZONTAL_COUNT","GameBackground","memo","children","generateFloatingBubbles","useMemo","elements","bubbleCount","i","baseX","baseY","x","sin","random","y","cos","bubbleSize","colorIndex","length","opacity","bubbleX","max","min","bubbleY","push","cx","cy","r","color","toString","padStart","style","flex","position","top","left","right","bottom","start","end","colors","Array","from","_","displayName"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import o from"react";import{Text as r,StyleSheet as e}from"react-native";import{ScoreBoardContainer as t}from"../../../helpers/index.js";import{useScore as f}from"../BubbleShooterStore.js";import{jsx as n,jsxs as i}from"react/jsx-runtime";export const ScoreBoard=o.memo(({offset:o=0})=>{const e=f();return i(t,{offset:o,backgroundColor:"rgba(255, 107, 157, 0.4)",borderColor:"rgba(255, 107, 157, 0.4)",children:[n(r,{style:c.label,children:"SCORE"}),n(r,{style:c.value,children:e})]})});ScoreBoard.displayName="ScoreBoard";const c=e.create({label:{fontSize:16,fontWeight:"bold",color:"#ffffff",marginBottom:4,letterSpacing:.5,textAlign:"center"},value:{fontSize:25,fontWeight:"bold",color:"#ffffff",textAlign:"center"}});
1
+ "use strict";import e from"react";import{View as r,Text as t,StyleSheet as o}from"react-native";import{ScoreBoardContainer as n}from"../../../helpers/index.js";import{useScore as l,useTimeRemaining as i}from"../BubbleShooterStore.js";import{jsx as c,jsxs as s}from"react/jsx-runtime";const f=e=>{const r=e%60;return`${Math.floor(e/60).toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`},a=30;export const ScoreBoard=e.memo(({offset:e=0})=>{const o=l(),m=i();return c(n,{offset:e,backgroundColor:"rgba(255, 107, 157, 0.4)",borderColor:"rgba(255, 107, 157, 0.4)",children:s(r,{style:d.row,children:[s(r,{style:d.column,children:[c(t,{style:d.label,children:"SCORE"}),c(t,{style:d.value,children:o})]}),s(r,{style:d.column,children:[c(t,{style:d.label,children:"TIME"}),c(t,{style:[d.value,a>=m&&d.warningTime],children:f(m)})]})]})})});ScoreBoard.displayName="ScoreBoard";const d=o.create({row:{flexDirection:"row",justifyContent:"space-around",alignItems:"center",width:"100%"},column:{alignItems:"center"},label:{fontSize:14,fontWeight:"bold",color:"#ffffff",marginBottom:4,letterSpacing:.5,textAlign:"center"},value:{fontSize:22,fontWeight:"bold",color:"#ffffff",textAlign:"center"},warningTime:{color:"#FF3B30"}});
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","StyleSheet","ScoreBoardContainer","useScore","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","score","backgroundColor","borderColor","children","style","styles","label","value","displayName","create","fontSize","fontWeight","color","marginBottom","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,mBAAmB,QAAQ,2BAAkB;AACtD,SAASC,QAAQ,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMjD,OAAO,MAAMC,UAAU,gBAAGT,KAAK,CAACU,IAAI,CAAC,CAAC;EAAEC,MAAM,GAAG;AAAmB,CAAC,KAAK;EACxE,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;EAExB,oBACEI,KAAA,CAACL,mBAAmB;IAClBQ,MAAM,EAAEA,MAAO;IACfE,eAAe,EAAC,0BAA0B;IAC1CC,WAAW,EAAC,0BAA0B;IAAAC,QAAA,gBAEtCT,IAAA,CAACL,IAAI;MAACe,KAAK,EAAEC,MAAM,CAACC,KAAM;MAAAH,QAAA,EAAC;IAAK,CAAM,CAAC,eACvCT,IAAA,CAACL,IAAI;MAACe,KAAK,EAAEC,MAAM,CAACE,KAAM;MAAAJ,QAAA,EAAEH;IAAK,CAAO,CAAC;EAAA,CACtB,CAAC;AAE1B,CAAC,CAAC;AAEFH,UAAU,CAACW,WAAW,GAAG,YAAY;AAErC,MAAMH,MAAM,GAAGf,UAAU,CAACmB,MAAM,CAAC;EAC/BH,KAAK,EAAE;IACLI,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAE,SAAS;IAChBC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,GAAG;IAClBC,SAAS,EAAE;EACb,CAAC;EACDR,KAAK,EAAE;IACLG,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAE,SAAS;IAChBG,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","ScoreBoardContainer","useScore","useTimeRemaining","jsx","_jsx","jsxs","_jsxs","formatTime","seconds","mins","Math","floor","secs","toString","padStart","WARNING_THRESHOLD","ScoreBoard","memo","offset","score","timeRemaining","backgroundColor","borderColor","children","style","styles","row","column","label","value","warningTime","displayName","create","flexDirection","justifyContent","alignItems","width","fontSize","fontWeight","color","marginBottom","letterSpacing","textAlign"],"sourceRoot":"../../../../../src","sources":["games/bubble-shooter/components/ScoreBoard.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import t from"react";import{View as r,StyleSheet as o}from"react-native";import{GameControlButton as e,GameOverModal as n,GameSettingsModal as s}from"../../helpers/index.js";import{GAME_IDS as a,DEFAULT_GAME_SETTINGS as i}from"../../services/UtilsService.js";import{GameBackground as m,GameGrid as f,ScoreBoard as C}from"./components/index.js";import{useCandyCrushStore as c,useScore as l,useIsPlaying as u,useIsGameOver as d}from"./CandyCrushStore.js";import{CANDY_CRUSH_COLORS as g}from"./CandyCrushConstants.js";import{jsx as p,jsxs as h}from"react/jsx-runtime";export const CandyCrush=t.memo(({settings:o,onSettingsChange:y,onEndGame:b})=>{const j=l(),S=u(),B=d(),v=t.useRef(!1),G=t.useCallback(t=>{b&&!v.current&&(b({status:t,score:j.toString()}),v.current=!0)},[b,j]),T=c(t=>t.startGame),F=c(t=>t.stopGame),I=c(t=>t.resetGame),A=c(t=>t.initializeGame),P=c(t=>t.updateSettings);t.useEffect(()=>{P(o?.enableSounds??!0,o?.enableHaptics??!0)},[o?.enableSounds,o?.enableHaptics,P]),t.useEffect(()=>{A(o?.difficulty||"easy")},[o?.difficulty,A]),t.useEffect(()=>{B&&!v.current&&G("win"),B||(v.current=!1)},[B,G]);const w=t.useCallback(()=>{v.current=!1,T()},[T]),z=t.useCallback(()=>{I()},[I]),E=t.useCallback(()=>{G("cancel"),F()},[F,G]),M=t.useMemo(()=>({isPlaying:S,gameOver:B,onStartGame:w,onStopGame:E,onResetGame:z,startButtonText:"Start Crushing!",startButtonSubtext:"Match 3 or more",startButtonColor:g.BUTTON_PRIMARY,startButtonBorderColor:g.BUTTON_SECONDARY}),[S,B,w,E,z]),O=t.useMemo(()=>({isVisible:B,score:j,onPlayAgain:z,buttonText:"Crush Again!",primaryColor:"rgba(255, 149, 0, 0.5)",borderColor:"rgba(255, 149, 0, 0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#FF9500",scoreFormatter:t=>""+t}),[B,j,z]),R=t.useMemo(()=>({gameId:a.CANDY_CRUSH,settings:o||i,onSettingsChange:y}),[o,y]),U=o?.offset??0,V=t.useMemo(()=>({gridContainer:{...x.gridContainer,paddingTop:U}}),[U]);return p(m,{children:h(r,{style:x.container,children:[p(r,{style:V.gridContainer,children:p(f,{})}),p(C,{offset:U}),p(e,{...M}),p(n,{...O}),p(s,{...R})]})})});CandyCrush.displayName="CandyCrush";const x=o.create({container:{flex:1},gridContainer:{flex:1,justifyContent:"center",alignItems:"center"},scoreboardContainer:{position:"absolute",top:0,left:0,right:0,zIndex:10}});
1
+ "use strict";import o from"react";import{View as r,StyleSheet as t}from"react-native";import{GameControlButton as e,GameOverModal as n,GameSettingsModal as s}from"../../helpers/index.js";import{GAME_IDS as a,DEFAULT_GAME_SETTINGS as i}from"../../services/UtilsService.js";import{GameBackground as m,GameGrid as f,ScoreBoard as d}from"./components/index.js";import{useCandyCrushStore as C,useScore as c,useIsPlaying as l,useIsGameOver as u}from"./CandyCrushStore.js";import{CANDY_CRUSH_COLORS as g}from"./CandyCrushConstants.js";import{jsx as h,jsxs as p}from"react/jsx-runtime";export const CandyCrush=o.memo(({settings:t,onSettingsChange:x,onEndGame:y,onShare:S,onShowLeaderboard:j})=>{const v=c(),w=l(),B=u(),F=o.useRef(!1),G=o.useCallback(o=>{y&&!F.current&&(y({status:o,score:v.toString()}),F.current=!0)},[y,v]),I=C(o=>o.startGame),T=C(o=>o.stopGame),A=C(o=>o.resetGame),L=C(o=>o.initializeGame),P=C(o=>o.updateSettings);o.useEffect(()=>{P(t?.enableSounds??!0,t?.enableHaptics??!0)},[t?.enableSounds,t?.enableHaptics,P]),o.useEffect(()=>{L(t?.difficulty||"easy")},[t?.difficulty,L]),o.useEffect(()=>{B&&!F.current&&G("win"),B||(F.current=!1)},[B,G]);const z=o.useCallback(()=>{F.current=!1,I()},[I]),E=o.useCallback(()=>{A()},[A]),M=o.useCallback(()=>{G("cancel"),T()},[T,G]),O=o.useMemo(()=>({isPlaying:w,gameOver:B,onStartGame:z,onStopGame:M,onShare:S,onShowLeaderboard:j,startButtonSubtext:"Match 3 or more",buttonColor:g.BUTTON_PRIMARY,buttonBorderColor:g.BUTTON_SECONDARY}),[w,B,z,M,S,j]),U=o.useMemo(()=>({isVisible:B,score:v,onPlayAgain:E,buttonText:"Crush Again!",primaryColor:"rgba(255, 149, 0, 0.5)",borderColor:"rgba(255, 149, 0, 0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#FF9500",scoreFormatter:o=>""+o}),[B,v,E]),V=o.useMemo(()=>({gameId:a.CANDY_CRUSH,settings:t||i,onSettingsChange:x}),[t,x]),k=t?.offset??0,q=o.useMemo(()=>({gridContainer:{...b.gridContainer,paddingTop:k}}),[k]);return h(m,{children:p(r,{style:b.container,children:[h(r,{style:q.gridContainer,children:h(f,{})}),h(d,{offset:k}),h(e,{...O}),h(n,{...U}),h(s,{...V})]})})});CandyCrush.displayName="CandyCrush";const b=t.create({container:{flex:1},gridContainer:{flex:1,justifyContent:"center",alignItems:"center"},scoreboardContainer:{position:"absolute",top:0,left:0,right:0,zIndex:10}});
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","GameControlButton","GameOverModal","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","GameBackground","GameGrid","ScoreBoard","useCandyCrushStore","useScore","useIsPlaying","useIsGameOver","CANDY_CRUSH_COLORS","jsx","_jsx","jsxs","_jsxs","CandyCrush","memo","settings","onSettingsChange","onEndGame","score","isPlaying","isGameOver","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","startGame","state","stopGame","resetGame","initializeGame","updateSettings","useEffect","enableSounds","enableHaptics","difficulty","handleStartGame","handleResetGame","handleStopGame","gameControlButtonProps","useMemo","gameOver","onStartGame","onStopGame","onResetGame","startButtonText","startButtonSubtext","startButtonColor","BUTTON_PRIMARY","startButtonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","scoreFormatter","s","gameSettingsModalProps","gameId","CANDY_CRUSH","offset","dynamicStyles","gridContainer","styles","paddingTop","children","style","container","displayName","create","flex","justifyContent","alignItems","scoreboardContainer","position","top","left","right","zIndex"],"sourceRoot":"../../../../src","sources":["games/candy-crush/CandyCrush.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","GameControlButton","GameOverModal","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","GameBackground","GameGrid","ScoreBoard","useCandyCrushStore","useScore","useIsPlaying","useIsGameOver","CANDY_CRUSH_COLORS","jsx","_jsx","jsxs","_jsxs","CandyCrush","memo","settings","onSettingsChange","onEndGame","onShare","onShowLeaderboard","score","isPlaying","isGameOver","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","startGame","state","stopGame","resetGame","initializeGame","updateSettings","useEffect","enableSounds","enableHaptics","difficulty","handleStartGame","handleResetGame","handleStopGame","gameControlButtonProps","useMemo","gameOver","onStartGame","onStopGame","startButtonSubtext","buttonColor","BUTTON_PRIMARY","buttonBorderColor","BUTTON_SECONDARY","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonTextColor","scoreFormatter","s","gameSettingsModalProps","gameId","CANDY_CRUSH","offset","dynamicStyles","gridContainer","styles","paddingTop","children","style","container","displayName","create","flex","justifyContent","alignItems","scoreboardContainer","position","top","left","right","zIndex"],"sourceRoot":"../../../../src","sources":["games/candy-crush/CandyCrush.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";export const CANDY_CRUSH_GAME_CONFIG={GRID_SIZE:8,CANDY_TYPES:6,MIN_MATCH:3,ANIMATION_DURATION:300,FALL_DURATION:400,SWAP_DURATION:200,POINTS_PER_CANDY:10,COMBO_MULTIPLIER:1.5,SPECIAL_CANDY_THRESHOLD:4};export const CANDY_COLORS=["#FF3B30","#34C759","#007AFF","#FFCC00","#9D4EDD","#FF6B9D"];export const CANDY_TYPES={NORMAL:"normal",STRIPED_HORIZONTAL:"striped_h",STRIPED_VERTICAL:"striped_v",WRAPPED:"wrapped",COLOR_BOMB:"color_bomb"};export const CANDY_CRUSH_COLORS={BACKGROUND:"#2C3E50",GRID_BACKGROUND:"rgba(255, 149, 0, 0.1)",GRID_BORDER:"rgba(255, 149, 0, 0.3)",SELECTED:"rgba(255, 149, 0, 0.5)",BUTTON_PRIMARY:"#FF9500",BUTTON_SECONDARY:"#E68600",SCORE_BACKGROUND:"rgba(255, 149, 0, 0.4)",SCORE_TEXT:"#FFFFFF",TIME_GOOD:"#FF9500",TIME_WARNING:"#FF9500",TIME_CRITICAL:"#FF9500",COMBO_TEXT:"#FF9500",MODAL_PRIMARY:"rgba(255, 149, 0, 0.95)",MODAL_BORDER:"rgba(230, 134, 0, 0.9)",MODAL_BUTTON:"#FF9500",MODAL_BUTTON_BORDER:"#E68600"};export const DIFFICULTY_CONFIG={easy:{gameDuration:60,candyTypes:4},medium:{gameDuration:180,candyTypes:5},hard:{gameDuration:300,candyTypes:6}};export const CANDY_CRUSH_SOUNDS={MATCH:{text:"Pop!",pitch:1.2,rate:1.5},SWAP:{text:"Swap",pitch:1,rate:1.8},SPECIAL:{text:"Boom!",pitch:1.5,rate:2},COMBO:{text:"Combo!",pitch:1.8,rate:2.2},WIN:{text:"Victory!",pitch:1.6,rate:1.8},LOSE:{text:"Game Over",pitch:.8,rate:1.2}};export const CANDY_CRUSH_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#FF9500",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(255, 149, 0, 0.15)",sectionTitleColor:"#FF9500",buttonSelectedColor:"#FF9500",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(255, 149, 0, 0.3)",switchTrackColorTrue:"#FF9500",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS={easy:"1 minute \u2022 4 candy types",medium:"3 minutes \u2022 5 candy types",hard:"5 minutes \u2022 6 candy types"};
1
+ "use strict";export const CANDY_CRUSH_GAME_CONFIG={GRID_SIZE:8,CANDY_TYPES:6,MIN_MATCH:3,ANIMATION_DURATION:300,FALL_DURATION:400,SWAP_DURATION:200,POINTS_PER_CANDY:10,COMBO_MULTIPLIER:1.5,SPECIAL_CANDY_THRESHOLD:4};export const CANDY_COLORS=["#FF3B30","#34C759","#007AFF","#FFCC00","#00D4FF","#FFFFFF"];export const CANDY_TYPES={NORMAL:"normal",STRIPED_HORIZONTAL:"striped_h",STRIPED_VERTICAL:"striped_v",WRAPPED:"wrapped",COLOR_BOMB:"color_bomb"};export const CANDY_CRUSH_COLORS={BACKGROUND:"#2C3E50",GRID_BACKGROUND:"rgba(255, 149, 0, 0.1)",GRID_BORDER:"rgba(255, 149, 0, 0.3)",SELECTED:"rgba(255, 149, 0, 0.5)",BUTTON_PRIMARY:"#FF9500",BUTTON_SECONDARY:"#E68600",SCORE_BACKGROUND:"rgba(255, 149, 0, 0.4)",SCORE_TEXT:"#FFFFFF",TIME_GOOD:"#FF9500",TIME_WARNING:"#FF9500",TIME_CRITICAL:"#FF9500",COMBO_TEXT:"#FF9500",MODAL_PRIMARY:"rgba(255, 149, 0, 0.95)",MODAL_BORDER:"rgba(230, 134, 0, 0.9)",MODAL_BUTTON:"#FF9500",MODAL_BUTTON_BORDER:"#E68600"};export const DIFFICULTY_CONFIG={easy:{gameDuration:60,candyTypes:4},medium:{gameDuration:180,candyTypes:5},hard:{gameDuration:300,candyTypes:6}};export const CANDY_CRUSH_SOUNDS={MATCH:{text:"Pop!",pitch:1.2,rate:1.5},SWAP:{text:"Swap",pitch:1,rate:1.8},SPECIAL:{text:"Boom!",pitch:1.5,rate:2},COMBO:{text:"Combo!",pitch:1.8,rate:2.2},WIN:{text:"Victory!",pitch:1.6,rate:1.8},LOSE:{text:"Game Over",pitch:.8,rate:1.2}};export const CANDY_CRUSH_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#FF9500",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(255, 149, 0, 0.15)",sectionTitleColor:"#FF9500",buttonSelectedColor:"#FF9500",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(255, 149, 0, 0.3)",switchTrackColorTrue:"#FF9500",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS={easy:"1 minute \u2022 4 candy types",medium:"3 minutes \u2022 5 candy types",hard:"5 minutes \u2022 6 candy types"};
@@ -1 +1 @@
1
- "use strict";import{create as e}from"zustand";import{subscribeWithSelector as s}from"zustand/middleware";import{CandyCrushService as t}from"./CandyCrushService.js";import{CANDY_CRUSH_GAME_CONFIG as n,DIFFICULTY_CONFIG as o,CANDY_CRUSH_SOUNDS as r}from"./CandyCrushConstants.js";import{immerMiddleware as a}from"../../services/UtilsService.js";import{playSound as i}from"../../services/SoundsService.js";import{playHaptic as u,HapticType as c}from"../../services/HapticsService.js";const l=new t;export const useCandyCrushStore=e()(s(a((e,s)=>({grid:l.createGrid(),score:0,timeRemaining:180,gameDuration:180,isPlaying:!1,isGameOver:!1,selectedCandy:null,isProcessing:!1,difficulty:"easy",candyTypes:4,enableSounds:!0,enableHaptics:!0,comboCount:0,gameTimer:null,matchedCandyIds:new Set,fallingCandyIds:new Set,startGame:()=>{const t=s();t.gameTimer&&clearInterval(t.gameTimer),i(r.SWAP,t.enableSounds),u(c.MEDIUM,t.enableHaptics);const n=setInterval(()=>{const t=s();t.timeRemaining>0&&t.isPlaying&&e(e=>{e.timeRemaining--,30===e.timeRemaining&&(i(r.SPECIAL,e.enableSounds),u(c.MEDIUM,e.enableHaptics)),10===e.timeRemaining&&(i(r.SPECIAL,e.enableSounds),u(c.HEAVY,e.enableHaptics)),e.timeRemaining>0||(e.isGameOver=!0,e.isPlaying=!1,e.gameTimer&&(clearInterval(e.gameTimer),e.gameTimer=null),i(r.LOSE,e.enableSounds),u(c.HEAVY,e.enableHaptics))})},1e3);e(e=>{e.isPlaying=!0,e.gameTimer=n})},stopGame:()=>{const e=s();e.gameTimer&&clearInterval(e.gameTimer),i(r.LOSE,e.enableSounds),u(c.MEDIUM,e.enableHaptics),e.initializeGame(e.difficulty)},resetGame:()=>{const e=s();e.initializeGame(e.difficulty),e.startGame()},initializeGame:(t="easy")=>{const n=s();n.gameTimer&&clearInterval(n.gameTimer),e(e=>{const s=o[t];l.resetIdCounter(),e.grid=l.initializeGrid(s.candyTypes),e.score=0,e.timeRemaining=s.gameDuration,e.gameDuration=s.gameDuration,e.isPlaying=!1,e.isGameOver=!1,e.selectedCandy=null,e.isProcessing=!1,e.difficulty=t,e.candyTypes=s.candyTypes,e.comboCount=0,e.gameTimer=null,e.matchedCandyIds=new Set,e.fallingCandyIds=new Set})},selectCandy:t=>{const o=s();o.isProcessing||!o.isPlaying||o.isGameOver||e(e=>{if(e.selectedCandy)if(e.selectedCandy.id===t.id)e.selectedCandy=null;else if(l.canSwap(e.selectedCandy,t)){const o=e.selectedCandy,a=t;l.swapCandies(e.grid,o,a),new Set([o.row,a.row]).forEach(s=>{e.grid[s]&&(e.grid[s]=[...e.grid[s]])}),l.findMatches(e.grid).hasMatches?(e.selectedCandy=null,e.isProcessing=!0,i(r.SWAP,e.enableSounds),u(c.MEDIUM,e.enableHaptics),setTimeout(()=>{s().processMatches()},n.SWAP_DURATION)):(l.swapCandies(e.grid,o,a),e.selectedCandy=null,new Set([o.row,a.row]).forEach(s=>{e.grid[s]&&(e.grid[s]=[...e.grid[s]])}),i(r.SWAP,e.enableSounds),u(c.LIGHT,e.enableHaptics))}else e.selectedCandy=t,i(r.SWAP,e.enableSounds),u(c.LIGHT,e.enableHaptics);else e.selectedCandy=t,i(r.SWAP,e.enableSounds),u(c.LIGHT,e.enableHaptics)})},processMatches:async()=>{let t=!0,o=0;for(;t;){const a=s(),d=l.findMatches(a.grid);if(!d.hasMatches){t=!1;break}o++;const m=d.score,C=o>1?Math.pow(n.COMBO_MULTIPLIER,o-1):1,S=Math.floor(m*C);e(e=>{e.score+=S,e.comboCount=o}),o>1?(i(r.COMBO,a.enableSounds),u(c.HEAVY,a.enableHaptics)):(i(r.MATCH,a.enableSounds),u(c.MEDIUM,a.enableHaptics)),e(e=>{e.matchedCandyIds=new Set(d.matches.map(e=>e.id))}),await new Promise(e=>setTimeout(e,n.ANIMATION_DURATION)),e(e=>{e.matchedCandyIds=new Set;const s=new Set;d.matches.forEach(e=>s.add(e.row));const t=e.grid.map(e=>e.map(e=>e?.id).join(","));l.removeMatches(e.grid,d.matches),l.applyGravity(e.grid),l.fillEmptySpaces(e.grid,a.candyTypes);const n=new Set;e.grid.forEach(e=>{e.forEach(e=>{e&&e.isFalling&&n.add(e.id)})}),e.fallingCandyIds=n,e.grid.forEach((s,n)=>{const o=s.map(e=>e?.id).join(",");t[n]!==o&&(e.grid[n]=[...s])})}),await new Promise(e=>setTimeout(e,n.FALL_DURATION))}e(e=>{e.isProcessing=!1,e.comboCount=0,e.matchedCandyIds=new Set,e.fallingCandyIds=new Set})},updateSettings:(s,t)=>{e(e=>{e.enableSounds=s,e.enableHaptics=t})}}))));export const useGrid=()=>useCandyCrushStore(e=>e.grid);export const useScore=()=>useCandyCrushStore(e=>e.score);export const useTimeRemaining=()=>useCandyCrushStore(e=>e.timeRemaining);export const useGameDuration=()=>useCandyCrushStore(e=>e.gameDuration);export const useIsPlaying=()=>useCandyCrushStore(e=>e.isPlaying);export const useIsGameOver=()=>useCandyCrushStore(e=>e.isGameOver);export const useSelectedCandy=()=>useCandyCrushStore(e=>e.selectedCandy);export const useComboCount=()=>useCandyCrushStore(e=>e.comboCount);export const useMatchedCandyIds=()=>useCandyCrushStore(e=>e.matchedCandyIds);export const useFallingCandyIds=()=>useCandyCrushStore(e=>e.fallingCandyIds);
1
+ "use strict";import{create as e}from"zustand";import{subscribeWithSelector as s}from"zustand/middleware";import{CandyCrushService as t}from"./CandyCrushService.js";import{CANDY_CRUSH_GAME_CONFIG as n,DIFFICULTY_CONFIG as r,CANDY_CRUSH_SOUNDS as o}from"./CandyCrushConstants.js";import{immerMiddleware as a}from"../../services/UtilsService.js";import{playSound as c}from"../../services/SoundsService.js";import{playHaptic as i,HapticType as u}from"../../services/HapticsService.js";const l=new t;export const useCandyCrushStore=e()(s(a((e,s)=>({grid:l.createGrid(),score:0,timeRemaining:180,gameDuration:180,isPlaying:!1,isGameOver:!1,selectedCandy:null,isProcessing:!1,difficulty:"easy",candyTypes:4,enableSounds:!0,enableHaptics:!0,comboCount:0,gameTimer:null,matchedCandyIds:new Set,fallingCandyIds:new Set,clearingCells:[],startGame:()=>{const t=s();t.gameTimer&&clearInterval(t.gameTimer),c(o.SWAP,t.enableSounds),i(u.MEDIUM,t.enableHaptics);const n=setInterval(()=>{const t=s();t.timeRemaining>0&&t.isPlaying&&e(e=>{e.timeRemaining--,30===e.timeRemaining&&(c(o.SPECIAL,e.enableSounds),i(u.MEDIUM,e.enableHaptics)),10===e.timeRemaining&&(c(o.SPECIAL,e.enableSounds),i(u.HEAVY,e.enableHaptics)),e.timeRemaining>0||(e.isGameOver=!0,e.isPlaying=!1,e.gameTimer&&(clearInterval(e.gameTimer),e.gameTimer=null),c(o.LOSE,e.enableSounds),i(u.HEAVY,e.enableHaptics))})},1e3);e(e=>{e.isPlaying=!0,e.gameTimer=n})},stopGame:()=>{const e=s();e.gameTimer&&clearInterval(e.gameTimer),c(o.LOSE,e.enableSounds),i(u.MEDIUM,e.enableHaptics),e.initializeGame(e.difficulty)},resetGame:()=>{const e=s();e.initializeGame(e.difficulty),e.startGame()},initializeGame:(t="easy")=>{const n=s();n.gameTimer&&clearInterval(n.gameTimer),e(e=>{const s=r[t];l.resetIdCounter(),e.grid=l.initializeGrid(s.candyTypes),e.score=0,e.timeRemaining=s.gameDuration,e.gameDuration=s.gameDuration,e.isPlaying=!1,e.isGameOver=!1,e.selectedCandy=null,e.isProcessing=!1,e.difficulty=t,e.candyTypes=s.candyTypes,e.comboCount=0,e.gameTimer=null,e.matchedCandyIds=new Set,e.fallingCandyIds=new Set,e.clearingCells=[]})},selectCandy:t=>{const r=s();r.isProcessing||!r.isPlaying||r.isGameOver||e(e=>{if(e.selectedCandy)if(e.selectedCandy.id===t.id)e.selectedCandy=null;else if(l.canSwap(e.selectedCandy,t)){const r=e.selectedCandy,a=t;l.swapCandies(e.grid,r,a),new Set([r.row,a.row]).forEach(s=>{e.grid[s]&&(e.grid[s]=[...e.grid[s]])}),l.findMatches(e.grid).hasMatches?(e.selectedCandy=null,e.isProcessing=!0,c(o.SWAP,e.enableSounds),i(u.MEDIUM,e.enableHaptics),setTimeout(()=>{s().processMatches()},n.SWAP_DURATION)):(l.swapCandies(e.grid,r,a),e.selectedCandy=null,new Set([r.row,a.row]).forEach(s=>{e.grid[s]&&(e.grid[s]=[...e.grid[s]])}),c(o.SWAP,e.enableSounds),i(u.LIGHT,e.enableHaptics))}else e.selectedCandy=t,c(o.SWAP,e.enableSounds),i(u.LIGHT,e.enableHaptics);else e.selectedCandy=t,c(o.SWAP,e.enableSounds),i(u.LIGHT,e.enableHaptics)})},processMatches:async()=>{let t=!0,r=0;for(;t;){const a=s(),C=l.findMatches(a.grid);if(!C.hasMatches){t=!1;break}r++;const d=C.score,m=r>1?Math.pow(n.COMBO_MULTIPLIER,r-1):1,S=Math.floor(d*m);e(e=>{e.score+=S,e.comboCount=r}),r>1?(c(o.COMBO,a.enableSounds),i(u.HEAVY,a.enableHaptics)):(c(o.MATCH,a.enableSounds),i(u.MEDIUM,a.enableHaptics)),e(e=>{e.matchedCandyIds=new Set(C.matches.map(e=>e.id)),e.clearingCells=C.matches.map(e=>({row:e.row,col:e.col,color:l.getCandyColor(e.type)}))}),await new Promise(e=>setTimeout(e,n.ANIMATION_DURATION)),e(e=>{e.matchedCandyIds=new Set;const s=new Set;C.matches.forEach(e=>s.add(e.row));const t=e.grid.map(e=>e.map(e=>e?.id).join(","));l.removeMatches(e.grid,C.matches),l.applyGravity(e.grid),l.fillEmptySpaces(e.grid,a.candyTypes);const n=new Set;e.grid.forEach(e=>{e.forEach(e=>{e&&e.isFalling&&n.add(e.id)})}),e.fallingCandyIds=n,e.grid.forEach((s,n)=>{const r=s.map(e=>e?.id).join(",");t[n]!==r&&(e.grid[n]=[...s])})}),await new Promise(e=>setTimeout(e,n.FALL_DURATION))}e(e=>{e.isProcessing=!1,e.comboCount=0,e.matchedCandyIds=new Set,e.fallingCandyIds=new Set})},updateSettings:(s,t)=>{e(e=>{e.enableSounds=s,e.enableHaptics=t})},clearClearingCells:()=>{e(e=>{e.clearingCells=[]})}}))));export const useGrid=()=>useCandyCrushStore(e=>e.grid);export const useScore=()=>useCandyCrushStore(e=>e.score);export const useTimeRemaining=()=>useCandyCrushStore(e=>e.timeRemaining);export const useGameDuration=()=>useCandyCrushStore(e=>e.gameDuration);export const useIsPlaying=()=>useCandyCrushStore(e=>e.isPlaying);export const useIsGameOver=()=>useCandyCrushStore(e=>e.isGameOver);export const useSelectedCandy=()=>useCandyCrushStore(e=>e.selectedCandy);export const useComboCount=()=>useCandyCrushStore(e=>e.comboCount);export const useMatchedCandyIds=()=>useCandyCrushStore(e=>e.matchedCandyIds);export const useFallingCandyIds=()=>useCandyCrushStore(e=>e.fallingCandyIds);export const useClearingCells=()=>useCandyCrushStore(e=>e.clearingCells);