react-native-games 1.4.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 (508) 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/balloon-blaster/components/index.js +1 -1
  18. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  19. package/lib/module/games/bike-racing/BikeRacing.js.map +1 -1
  20. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  21. package/lib/module/games/bike-racing/BikeRacingService.js +1 -1
  22. package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -1
  23. package/lib/module/games/bike-racing/BikeRacingStore.js +1 -1
  24. package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -1
  25. package/lib/module/games/bike-racing/components/BikeComponent.js +1 -1
  26. package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -1
  27. package/lib/module/games/bike-racing/components/GameBackground.js +1 -1
  28. package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -1
  29. package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -1
  30. package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -1
  31. package/lib/module/games/bike-racing/components/index.js +1 -1
  32. package/lib/module/games/bike-racing/index.js +1 -1
  33. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  34. package/lib/module/games/block-blast/BlockBlast.js.map +1 -1
  35. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  36. package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -1
  37. package/lib/module/games/block-blast/BlockBlastService.js +1 -1
  38. package/lib/module/games/block-blast/BlockBlastService.js.map +1 -1
  39. package/lib/module/games/block-blast/BlockBlastStore.js +1 -1
  40. package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -1
  41. package/lib/module/games/block-blast/components/BlastAnimation.js +1 -0
  42. package/lib/module/games/block-blast/components/BlastAnimation.js.map +1 -0
  43. package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -1
  44. package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -1
  45. package/lib/module/games/block-blast/components/GameArea.js +1 -1
  46. package/lib/module/games/block-blast/components/GameArea.js.map +1 -1
  47. package/lib/module/games/block-blast/components/GameBackground.js +1 -1
  48. package/lib/module/games/block-blast/components/GameBackground.js.map +1 -1
  49. package/lib/module/games/block-blast/components/GridComponent.js +1 -1
  50. package/lib/module/games/block-blast/components/GridComponent.js.map +1 -1
  51. package/lib/module/games/block-blast/components/ScoreBoard.js +1 -1
  52. package/lib/module/games/block-blast/components/index.js +1 -1
  53. package/lib/module/games/block-blast/index.js +1 -1
  54. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  55. package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -1
  56. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  57. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -1
  58. package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -1
  59. package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -1
  60. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -1
  61. package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -1
  62. package/lib/module/games/bubble-shooter/components/GameArea.js +1 -1
  63. package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -1
  64. package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -1
  65. package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -1
  66. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -1
  67. package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -1
  68. package/lib/module/games/bubble-shooter/components/index.js +1 -1
  69. package/lib/module/games/bubble-shooter/index.js +1 -1
  70. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  71. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  72. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  73. package/lib/module/games/candy-crush/CandyCrushService.js +1 -1
  74. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -1
  75. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -1
  76. package/lib/module/games/candy-crush/components/BlastAnimation.js +1 -0
  77. package/lib/module/games/candy-crush/components/BlastAnimation.js.map +1 -0
  78. package/lib/module/games/candy-crush/components/CandyItem.js +1 -1
  79. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -1
  80. package/lib/module/games/candy-crush/components/GameBackground.js +1 -1
  81. package/lib/module/games/candy-crush/components/GameGrid.js +1 -1
  82. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -1
  83. package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -1
  84. package/lib/module/games/candy-crush/components/index.js +1 -1
  85. package/lib/module/games/candy-crush/components/index.js.map +1 -1
  86. package/lib/module/games/candy-crush/index.js +1 -1
  87. package/lib/module/games/car-racing/CarRacing.js +1 -1
  88. package/lib/module/games/car-racing/CarRacing.js.map +1 -1
  89. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  90. package/lib/module/games/car-racing/CarRacingService.js +1 -1
  91. package/lib/module/games/car-racing/CarRacingService.js.map +1 -1
  92. package/lib/module/games/car-racing/CarRacingStore.js +1 -1
  93. package/lib/module/games/car-racing/CarRacingStore.js.map +1 -1
  94. package/lib/module/games/car-racing/components/CarComponent.js +1 -1
  95. package/lib/module/games/car-racing/components/CarComponent.js.map +1 -1
  96. package/lib/module/games/car-racing/components/GameBackground.js +1 -1
  97. package/lib/module/games/car-racing/components/GameBackground.js.map +1 -1
  98. package/lib/module/games/car-racing/components/ScoreBoard.js +1 -1
  99. package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -1
  100. package/lib/module/games/car-racing/components/index.js +1 -1
  101. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  102. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  103. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  104. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  105. package/lib/module/games/colors-sort/ColorsSortService.js +1 -1
  106. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -1
  107. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  108. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -1
  109. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -1
  110. package/lib/module/games/colors-sort/components/GameBackground.js +1 -1
  111. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -1
  112. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -1
  113. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/colors-sort/components/index.js +1 -1
  115. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  116. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  117. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  118. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  119. package/lib/module/games/dino-jump/DinoJumpService.js +1 -1
  120. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -1
  121. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -1
  122. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -1
  123. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -1
  124. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  125. package/lib/module/games/dino-jump/components/GameArea.js +1 -1
  126. package/lib/module/games/dino-jump/components/GameBackground.js +1 -1
  127. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -1
  128. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -1
  129. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -1
  130. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -1
  131. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  132. package/lib/module/games/dino-jump/components/StarSprite.js +1 -1
  133. package/lib/module/games/dino-jump/components/index.js +1 -1
  134. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  135. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  136. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  137. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  138. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -1
  139. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -1
  140. package/lib/module/games/flappy-bird/components/Bird.js +1 -1
  141. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -1
  142. package/lib/module/games/flappy-bird/components/GameArea.js +1 -1
  143. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -1
  144. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -1
  145. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -1
  146. package/lib/module/games/flappy-bird/components/Pipes.js +1 -1
  147. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -1
  148. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -1
  149. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -1
  150. package/lib/module/games/flappy-bird/components/index.js +1 -1
  151. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  152. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  153. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  154. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  155. package/lib/module/games/fruit-merger/FruitMergerService.js +1 -1
  156. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -1
  157. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -1
  158. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -1
  159. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -1
  160. package/lib/module/games/fruit-merger/components/GameArea.js +1 -1
  161. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -1
  162. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -1
  163. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -1
  164. package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -1
  165. package/lib/module/games/fruit-merger/components/index.js +1 -1
  166. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  167. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  168. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  169. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  170. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -1
  171. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -1
  172. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  173. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  174. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -1
  175. package/lib/module/games/fruit-ninja/components/FruitComponent.js.map +1 -1
  176. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  177. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  178. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1
  179. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  180. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -1
  181. package/lib/module/games/fruit-ninja/components/index.js +1 -1
  182. package/lib/module/games/game-2048/Game2048.js +1 -1
  183. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  184. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  185. package/lib/module/games/game-2048/Game2048Service.js +1 -1
  186. package/lib/module/games/game-2048/Game2048Store.js +1 -1
  187. package/lib/module/games/game-2048/Game2048Store.js.map +1 -1
  188. package/lib/module/games/game-2048/components/GameBackground.js +1 -1
  189. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -1
  190. package/lib/module/games/game-2048/components/GameGrid.js +1 -1
  191. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -1
  192. package/lib/module/games/game-2048/components/GameTile.js +1 -1
  193. package/lib/module/games/game-2048/components/GameTile.js.map +1 -1
  194. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -1
  195. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -1
  196. package/lib/module/games/game-2048/components/index.js +1 -1
  197. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  198. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  199. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  200. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  201. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -1
  202. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  203. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -1
  204. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  205. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -1
  206. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  207. package/lib/module/games/maze-runner/components/GameBackground.js +1 -1
  208. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -1
  209. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -1
  210. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  211. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -1
  212. package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -1
  213. package/lib/module/games/maze-runner/components/WallComponent.js +1 -1
  214. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  215. package/lib/module/games/maze-runner/components/index.js +1 -1
  216. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  217. package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -1
  218. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  219. package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -1
  220. package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -1
  221. package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -1
  222. package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -1
  223. package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -1
  224. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -1
  225. package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -1
  226. package/lib/module/games/perfect-circle/components/GameBackground.js +1 -1
  227. package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -1
  228. package/lib/module/games/perfect-circle/components/ScoreBoard.js +1 -1
  229. package/lib/module/games/perfect-circle/index.js +1 -1
  230. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  231. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  232. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  233. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -1
  234. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -1
  235. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -1
  236. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  237. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -1
  238. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -1
  239. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -1
  240. package/lib/module/games/popit-fidget/components/FidgetGrid.js.map +1 -1
  241. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -1
  242. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -1
  243. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -1
  244. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  245. package/lib/module/games/popit-fidget/components/index.js +1 -1
  246. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  247. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  248. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  249. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -1
  250. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -1
  251. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -1
  252. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -1
  253. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -1
  254. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -1
  255. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -1
  256. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -1
  257. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -1
  258. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -1
  259. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -1
  260. package/lib/module/games/sliding-numbers/components/index.js +1 -1
  261. package/lib/module/games/snake/Snake.js +1 -1
  262. package/lib/module/games/snake/Snake.js.map +1 -1
  263. package/lib/module/games/snake/SnakeConstants.js +1 -1
  264. package/lib/module/games/snake/SnakeService.js +1 -1
  265. package/lib/module/games/snake/SnakeStore.js +1 -1
  266. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  267. package/lib/module/games/snake/components/GameBackground.js +1 -1
  268. package/lib/module/games/snake/components/GameBackground.js.map +1 -1
  269. package/lib/module/games/snake/components/GameGrid.js +1 -1
  270. package/lib/module/games/snake/components/GameGrid.js.map +1 -1
  271. package/lib/module/games/snake/components/ScoreBoard.js +1 -1
  272. package/lib/module/games/snake/components/index.js +1 -1
  273. package/lib/module/games/snake/index.js +1 -1
  274. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  275. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  276. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  277. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  278. package/lib/module/games/space-fighter/SpaceFighterService.js +1 -1
  279. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -1
  280. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  281. package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -1
  282. package/lib/module/games/space-fighter/components/GameArea.js +1 -1
  283. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  284. package/lib/module/games/space-fighter/components/GameBackground.js +1 -1
  285. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -1
  286. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -1
  287. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  288. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -1
  289. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -1
  290. package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -1
  291. package/lib/module/games/space-fighter/components/index.js +1 -1
  292. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  293. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  294. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  295. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  296. package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -1
  297. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  298. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -1
  299. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -1
  300. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  301. package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -1
  302. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -1
  303. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -1
  304. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -1
  305. package/lib/module/games/whack-a-mole/components/MoleCharacter.js.map +1 -1
  306. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -1
  307. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  308. package/lib/module/games/whack-a-mole/components/index.js +1 -1
  309. package/lib/module/helpers/AbstractFruits.js +1 -0
  310. package/lib/module/helpers/AbstractFruits.js.map +1 -0
  311. package/lib/module/helpers/AnimationFrame.js +1 -1
  312. package/lib/module/helpers/AnimationTracker.js +1 -1
  313. package/lib/module/helpers/ErrorHandler.js +1 -1
  314. package/lib/module/helpers/GameControlButton.js +1 -1
  315. package/lib/module/helpers/GameControlButton.js.map +1 -1
  316. package/lib/module/helpers/GameOverModal.js +1 -1
  317. package/lib/module/helpers/GameSettingsModal.js +1 -1
  318. package/lib/module/helpers/ParticleBlast.js +1 -1
  319. package/lib/module/helpers/ScoreBoardContainer.js +1 -1
  320. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
  321. package/lib/module/helpers/index.js +1 -1
  322. package/lib/module/helpers/index.js.map +1 -1
  323. package/lib/module/index.js +1 -1
  324. package/lib/module/services/GamesConstants.js +1 -1
  325. package/lib/module/services/GamesService.js +1 -1
  326. package/lib/module/services/GamesService.js.map +1 -1
  327. package/lib/module/services/HapticsService.js +1 -1
  328. package/lib/module/services/ScoringService.js +1 -1
  329. package/lib/module/services/SoundsService.js +1 -1
  330. package/lib/module/services/UtilsService.js +1 -1
  331. package/lib/module/services/UtilsService.js.map +1 -1
  332. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  333. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +5 -1
  334. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -1
  335. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  336. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  337. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  338. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  339. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  340. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  341. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -1
  342. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +6 -2
  343. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -1
  344. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +9 -0
  345. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -1
  346. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -1
  347. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -1
  348. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -1
  349. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -1
  350. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +2 -2
  351. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -1
  352. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -1
  353. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +13 -1
  354. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -1
  355. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts +12 -0
  356. package/lib/typescript/src/games/block-blast/components/BlastAnimation.d.ts.map +1 -0
  357. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +1 -4
  358. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -1
  359. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -1
  360. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -1
  361. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +4 -2
  362. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -1
  363. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -1
  364. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +12 -6
  365. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -1
  366. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +1 -0
  367. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -1
  368. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +5 -1
  369. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -1
  370. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -1
  371. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -1
  372. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -1
  373. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +1 -1
  374. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +8 -0
  375. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -1
  376. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts +16 -0
  377. package/lib/typescript/src/games/candy-crush/components/BlastAnimation.d.ts.map +1 -0
  378. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -1
  379. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -1
  380. package/lib/typescript/src/games/candy-crush/components/index.d.ts +1 -0
  381. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -1
  382. package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -1
  383. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +6 -2
  384. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -1
  385. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +9 -0
  386. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -1
  387. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -1
  388. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -1
  389. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -1
  390. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -1
  391. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  392. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +1 -0
  393. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -1
  394. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +5 -1
  395. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  396. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +1 -1
  397. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -1
  398. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -1
  399. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  400. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +9 -7
  401. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -1
  402. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +1 -1
  403. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +1 -0
  404. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -1
  405. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  406. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -1
  407. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -1
  408. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -1
  409. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  410. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +6 -0
  411. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  412. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +8 -4
  413. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -1
  414. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -1
  415. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -1
  416. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -1
  417. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -1
  418. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -1
  419. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  420. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +21 -20
  421. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  422. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -1
  423. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +1 -2
  424. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -1
  425. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -1
  426. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -1
  427. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +15 -45
  428. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -1
  429. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +9 -33
  430. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -1
  431. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -11
  432. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -1
  433. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -1
  434. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts.map +1 -1
  435. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -1
  436. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  437. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  438. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +20 -0
  439. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -1
  440. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -1
  441. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -1
  442. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -1
  443. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  444. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +2 -2
  445. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  446. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +1 -1
  447. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  448. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  449. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +1 -1
  450. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -1
  451. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  452. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  453. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +1 -1
  454. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  455. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -1
  456. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +1 -0
  457. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -1
  458. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +5 -3
  459. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -1
  460. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +16 -0
  461. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -1
  462. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -1
  463. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  464. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +2 -2
  465. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +4 -2
  466. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  467. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -1
  468. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts.map +1 -1
  469. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -1
  470. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -1
  471. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  472. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  473. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +1 -1
  474. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +10 -0
  475. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -1
  476. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -1
  477. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -1
  478. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -1
  479. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -1
  480. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  481. package/lib/typescript/src/games/snake/SnakeStore.d.ts +16 -0
  482. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  483. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -1
  484. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -1
  485. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  486. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +4 -4
  487. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  488. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -1
  489. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  490. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -1
  491. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  492. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +8 -3
  493. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -1
  494. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -1
  495. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  496. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts.map +1 -1
  497. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts.map +1 -1
  498. package/lib/typescript/src/helpers/AbstractFruits.d.ts +207 -0
  499. package/lib/typescript/src/helpers/AbstractFruits.d.ts.map +1 -0
  500. package/lib/typescript/src/helpers/GameControlButton.d.ts +4 -7
  501. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -1
  502. package/lib/typescript/src/helpers/ParticleBlast.d.ts +1 -1
  503. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -1
  504. package/lib/typescript/src/helpers/index.d.ts +1 -0
  505. package/lib/typescript/src/helpers/index.d.ts.map +1 -1
  506. package/lib/typescript/src/services/UtilsService.d.ts +2 -0
  507. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
  508. package/package.json +7 -3
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,StyleSheet,Dimensions}from 'react-native';import{Gesture,GestureDetector}from 'react-native-gesture-handler';import{runOnJS,useSharedValue,withRepeat,withSpring,useDerivedValue}from 'react-native-reanimated';import{Canvas,Circle,Group,Line,vec}from '@shopify/react-native-skia';import{useBubbleShooterStore}from "../BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG,BUBBLE_SHOOTER_COLORS}from "../BubbleShooterConstants.js";import{ParticleBlast}from "../../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');const GameAreaComponent =({gameService,offset})=>{const bubbles = useBubbleShooterStore(state => state.bubbles);const shootingBubble = useBubbleShooterStore(state => state.shootingBubble);const shooterAngle = useBubbleShooterStore(state => state.shooterAngle);const currentBubbleColor = useBubbleShooterStore(state => state.currentBubbleColor);const nextBubbleColor = useBubbleShooterStore(state => state.nextBubbleColor);const isPlaying = useBubbleShooterStore(state => state.isPlaying);const [activeBlasts,setActiveBlasts] = React.useState([]);const bubbleScale = useSharedValue(1);const nextBubbleScale = useSharedValue(1);const shooterX = width / 2;const shooterY = height - offset - BUBBLE_SHOOTER_GAME_CONFIG.SHOOTER_Y_OFFSET;const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;React.useEffect(()=>{gameService.setShooterPosition(shooterX,shooterY,offset);},[gameService,shooterX,shooterY,offset]);React.useEffect(()=>{if(isPlaying && !shootingBubble){bubbleScale.value = withRepeat(withSpring(1.1,{damping:3,stiffness:100,mass:0.5}),-1,true);nextBubbleScale.value = withRepeat(withSpring(1.15,{damping:2.5,stiffness:90,mass:0.6}),-1,true);}else{bubbleScale.value = withSpring(1,{damping:10,stiffness:100});nextBubbleScale.value = withSpring(1,{damping:10,stiffness:100});}},[isPlaying,shootingBubble]);const animatedRadius = useDerivedValue(()=> radius * bubbleScale.value);const animatedNextRadius = useDerivedValue(()=> radius * 0.6 * nextBubbleScale.value);const handleTouchMove = React.useCallback((x,y)=>{if(!isPlaying)return;const dx = x - shooterX;const dy = y - shooterY;const angle = Math.atan2(dx,-dy);const clampedAngle = Math.max(-Math.PI * 0.4,Math.min(Math.PI * 0.4,angle));useBubbleShooterStore.getState().setShooterAngle(clampedAngle);},[isPlaying,shooterX,shooterY]);const handleTap = React.useCallback(()=>{if(!isPlaying || shootingBubble){return;}gameService.shoot();},[gameService,isPlaying,shootingBubble]);const createBlastParticles = React.useCallback((x,y,color)=>{const newBlast ={id:`blast-${Date.now()}-${Math.random()}`,x,y,color};setActiveBlasts(prev => [...prev,newBlast]);},[]);const handleBlastComplete = React.useCallback(blastId =>{setActiveBlasts(prev => prev.filter(blast => blast.id !== blastId));},[]);React.useEffect(()=>{const unsubscribe = useBubbleShooterStore.subscribe(state => state.bubbles,(currentBubbles,previousBubbles)=>{if(!isPlaying || previousBubbles.length === 0)return;if(previousBubbles.length > currentBubbles.length){const removedBubbles = previousBubbles.filter(prevBubble => !currentBubbles.some(currBubble => currBubble.id === prevBubble.id));removedBubbles.forEach(bubble =>{createBlastParticles(bubble.x,bubble.y,bubble.color);});}});return()=> unsubscribe();},[createBlastParticles,isPlaying]);const panGesture = React.useMemo(()=> Gesture.Pan().onBegin(event =>{'worklet';runOnJS(handleTouchMove)(event.absoluteX,event.absoluteY);}).onUpdate(event =>{'worklet';runOnJS(handleTouchMove)(event.absoluteX,event.absoluteY);}).onEnd(()=>{'worklet';runOnJS(handleTap)();}),[handleTouchMove,handleTap]);const tapGesture = React.useMemo(()=> Gesture.Tap().onStart(event =>{'worklet';runOnJS(handleTouchMove)(event.absoluteX,event.absoluteY);}).onEnd(()=>{'worklet';runOnJS(handleTap)();}),[handleTouchMove,handleTap]);const composedGesture = Gesture.Race(panGesture,tapGesture);const aimLineLength = 150;const aimEndX = shooterX + Math.sin(shooterAngle)* aimLineLength;const aimEndY = shooterY - Math.cos(shooterAngle)* aimLineLength;return _jsx(GestureDetector,{gesture:composedGesture,children:_jsxs(View,{style:styles.container,children:[_jsxs(Canvas,{style:styles.canvas,children:[bubbles.map(bubble => _jsxs(Group,{children:[_jsx(Circle,{cx:bubble.x,cy:bubble.y,r:radius,color:bubble.color}),_jsx(Circle,{cx:bubble.x - radius * 0.3,cy:bubble.y - radius * 0.3,r:radius * 0.3,color:"rgba(255,255,255,0.4)"})]},bubble.id)),shootingBubble && _jsxs(Group,{children:[_jsx(Circle,{cx:shootingBubble.x,cy:shootingBubble.y,r:radius,color:shootingBubble.color}),_jsx(Circle,{cx:shootingBubble.x - radius * 0.3,cy:shootingBubble.y - radius * 0.3,r:radius * 0.3,color:"rgba(255,255,255,0.4)"})]}),isPlaying && !shootingBubble && _jsxs(Group,{children:[_jsx(Line,{p1:vec(shooterX,shooterY),p2:vec(aimEndX,aimEndY),color:BUBBLE_SHOOTER_COLORS.SHOOTER_ARROW,style:"stroke",strokeWidth:2}),_jsx(Circle,{cx:shooterX,cy:shooterY,r:animatedRadius,color:currentBubbleColor}),_jsx(Circle,{cx:shooterX - radius * 0.3,cy:shooterY - radius * 0.3,r:radius * 0.3,color:"rgba(255,255,255,0.4)"}),_jsx(Circle,{cx:shooterX + 50,cy:shooterY,r:animatedNextRadius,color:nextBubbleColor}),_jsx(Circle,{cx:shooterX + 50 - radius * 0.18,cy:shooterY - radius * 0.18,r:radius * 0.18,color:"rgba(255,255,255,0.4)"})]})]}),activeBlasts.map(blast => _jsx(ParticleBlast,{x:blast.x,y:blast.y,colors:[blast.color],particleCount:12,onComplete:()=> handleBlastComplete(blast.id)},blast.id))]})});};const styles = StyleSheet.create({container:{flex:1},canvas:{flex:1,width,height}});const areGameAreaPropsEqual =(prevProps,nextProps)=>{return prevProps.offset === nextProps.offset && prevProps.gameService === nextProps.gameService;};export const GameArea = React.memo(GameAreaComponent,areGameAreaPropsEqual);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 React from 'react';import{View,Dimensions}from 'react-native';import{Canvas,LinearGradient,Rect,vec,Circle}from '@shopify/react-native-skia';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');const BUBBLE_COLORS = ['#FF1493','#FF69B4','#FF6347','#FF8C00','#FFD700','#ADFF2F','#00FA9A','#00CED1','#1E90FF','#9370DB','#BA55D3','#FF1493' ];export const GameBackground = React.memo(({children})=>{const generateFloatingBubbles = React.useMemo(()=>{const elements = [];const bubbleCount = 30;for(let i = 0;i < bubbleCount;i++){const baseX = width / bubbleCount * i;const baseY = height / bubbleCount * i;const x = baseX + Math.sin(i * 0.8)* 70 + Math.random()* 120;const y = baseY + Math.cos(i * 0.6)* 80 + Math.random()* 100;const bubbleSize = 15 + Math.random()* 35;const colorIndex = i % BUBBLE_COLORS.length;const opacity = 0.2 + Math.sin(i * 1.2)* 0.15;const bubbleX = Math.max(bubbleSize,Math.min(width - bubbleSize,x));const bubbleY = Math.max(bubbleSize,Math.min(height - bubbleSize,y));elements.push(_jsx(Circle,{cx:bubbleX,cy:bubbleY,r:bubbleSize,color:`${BUBBLE_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`bubble-${i}`));}return elements;},[]);return _jsxs(View,{style:{flex:1},children:[_jsxs(Canvas,{style:{position:'absolute',top:0,left:0,right:0,bottom:0,width,height},children:[_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(width,height),colors:[`${BUBBLE_COLORS[0]}35`,`${BUBBLE_COLORS[4]}30`,`${BUBBLE_COLORS[6]}35`,`${BUBBLE_COLORS[8]}30`,`${BUBBLE_COLORS[10]}35` ]})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(width / 2,height / 2),end:vec(width,height),colors:[`${BUBBLE_COLORS[2]}25`,'transparent',`${BUBBLE_COLORS[5]}25`,'transparent',`${BUBBLE_COLORS[7]}25`,'transparent']})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(width * 0.3,height * 0.3),end:vec(width * 0.7,height * 0.7),colors:[`${BUBBLE_COLORS[3]}18`,'transparent',`${BUBBLE_COLORS[9]}18`,'transparent',`${BUBBLE_COLORS[1]}18`,'transparent']})}),generateFloatingBubbles,_jsx(Circle,{cx:width * 0.12,cy:height * 0.15,r:45,color:`${BUBBLE_COLORS[0]}40`}),_jsx(Circle,{cx:width * 0.88,cy:height * 0.85,r:38,color:`${BUBBLE_COLORS[4]}40`}),_jsx(Circle,{cx:width * 0.85,cy:height * 0.20,r:32,color:`${BUBBLE_COLORS[6]}40`}),_jsx(Circle,{cx:width * 0.15,cy:height * 0.78,r:50,color:`${BUBBLE_COLORS[8]}40`}),_jsx(Circle,{cx:width * 0.50,cy:height * 0.10,r:35,color:`${BUBBLE_COLORS[10]}40`}),_jsx(Circle,{cx:width * 0.18,cy:height * 0.48,r:40,color:`${BUBBLE_COLORS[2]}40`}),_jsx(Circle,{cx:width * 0.82,cy:height * 0.55,r:42,color:`${BUBBLE_COLORS[7]}40`}),_jsx(Circle,{cx:width * 0.60,cy:height * 0.90,r:30,color:`${BUBBLE_COLORS[1]}40`}),_jsx(Circle,{cx:width * 0.28,cy:height * 0.28,r:25,color:`${BUBBLE_COLORS[5]}38`}),_jsx(Circle,{cx:width * 0.68,cy:height * 0.38,r:28,color:`${BUBBLE_COLORS[9]}38`}),_jsx(Circle,{cx:width * 0.38,cy:height * 0.68,r:22,color:`${BUBBLE_COLORS[3]}38`}),_jsx(Circle,{cx:width * 0.72,cy:height * 0.72,r:26,color:`${BUBBLE_COLORS[11]}38`}),Array.from({length:Math.floor(width / 60)},(_,i)=> _jsx(Rect,{x:i * 60,y:0,width:1,height:height,color:"rgba(255,255,255,0.05)"},`grid-v-${i}`)),Array.from({length:Math.floor(height / 60)},(_,i)=> _jsx(Rect,{x:0,y:i * 60,width:width,height:1,color:"rgba(255,255,255,0.05)"},`grid-h-${i}`))]}),children]});});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 React from 'react';import{Text,StyleSheet}from 'react-native';import{ScoreBoardContainer}from "../../../helpers/index.js";import{useScore}from "../BubbleShooterStore.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const score = useScore();return _jsxs(ScoreBoardContainer,{offset:offset,backgroundColor:"rgba(255,107,157,0.4)",borderColor:"rgba(255,107,157,0.4)",children:[_jsx(Text,{style:styles.label,children:"SCORE"}),_jsx(Text,{style:styles.value,children:score})]});});ScoreBoard.displayName = 'ScoreBoard';const styles = StyleSheet.create({label:{fontSize:16,fontWeight:'bold',color:'#ffffff',marginBottom:4,letterSpacing:0.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";export{GameBackground}from "./GameBackground.js";export{ScoreBoard}from "./ScoreBoard.js";export{GameArea}from "./GameArea.js";
1
+ "use strict";export{GameBackground}from"./GameBackground.js";export{ScoreBoard}from"./ScoreBoard.js";export{GameArea}from"./GameArea.js";
@@ -1 +1 @@
1
- "use strict";export{BubbleShooter}from "./BubbleShooter.js";export{BUBBLE_SHOOTER_THEME}from "./BubbleShooterConstants.js";
1
+ "use strict";export{BubbleShooter}from"./BubbleShooter.js";export{BUBBLE_SHOOTER_THEME}from"./BubbleShooterConstants.js";
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,StyleSheet}from 'react-native';import{GameControlButton,GameOverModal,GameSettingsModal}from "../../helpers/index.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{GameBackground,GameGrid,ScoreBoard}from "./components/index.js";import{useCandyCrushStore,useScore,useIsPlaying,useIsGameOver}from "./CandyCrushStore.js";import{CANDY_CRUSH_COLORS}from "./CandyCrushConstants.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const CandyCrush = React.memo(({settings,onSettingsChange,onEndGame})=>{const score = useScore();const isPlaying = useIsPlaying();const isGameOver = useIsGameOver();const gameReportedRef = React.useRef(false);const reportGameEnd = React.useCallback(status =>{if(onEndGame && !gameReportedRef.current){onEndGame({status,score:score.toString()});gameReportedRef.current = true;}},[onEndGame,score]);const startGame = useCandyCrushStore(state => state.startGame);const stopGame = useCandyCrushStore(state => state.stopGame);const resetGame = useCandyCrushStore(state => state.resetGame);const initializeGame = useCandyCrushStore(state => state.initializeGame);const updateSettings = useCandyCrushStore(state => state.updateSettings);React.useEffect(()=>{const enableSounds = settings?.enableSounds ?? true;const enableHaptics = settings?.enableHaptics ?? true;updateSettings(enableSounds,enableHaptics);},[settings?.enableSounds,settings?.enableHaptics,updateSettings]);React.useEffect(()=>{const difficulty = settings?.difficulty || 'easy';initializeGame(difficulty);},[settings?.difficulty,initializeGame]);React.useEffect(()=>{if(isGameOver && !gameReportedRef.current){reportGameEnd('win');}if(!isGameOver){gameReportedRef.current = false;}},[isGameOver,reportGameEnd]);const handleStartGame = React.useCallback(()=>{gameReportedRef.current = false;startGame();},[startGame]);const handleResetGame = React.useCallback(()=>{resetGame();},[resetGame]);const handleStopGame = React.useCallback(()=>{reportGameEnd('cancel');stopGame();},[stopGame,reportGameEnd]);const gameControlButtonProps = React.useMemo(()=>({isPlaying,gameOver:isGameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,onResetGame:handleResetGame,startButtonText:'Start Crushing!',startButtonSubtext:'Match 3 or more',startButtonColor:CANDY_CRUSH_COLORS.BUTTON_PRIMARY,startButtonBorderColor:CANDY_CRUSH_COLORS.BUTTON_SECONDARY}),[isPlaying,isGameOver,handleStartGame,handleStopGame,handleResetGame]);const gameOverModalProps = React.useMemo(()=>({isVisible:isGameOver,score,onPlayAgain:handleResetGame,buttonText:'Crush Again!',primaryColor:'rgba(255,149,0,0.5)',borderColor:'rgba(255,149,0,0.5)',buttonColor:'#ffffff',buttonBorderColor:'#ffffff',buttonTextColor:'#FF9500',scoreFormatter:s => `${s}`}),[isGameOver,score,handleResetGame]);const gameSettingsModalProps = React.useMemo(()=>({gameId:GAME_IDS.CANDY_CRUSH,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange}),[settings,onSettingsChange]);const offset = settings?.offset ?? 0;const dynamicStyles = React.useMemo(()=>({gridContainer:{...styles.gridContainer,paddingTop:offset}}),[offset]);return _jsx(GameBackground,{children:_jsxs(View,{style:styles.container,children:[_jsx(View,{style:dynamicStyles.gridContainer,children:_jsx(GameGrid,{})}),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{...gameSettingsModalProps})]})});});CandyCrush.displayName = 'CandyCrush';const styles = StyleSheet.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":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,wBAAe;AACnF,SAASC,QAAQ,EAAkBC,qBAAqB,QAAQ,gCAA6B;AAC7F,SAASC,cAAc,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,uBAAc;AACnE,SACEC,kBAAkB,EAClBC,QAAQ,EACRC,YAAY,EACZC,aAAa,QACR,sBAAmB;AAC1B,SAASC,kBAAkB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3D,OAAO,MAAMC,UAA+B,gBAAGpB,KAAK,CAACqB,IAAI,CAAC,CAAC;EAAEC,QAAQ;EAAEC,gBAAgB;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAkB,CAAC,KAAK;EACnI;EACA,MAAMC,KAAK,GAAGf,QAAQ,CAAC,CAAC;EACxB,MAAMgB,SAAS,GAAGf,YAAY,CAAC,CAAC;EAChC,MAAMgB,UAAU,GAAGf,aAAa,CAAC,CAAC;;EAElC;EACA,MAAMgB,eAAe,GAAG9B,KAAK,CAAC+B,MAAM,CAAU,KAAK,CAAC;;EAEpD;EACA,MAAMC,aAAa,GAAGhC,KAAK,CAACiC,WAAW,CAAEC,MAAiC,IAAK;IAC7E,IAAIV,SAAS,IAAI,CAACM,eAAe,CAACK,OAAO,EAAE;MACzCX,SAAS,CAAC;QACRU,MAAM;QACNP,KAAK,EAAEA,KAAK,CAACS,QAAQ,CAAC;MACxB,CAAC,CAAC;MACFN,eAAe,CAACK,OAAO,GAAG,IAAI;IAChC;EACF,CAAC,EAAE,CAACX,SAAS,EAAEG,KAAK,CAAC,CAAC;;EAEtB;EACA,MAAMU,SAAS,GAAG1B,kBAAkB,CAAC2B,KAAK,IAAIA,KAAK,CAACD,SAAS,CAAC;EAC9D,MAAME,QAAQ,GAAG5B,kBAAkB,CAAC2B,KAAK,IAAIA,KAAK,CAACC,QAAQ,CAAC;EAC5D,MAAMC,SAAS,GAAG7B,kBAAkB,CAAC2B,KAAK,IAAIA,KAAK,CAACE,SAAS,CAAC;EAC9D,MAAMC,cAAc,GAAG9B,kBAAkB,CAAC2B,KAAK,IAAIA,KAAK,CAACG,cAAc,CAAC;EACxE,MAAMC,cAAc,GAAG/B,kBAAkB,CAAC2B,KAAK,IAAIA,KAAK,CAACI,cAAc,CAAC;;EAExE;EACA1C,KAAK,CAAC2C,SAAS,CAAC,MAAM;IACpB,MAAMC,YAAY,GAAGtB,QAAQ,EAAEsB,YAAY,IAAI,IAAI;IACnD,MAAMC,aAAa,GAAGvB,QAAQ,EAAEuB,aAAa,IAAI,IAAI;IACrDH,cAAc,CAACE,YAAY,EAAEC,aAAa,CAAC;EAC7C,CAAC,EAAE,CAACvB,QAAQ,EAAEsB,YAAY,EAAEtB,QAAQ,EAAEuB,aAAa,EAAEH,cAAc,CAAC,CAAC;;EAErE;EACA1C,KAAK,CAAC2C,SAAS,CAAC,MAAM;IACpB,MAAMG,UAAU,GAAGxB,QAAQ,EAAEwB,UAAU,IAAI,MAAM;IACjDL,cAAc,CAACK,UAAU,CAAC;EAC5B,CAAC,EAAE,CAACxB,QAAQ,EAAEwB,UAAU,EAAEL,cAAc,CAAC,CAAC;;EAE1C;EACAzC,KAAK,CAAC2C,SAAS,CAAC,MAAM;IACpB,IAAId,UAAU,IAAI,CAACC,eAAe,CAACK,OAAO,EAAE;MAC1C;MACAH,aAAa,CAAC,KAAK,CAAC;IACtB;;IAEA;IACA,IAAI,CAACH,UAAU,EAAE;MACfC,eAAe,CAACK,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,EAAE,CAACN,UAAU,EAAEG,aAAa,CAAC,CAAC;;EAE/B;EACA,MAAMe,eAAe,GAAG/C,KAAK,CAACiC,WAAW,CAAC,MAAM;IAC9CH,eAAe,CAACK,OAAO,GAAG,KAAK,CAAC,CAAC;IACjCE,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMW,eAAe,GAAGhD,KAAK,CAACiC,WAAW,CAAC,MAAM;IAC9CO,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMS,cAAc,GAAGjD,KAAK,CAACiC,WAAW,CAAC,MAAM;IAC7CD,aAAa,CAAC,QAAQ,CAAC;IACvBO,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAACA,QAAQ,EAAEP,aAAa,CAAC,CAAC;;EAE7B;EACA,MAAMkB,sBAAsB,GAAGlD,KAAK,CAACmD,OAAO,CAAC,OAAO;IAClDvB,SAAS;IACTwB,QAAQ,EAAEvB,UAAU;IACpBwB,WAAW,EAAEN,eAAe;IAC5BO,UAAU,EAAEL,cAAc;IAC1BxB,OAAO;IACPC,iBAAiB;IACjB6B,kBAAkB,EAAE,iBAAiB;IACrCC,WAAW,EAAEzC,kBAAkB,CAAC0C,cAAc;IAC9CC,iBAAiB,EAAE3C,kBAAkB,CAAC4C;EACxC,CAAC,CAAC,EAAE,CAAC/B,SAAS,EAAEC,UAAU,EAAEkB,eAAe,EAAEE,cAAc,EAAExB,OAAO,EAAEC,iBAAiB,CAAC,CAAC;;EAEzF;EACA,MAAMkC,kBAAkB,GAAG5D,KAAK,CAACmD,OAAO,CAAC,OAAO;IAC9CU,SAAS,EAAEhC,UAAU;IACrBF,KAAK;IACLmC,WAAW,EAAEd,eAAe;IAC5Be,UAAU,EAAE,cAAc;IAC1BC,YAAY,EAAE,wBAAwB;IAAE;IACxCC,WAAW,EAAE,wBAAwB;IAAE;IACvCT,WAAW,EAAE,SAAS;IAAE;IACxBE,iBAAiB,EAAE,SAAS;IAAE;IAC9BQ,eAAe,EAAE,SAAS;IAAE;IAC5BC,cAAc,EAAGC,CAAS,IAAK,GAAGA,CAAC;EACrC,CAAC,CAAC,EAAE,CAACvC,UAAU,EAAEF,KAAK,EAAEqB,eAAe,CAAC,CAAC;;EAEzC;EACA,MAAMqB,sBAAsB,GAAGrE,KAAK,CAACmD,OAAO,CAAC,OAAO;IAClDmB,MAAM,EAAEhE,QAAQ,CAACiE,WAAW;IAC5BjD,QAAQ,EAAEA,QAAQ,IAAIf,qBAAqB;IAC3CgB;EACF,CAAC,CAAC,EAAE,CAACD,QAAQ,EAAEC,gBAAgB,CAAC,CAAC;;EAEjC;EACA,MAAMiD,MAAM,GAAGlD,QAAQ,EAAEkD,MAAM,IAAI,CAAC;;EAEpC;EACA,MAAMC,aAAa,GAAGzE,KAAK,CAACmD,OAAO,CAAC,OAAO;IACzCuB,aAAa,EAAE;MACb,GAAGC,MAAM,CAACD,aAAa;MACvBE,UAAU,EAAEJ;IACd;EACF,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEb,oBACEvD,IAAA,CAACT,cAAc;IAAAqE,QAAA,eACb1D,KAAA,CAAClB,IAAI;MAAC6E,KAAK,EAAEH,MAAM,CAACI,SAAU;MAAAF,QAAA,gBAE5B5D,IAAA,CAAChB,IAAI;QAAC6E,KAAK,EAAEL,aAAa,CAACC,aAAc;QAAAG,QAAA,eACvC5D,IAAA,CAACR,QAAQ,IAAE;MAAC,CACR,CAAC,eAGPQ,IAAA,CAACP,UAAU;QAAC8D,MAAM,EAAEA;MAAO,CAAE,CAAC,eAG9BvD,IAAA,CAACd,iBAAiB;QAAA,GAAK+C;MAAsB,CAAG,CAAC,eAGjDjC,IAAA,CAACb,aAAa;QAAA,GAAKwD;MAAkB,CAAG,CAAC,eAGzC3C,IAAA,CAACZ,iBAAiB;QAAA,GAAKgE;MAAsB,CAAG,CAAC;IAAA,CAC7C;EAAC,CACO,CAAC;AAErB,CAAC,CAAC;AAEFjD,UAAU,CAAC4D,WAAW,GAAG,YAAY;AAErC,MAAML,MAAM,GAAGzE,UAAU,CAAC+E,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,IAAI,EAAE;EACR,CAAC;EACDR,aAAa,EAAE;IACbQ,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDC,mBAAmB,EAAE;IACnBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","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.0,rate:1.8},SPECIAL:{text:'Boom!',pitch:1.5,rate:2.0},COMBO:{text:'Combo!',pitch:1.8,rate:2.2},WIN:{text:'Victory!',pitch:1.6,rate:1.8},LOSE:{text:'Game Over',pitch:0.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 4 candy types',medium:'3 minutes 5 candy types',hard:'5 minutes 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{Animated}from 'react-native';import{CANDY_CRUSH_GAME_CONFIG,CANDY_COLORS,CANDY_TYPES}from "./CandyCrushConstants.js";export class CandyCrushService{nextCandyId = 1;createGrid(){return Array(CANDY_CRUSH_GAME_CONFIG.GRID_SIZE).fill(null).map(()=> Array(CANDY_CRUSH_GAME_CONFIG.GRID_SIZE).fill(null));}initializeGrid(candyTypes){const grid = this.createGrid();const size = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;for(let row = 0;row < size;row++){for(let col = 0;col < size;col++){let candyType;let attempts = 0;do{candyType = Math.floor(Math.random()* candyTypes);attempts++;}while(attempts < 10 && this.wouldCreateMatch(grid,row,col,candyType));const candy ={id:this.nextCandyId++,row,col,type:candyType,specialType:CANDY_TYPES.NORMAL,animatedValue:new Animated.Value(1),scaleValue:new Animated.Value(1),isMatched:false,isFalling:false};const gridRow = grid[row];if(gridRow){gridRow[col] = candy;}}}return grid;}wouldCreateMatch(grid,row,col,type){let horizontalCount = 1;for(let c = col - 1;c >= 0;c--){const gridRow = grid[row];const candy = gridRow ? gridRow[c]:null;if(candy && candy.type === type){horizontalCount++;}else{break;}}for(let c = col + 1;c < CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;c++){const gridRow = grid[row];const candy = gridRow ? gridRow[c]:null;if(candy && candy.type === type){horizontalCount++;}else{break;}}if(horizontalCount >= CANDY_CRUSH_GAME_CONFIG.MIN_MATCH){return true;}let verticalCount = 1;for(let r = row - 1;r >= 0;r--){const gridRow = grid[r];const candy = gridRow ? gridRow[col]:null;if(candy && candy.type === type){verticalCount++;}else{break;}}for(let r = row + 1;r < CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;r++){const gridRow = grid[r];const candy = gridRow ? gridRow[col]:null;if(candy && candy.type === type){verticalCount++;}else{break;}}return verticalCount >= CANDY_CRUSH_GAME_CONFIG.MIN_MATCH;}canSwap(candy1,candy2){const rowDiff = Math.abs(candy1.row - candy2.row);const colDiff = Math.abs(candy1.col - candy2.col);return rowDiff === 1 && colDiff === 0 || rowDiff === 0 && colDiff === 1;}swapCandies(grid,candy1,candy2){const row1 = candy1.row;const col1 = candy1.col;const row2 = candy2.row;const col2 = candy2.col;const gridRow1 = grid[row1];const gridRow2 = grid[row2];if(gridRow1 && gridRow2){const temp1 = gridRow1[col1];const temp2 = gridRow2[col2];gridRow1[col1] = temp2 || null;gridRow2[col2] = temp1 || null;if(temp1){temp1.row = row2;temp1.col = col2;}if(temp2){temp2.row = row1;temp2.col = col1;}}}findMatches(grid){const matches = [];const matchedSet = new Set();const size = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;for(let row = 0;row < size;row++){for(let col = 0;col < size - 2;col++){const gridRow = grid[row];if(!gridRow)continue;const candy1 = gridRow[col];const candy2 = gridRow[col + 1];const candy3 = gridRow[col + 2];if(candy1 && candy2 && candy3 && candy1.type === candy2.type && candy2.type === candy3.type){let matchLength = 3;const matchCandies = [candy1,candy2,candy3];for(let c = col + 3;c < size;c++){const nextCandy = gridRow[c];if(nextCandy && nextCandy.type === candy1.type){matchLength++;matchCandies.push(nextCandy);}else{break;}}matchCandies.forEach(candy =>{if(!matchedSet.has(candy.id)){matchedSet.add(candy.id);matches.push(candy);}});col += matchLength - 1;}}}for(let col = 0;col < size;col++){for(let row = 0;row < size - 2;row++){const gridRow1 = grid[row];const gridRow2 = grid[row + 1];const gridRow3 = grid[row + 2];if(!gridRow1 || !gridRow2 || !gridRow3)continue;const candy1 = gridRow1[col];const candy2 = gridRow2[col];const candy3 = gridRow3[col];if(candy1 && candy2 && candy3 && candy1.type === candy2.type && candy2.type === candy3.type){let matchLength = 3;const matchCandies = [candy1,candy2,candy3];for(let r = row + 3;r < size;r++){const nextRow = grid[r];const nextCandy = nextRow ? nextRow[col]:null;if(nextCandy && nextCandy.type === candy1.type){matchLength++;matchCandies.push(nextCandy);}else{break;}}matchCandies.forEach(candy =>{if(!matchedSet.has(candy.id)){matchedSet.add(candy.id);matches.push(candy);}});row += matchLength - 1;}}}const score = matches.length * CANDY_CRUSH_GAME_CONFIG.POINTS_PER_CANDY;return{matches,score,hasMatches:matches.length > 0};}removeMatches(grid,matches){matches.forEach(candy =>{const gridRow = grid[candy.row];if(gridRow){gridRow[candy.col] = null;}});}applyGravity(grid){let hasMoved = false;const size = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;for(let col = 0;col < size;col++){for(let row = size - 1;row >= 0;row--){const gridRow = grid[row];if(!gridRow)continue;const candy = gridRow[col];if(candy){let newRow = row;for(let r = row + 1;r < size;r++){const checkRow = grid[r];if(checkRow && !checkRow[col]){newRow = r;}else{break;}}if(newRow !== row){const targetRow = grid[newRow];if(targetRow){targetRow[col] = candy;gridRow[col] = null;candy.row = newRow;candy.isFalling = true;hasMoved = true;}}}}}return hasMoved;}fillEmptySpaces(grid,candyTypes){const newCandies = [];const size = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;for(let col = 0;col < size;col++){let emptyCount = 0;for(let row = 0;row < size;row++){const gridRow = grid[row];if(gridRow && !gridRow[col]){emptyCount++;}}for(let i = 0;i < emptyCount;i++){const row = i;const candy ={id:this.nextCandyId++,row,col,type:Math.floor(Math.random()* candyTypes),specialType:CANDY_TYPES.NORMAL,animatedValue:new Animated.Value(0),scaleValue:new Animated.Value(1),isMatched:false,isFalling:true};const gridRow = grid[row];if(gridRow){gridRow[col] = candy;newCandies.push(candy);}}}return newCandies;}hasPossibleMoves(grid){const size = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;for(let row = 0;row < size;row++){for(let col = 0;col < size;col++){const gridRow = grid[row];if(!gridRow)continue;const candy = gridRow[col];if(!candy)continue;if(col < size - 1){const rightCandy = gridRow[col + 1];if(rightCandy){this.swapCandies(grid,candy,rightCandy);const result = this.findMatches(grid);this.swapCandies(grid,candy,rightCandy);if(result.hasMatches){return true;}}}if(row < size - 1){const bottomRow = grid[row + 1];const bottomCandy = bottomRow ? bottomRow[col]:null;if(bottomCandy){this.swapCandies(grid,candy,bottomCandy);const result = this.findMatches(grid);this.swapCandies(grid,candy,bottomCandy);if(result.hasMatches){return true;}}}}}return false;}getCandyColor(type){return CANDY_COLORS[type % CANDY_COLORS.length] || CANDY_COLORS[0];}resetIdCounter(){this.nextCandyId = 1;}}
1
+ "use strict";import{Animated as t}from"react-native";import{CANDY_CRUSH_GAME_CONFIG as e,CANDY_COLORS as n,CANDY_TYPES as o}from"./CandyCrushConstants.js";export class CandyCrushService{nextCandyId=1;createGrid(){return Array(e.GRID_SIZE).fill(null).map(()=>Array(e.GRID_SIZE).fill(null))}initializeGrid(n){const r=this.createGrid(),s=e.GRID_SIZE;for(let e=0;s>e;e++)for(let l=0;s>l;l++){let s,i=0;do{s=Math.floor(Math.random()*n),i++}while(10>i&&this.wouldCreateMatch(r,e,l,s));const c={id:this.nextCandyId++,row:e,col:l,type:s,specialType:o.NORMAL,animatedValue:new t.Value(1),scaleValue:new t.Value(1),isMatched:!1,isFalling:!1},a=r[e];a&&(a[l]=c)}return r}wouldCreateMatch(t,n,o,r){let s=1;for(let e=o-1;e>=0;e--){const o=t[n],l=o?o[e]:null;if(!l||l.type!==r)break;s++}for(let l=o+1;l<e.GRID_SIZE;l++){const e=t[n],o=e?e[l]:null;if(!o||o.type!==r)break;s++}if(s>=e.MIN_MATCH)return!0;let l=1;for(let e=n-1;e>=0;e--){const n=t[e],s=n?n[o]:null;if(!s||s.type!==r)break;l++}for(let s=n+1;s<e.GRID_SIZE;s++){const e=t[s],n=e?e[o]:null;if(!n||n.type!==r)break;l++}return l>=e.MIN_MATCH}canSwap(t,e){const n=Math.abs(t.row-e.row),o=Math.abs(t.col-e.col);return 1===n&&0===o||0===n&&1===o}swapCandies(t,e,n){const o=e.row,r=e.col,s=n.row,l=n.col,i=t[o],c=t[s];if(i&&c){const t=i[r],e=c[l];i[r]=e||null,c[l]=t||null,t&&(t.row=s,t.col=l),e&&(e.row=o,e.col=r)}}findMatches(t){const n=[],o=new Set,r=e.GRID_SIZE;for(let e=0;r>e;e++)for(let s=0;r-2>s;s++){const l=t[e];if(!l)continue;const i=l[s],c=l[s+1],a=l[s+2];if(i&&c&&a&&i.type===c.type&&c.type===a.type){let t=3;const e=[i,c,a];for(let n=s+3;r>n;n++){const o=l[n];if(!o||o.type!==i.type)break;t++,e.push(o)}e.forEach(t=>{o.has(t.id)||(o.add(t.id),n.push(t))}),s+=t-1}}for(let e=0;r>e;e++)for(let s=0;r-2>s;s++){const l=t[s],i=t[s+1],c=t[s+2];if(!l||!i||!c)continue;const a=l[e],f=i[e],u=c[e];if(a&&f&&u&&a.type===f.type&&f.type===u.type){let l=3;const i=[a,f,u];for(let n=s+3;r>n;n++){const o=t[n],r=o?o[e]:null;if(!r||r.type!==a.type)break;l++,i.push(r)}i.forEach(t=>{o.has(t.id)||(o.add(t.id),n.push(t))}),s+=l-1}}const s=n.length*e.POINTS_PER_CANDY;return{matches:n,score:s,hasMatches:n.length>0}}removeMatches(t,e){e.forEach(e=>{const n=t[e.row];n&&(n[e.col]=null)})}applyGravity(t){let n=!1;const o=e.GRID_SIZE;for(let e=0;o>e;e++)for(let r=o-1;r>=0;r--){const s=t[r];if(!s)continue;const l=s[e];if(l){let i=r;for(let n=r+1;o>n;n++){const o=t[n];if(!o||o[e])break;i=n}if(i!==r){const o=t[i];o&&(o[e]=l,s[e]=null,l.row=i,l.isFalling=!0,n=!0)}}}return n}fillEmptySpaces(n,r){const s=[],l=e.GRID_SIZE;for(let e=0;l>e;e++){let i=0;for(let t=0;l>t;t++){const o=n[t];o&&!o[e]&&i++}for(let l=0;i>l;l++){const i=l,c={id:this.nextCandyId++,row:i,col:e,type:Math.floor(Math.random()*r),specialType:o.NORMAL,animatedValue:new t.Value(0),scaleValue:new t.Value(1),isMatched:!1,isFalling:!0},a=n[i];a&&(a[e]=c,s.push(c))}}return s}hasPossibleMoves(t){const n=e.GRID_SIZE;for(let e=0;n>e;e++)for(let o=0;n>o;o++){const r=t[e];if(!r)continue;const s=r[o];if(s){if(n-1>o){const e=r[o+1];if(e){this.swapCandies(t,s,e);const n=this.findMatches(t);if(this.swapCandies(t,s,e),n.hasMatches)return!0}}if(n-1>e){const n=t[e+1],r=n?n[o]:null;if(r){this.swapCandies(t,s,r);const e=this.findMatches(t);if(this.swapCandies(t,s,r),e.hasMatches)return!0}}}}return!1}getCandyColor(t){return n[t%n.length]||n[0]}resetIdCounter(){this.nextCandyId=1}}
@@ -1 +1 @@
1
- "use strict";import{create}from 'zustand';import{subscribeWithSelector}from 'zustand/middleware';import{CandyCrushService}from "./CandyCrushService.js";import{CANDY_CRUSH_GAME_CONFIG,DIFFICULTY_CONFIG,CANDY_CRUSH_SOUNDS}from "./CandyCrushConstants.js";import{immerMiddleware}from "../../services/UtilsService.js";import{playSound}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";const gameService = new CandyCrushService();export const useCandyCrushStore = create()(subscribeWithSelector(immerMiddleware((set,get)=>({grid:gameService.createGrid(),score:0,timeRemaining:180,gameDuration:180,isPlaying:false,isGameOver:false,selectedCandy:null,isProcessing:false,difficulty:'easy',candyTypes:4,enableSounds:true,enableHaptics:true,comboCount:0,gameTimer:null,matchedCandyIds:new Set(),fallingCandyIds:new Set(),startGame:()=>{const state = get();if(state.gameTimer){clearInterval(state.gameTimer);}playSound(CANDY_CRUSH_SOUNDS.SWAP,state.enableSounds);playHaptic(HapticType.MEDIUM,state.enableHaptics);const timer = setInterval(()=>{const currentState = get();if(currentState.timeRemaining > 0 && currentState.isPlaying){set(draft =>{draft.timeRemaining--;if(draft.timeRemaining === 30){playSound(CANDY_CRUSH_SOUNDS.SPECIAL,draft.enableSounds);playHaptic(HapticType.MEDIUM,draft.enableHaptics);}if(draft.timeRemaining === 10){playSound(CANDY_CRUSH_SOUNDS.SPECIAL,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);}if(draft.timeRemaining <= 0){draft.isGameOver = true;draft.isPlaying = false;if(draft.gameTimer){clearInterval(draft.gameTimer);draft.gameTimer = null;}playSound(CANDY_CRUSH_SOUNDS.LOSE,draft.enableSounds);playHaptic(HapticType.HEAVY,draft.enableHaptics);}});}},1000);set(state =>{state.isPlaying = true;state.gameTimer = timer;});},stopGame:()=>{const state = get();if(state.gameTimer){clearInterval(state.gameTimer);}playSound(CANDY_CRUSH_SOUNDS.LOSE,state.enableSounds);playHaptic(HapticType.MEDIUM,state.enableHaptics);state.initializeGame(state.difficulty);},resetGame:()=>{const state = get();state.initializeGame(state.difficulty);state.startGame();},initializeGame:(difficulty = 'easy')=>{const state = get();if(state.gameTimer){clearInterval(state.gameTimer);}set(state =>{const config = DIFFICULTY_CONFIG[difficulty];gameService.resetIdCounter();state.grid = gameService.initializeGrid(config.candyTypes);state.score = 0;state.timeRemaining = config.gameDuration;state.gameDuration = config.gameDuration;state.isPlaying = false;state.isGameOver = false;state.selectedCandy = null;state.isProcessing = false;state.difficulty = difficulty;state.candyTypes = config.candyTypes;state.comboCount = 0;state.gameTimer = null;state.matchedCandyIds = new Set();state.fallingCandyIds = new Set();});},selectCandy:candy =>{const state = get();if(state.isProcessing || !state.isPlaying || state.isGameOver){return;}set(draft =>{if(!draft.selectedCandy){draft.selectedCandy = candy;playSound(CANDY_CRUSH_SOUNDS.SWAP,draft.enableSounds);playHaptic(HapticType.LIGHT,draft.enableHaptics);}else if(draft.selectedCandy.id === candy.id){draft.selectedCandy = null;}else if(gameService.canSwap(draft.selectedCandy,candy)){const candy1 = draft.selectedCandy;const candy2 = candy;gameService.swapCandies(draft.grid,candy1,candy2);const affectedRows = new Set([candy1.row,candy2.row]);affectedRows.forEach(rowIndex =>{if(draft.grid[rowIndex]){draft.grid[rowIndex] = [...draft.grid[rowIndex]];}});const matchResult = gameService.findMatches(draft.grid);if(matchResult.hasMatches){draft.selectedCandy = null;draft.isProcessing = true;playSound(CANDY_CRUSH_SOUNDS.SWAP,draft.enableSounds);playHaptic(HapticType.MEDIUM,draft.enableHaptics);setTimeout(()=>{get().processMatches();},CANDY_CRUSH_GAME_CONFIG.SWAP_DURATION);}else{gameService.swapCandies(draft.grid,candy1,candy2);draft.selectedCandy = null;const affectedRows = new Set([candy1.row,candy2.row]);affectedRows.forEach(rowIndex =>{if(draft.grid[rowIndex]){draft.grid[rowIndex] = [...draft.grid[rowIndex]];}});playSound(CANDY_CRUSH_SOUNDS.SWAP,draft.enableSounds);playHaptic(HapticType.LIGHT,draft.enableHaptics);}}else{draft.selectedCandy = candy;playSound(CANDY_CRUSH_SOUNDS.SWAP,draft.enableSounds);playHaptic(HapticType.LIGHT,draft.enableHaptics);}});},processMatches:async()=>{let hasMatches = true;let comboCount = 0;while(hasMatches){const state = get();const matchResult = gameService.findMatches(state.grid);if(!matchResult.hasMatches){hasMatches = false;break;}comboCount++;const baseScore = matchResult.score;const comboMultiplier = comboCount > 1 ? Math.pow(CANDY_CRUSH_GAME_CONFIG.COMBO_MULTIPLIER,comboCount - 1):1;const finalScore = Math.floor(baseScore * comboMultiplier);set(draft =>{draft.score += finalScore;draft.comboCount = comboCount;});if(comboCount > 1){playSound(CANDY_CRUSH_SOUNDS.COMBO,state.enableSounds);playHaptic(HapticType.HEAVY,state.enableHaptics);}else{playSound(CANDY_CRUSH_SOUNDS.MATCH,state.enableSounds);playHaptic(HapticType.MEDIUM,state.enableHaptics);}set(draft =>{draft.matchedCandyIds = new Set(matchResult.matches.map(c => c.id));});await new Promise(resolve => setTimeout(resolve,CANDY_CRUSH_GAME_CONFIG.ANIMATION_DURATION));set(draft =>{draft.matchedCandyIds = new Set();const affectedRows = new Set();matchResult.matches.forEach(candy => affectedRows.add(candy.row));const originalRowIds = draft.grid.map(row => row.map(c => c?.id).join(','));gameService.removeMatches(draft.grid,matchResult.matches);gameService.applyGravity(draft.grid);gameService.fillEmptySpaces(draft.grid,state.candyTypes);const fallingIds = new Set();draft.grid.forEach(row =>{row.forEach(candy =>{if(candy && candy.isFalling){fallingIds.add(candy.id);}});});draft.fallingCandyIds = fallingIds;draft.grid.forEach((row,rowIndex)=>{const newRowIds = row.map(c => c?.id).join(',');if(originalRowIds[rowIndex] !== newRowIds){draft.grid[rowIndex] = [...row];}});});await new Promise(resolve => setTimeout(resolve,CANDY_CRUSH_GAME_CONFIG.FALL_DURATION));}set(draft =>{draft.isProcessing = false;draft.comboCount = 0;draft.matchedCandyIds = new Set();draft.fallingCandyIds = new Set();});},updateSettings:(enableSounds,enableHaptics)=>{set(state =>{state.enableSounds = enableSounds;state.enableHaptics = enableHaptics;});}}))));export const useGrid =()=> useCandyCrushStore(state => state.grid);export const useScore =()=> useCandyCrushStore(state => state.score);export const useTimeRemaining =()=> useCandyCrushStore(state => state.timeRemaining);export const useGameDuration =()=> useCandyCrushStore(state => state.gameDuration);export const useIsPlaying =()=> useCandyCrushStore(state => state.isPlaying);export const useIsGameOver =()=> useCandyCrushStore(state => state.isGameOver);export const useSelectedCandy =()=> useCandyCrushStore(state => state.selectedCandy);export const useComboCount =()=> useCandyCrushStore(state => state.comboCount);export const useMatchedCandyIds =()=> useCandyCrushStore(state => state.matchedCandyIds);export const useFallingCandyIds =()=> useCandyCrushStore(state => state.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);
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","CandyCrushService","CANDY_CRUSH_GAME_CONFIG","DIFFICULTY_CONFIG","CANDY_CRUSH_SOUNDS","immerMiddleware","playSound","playHaptic","HapticType","gameService","useCandyCrushStore","set","get","grid","createGrid","score","timeRemaining","gameDuration","isPlaying","isGameOver","selectedCandy","isProcessing","difficulty","candyTypes","enableSounds","enableHaptics","comboCount","gameTimer","matchedCandyIds","Set","fallingCandyIds","startGame","state","clearInterval","SWAP","MEDIUM","timer","setInterval","currentState","draft","SPECIAL","HEAVY","LOSE","stopGame","initializeGame","resetGame","config","resetIdCounter","initializeGrid","selectCandy","candy","LIGHT","id","canSwap","candy1","candy2","swapCandies","affectedRows","row","forEach","rowIndex","matchResult","findMatches","hasMatches","setTimeout","processMatches","SWAP_DURATION","baseScore","comboMultiplier","Math","pow","COMBO_MULTIPLIER","finalScore","floor","COMBO","MATCH","matches","map","c","Promise","resolve","ANIMATION_DURATION","add","originalRowIds","join","removeMatches","applyGravity","fillEmptySpaces","fallingIds","isFalling","newRowIds","FALL_DURATION","updateSettings","useGrid","useScore","useTimeRemaining","useGameDuration","useIsPlaying","useIsGameOver","useSelectedCandy","useComboCount","useMatchedCandyIds","useFallingCandyIds"],"sourceRoot":"../../../../src","sources":["games/candy-crush/CandyCrushStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","CandyCrushService","CANDY_CRUSH_GAME_CONFIG","DIFFICULTY_CONFIG","CANDY_CRUSH_SOUNDS","immerMiddleware","playSound","playHaptic","HapticType","gameService","useCandyCrushStore","set","get","grid","createGrid","score","timeRemaining","gameDuration","isPlaying","isGameOver","selectedCandy","isProcessing","difficulty","candyTypes","enableSounds","enableHaptics","comboCount","gameTimer","matchedCandyIds","Set","fallingCandyIds","clearingCells","startGame","state","clearInterval","SWAP","MEDIUM","timer","setInterval","currentState","draft","SPECIAL","HEAVY","LOSE","stopGame","initializeGame","resetGame","config","resetIdCounter","initializeGrid","selectCandy","candy","LIGHT","id","canSwap","candy1","candy2","swapCandies","affectedRows","row","forEach","rowIndex","matchResult","findMatches","hasMatches","setTimeout","processMatches","SWAP_DURATION","baseScore","comboMultiplier","Math","pow","COMBO_MULTIPLIER","finalScore","floor","COMBO","MATCH","matches","map","c","col","color","getCandyColor","type","Promise","resolve","ANIMATION_DURATION","add","originalRowIds","join","removeMatches","applyGravity","fillEmptySpaces","fallingIds","isFalling","newRowIds","FALL_DURATION","updateSettings","clearClearingCells","useGrid","useScore","useTimeRemaining","useGameDuration","useIsPlaying","useIsGameOver","useSelectedCandy","useComboCount","useMatchedCandyIds","useFallingCandyIds","useClearingCells"],"sourceRoot":"../../../../src","sources":["games/candy-crush/CandyCrushStore.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";import t from"react";import{StyleSheet as e}from"react-native";import l,{useSharedValue as o,useAnimatedStyle as r,withTiming as a,runOnJS as i,Easing as s}from"react-native-reanimated";import{jsx as n,Fragment as c}from"react/jsx-runtime";const m=t.memo(({cell:t,cellSize:e,cellGap:o,totalCellSize:a,progress:i})=>{const s=t.col*a+o,c=t.row*a+o,m=r(()=>{const t=i.value;return{opacity:.6>t?1:1-(t-.6)/.4,transform:[{scale:.4>t?1+t/.4*.8:1.8-(t-.4)/.6*1.8}]}});return n(l.View,{style:[p.blastCell,{left:s,top:c,width:e,height:e,backgroundColor:t.color},m]})});m.displayName="BlastCell";export const BlastAnimation=t.memo(({cells:e,cellSize:l,cellGap:r,totalCellSize:p,onComplete:u})=>{const d=o(0);return t.useEffect(()=>{0!==e.length&&(d.value=0,d.value=a(1,{duration:400,easing:s.out(s.cubic)},t=>{t&&i(u)()}))},[e,d,u]),0===e.length?null:n(c,{children:e.map(t=>n(m,{cell:t,cellSize:l,cellGap:r,totalCellSize:p,progress:d},`blast-${t.row}-${t.col}`))})});BlastAnimation.displayName="BlastAnimation";const p=e.create({blastCell:{position:"absolute",borderRadius:8}});
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withTiming","runOnJS","Easing","jsx","_jsx","Fragment","_Fragment","BlastCell","memo","cell","cellSize","cellGap","totalCellSize","progress","x","col","y","row","animatedStyle","p","value","scale","opacity","transform","View","style","styles","blastCell","left","top","width","height","backgroundColor","color","displayName","BlastAnimation","cells","onComplete","useEffect","length","duration","easing","out","cubic","finished","children","map","create","position","borderRadius"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/BlastAnimation.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React,{useEffect,useRef}from 'react';import{StyleSheet}from 'react-native';import{Gesture,GestureDetector}from 'react-native-gesture-handler';import Animated,{useSharedValue,useAnimatedStyle,withSpring,withTiming,runOnJS}from 'react-native-reanimated';import{Canvas,RoundedRect,Group,Shadow}from '@shopify/react-native-skia';import{CandyCrushService}from "../CandyCrushService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const gameService = new CandyCrushService();const CandyItemComponent =({candy,size,isSelected,isMatched,isFalling,onSwipe})=>{const translateX = useSharedValue(0);const translateY = useSharedValue(0);const scale = useSharedValue(1);const opacity = useSharedValue(1);const zIndex = useSharedValue(0);const prevMatchedRef = useRef(isMatched);const prevFallingRef = useRef(isFalling);const prevRowRef = useRef(candy.row);useEffect(()=>{if(isMatched && !prevMatchedRef.current){scale.value = withTiming(0,{duration:300});opacity.value = withTiming(0,{duration:300});}else if(!isMatched && prevMatchedRef.current){scale.value = 1;opacity.value = 1;}prevMatchedRef.current = isMatched;},[isMatched]);useEffect(()=>{const rowChanged = candy.row !== prevRowRef.current;if(isFalling && !prevFallingRef.current){scale.value = withSpring(1,{damping:8,stiffness:40});}else if(rowChanged && isFalling){scale.value = withSpring(1,{damping:8,stiffness:40});}prevFallingRef.current = isFalling;prevRowRef.current = candy.row;},[isFalling,candy.row]);const panGesture = Gesture.Pan().onStart(()=>{zIndex.value = 1000;scale.value = withSpring(1.1);}).onUpdate(event =>{translateX.value = event.translationX;translateY.value = event.translationY;}).onEnd(event =>{const threshold = size * 0.3;const absX = Math.abs(event.translationX);const absY = Math.abs(event.translationY);if(absX > threshold || absY > threshold){if(absX > absY){if(event.translationX > 0){runOnJS(onSwipe)('right');}else{runOnJS(onSwipe)('left');}}else{if(event.translationY > 0){runOnJS(onSwipe)('down');}else{runOnJS(onSwipe)('up');}}}translateX.value = withSpring(0);translateY.value = withSpring(0);scale.value = withSpring(1);zIndex.value = withTiming(0,{duration:300});});const candyColor = gameService.getCandyColor(candy.type);const borderRadius = 8;const animatedStyle = useAnimatedStyle(()=>({transform:[{translateX:translateX.value},{translateY:translateY.value},{scale:scale.value}],opacity:opacity.value,zIndex:zIndex.value}));return _jsx(GestureDetector,{gesture:panGesture,children:_jsx(Animated.View,{style:[styles.container,{width:size,height:size},animatedStyle],children:_jsx(Canvas,{style:{width:size,height:size},children:_jsxs(Group,{children:[_jsx(RoundedRect,{x:2,y:2,width:size - 4,height:size - 4,r:borderRadius,color:candyColor}),_jsx(RoundedRect,{x:size * 0.15,y:size * 0.15,width:size * 0.35,height:size * 0.35,r:6,color:"rgba(255,255,255,0.5)"}),_jsx(RoundedRect,{x:6,y:6,width:size - 12,height:size - 12,r:borderRadius - 2,color:"rgba(255,255,255,0.2)"}),isSelected && _jsx(RoundedRect,{x:1,y:1,width:size - 2,height:size - 2,r:borderRadius + 1,color:"transparent",style:"stroke",strokeWidth:3,children:_jsx(Shadow,{dx:0,dy:0,blur:6,color:"rgba(255,255,255,1)"})})]})})})});};export const CandyItem = React.memo(CandyItemComponent,(prevProps,nextProps)=>{return prevProps.candy.id === nextProps.candy.id && prevProps.candy.type === nextProps.candy.type && prevProps.candy.row === nextProps.candy.row && prevProps.candy.col === nextProps.candy.col && prevProps.isMatched === nextProps.isMatched && prevProps.isFalling === nextProps.isFalling && prevProps.isSelected === nextProps.isSelected && prevProps.size === nextProps.size;});CandyItem.displayName = 'CandyItem';const styles = StyleSheet.create({container:{justifyContent:'center',alignItems:'center'}});
1
+ "use strict";import t,{useEffect as r,useRef as e}from"react";import{StyleSheet as a}from"react-native";import{Gesture as n,GestureDetector as i}from"react-native-gesture-handler";import s,{useSharedValue as o,useAnimatedStyle as h,withSpring as c,withTiming as d,runOnJS as l}from"react-native-reanimated";import{Canvas as m,RoundedRect as p,Group as g,Shadow as y,LinearGradient as f,vec as u}from"@shopify/react-native-skia";import{useMemo as M}from"react";import{CandyCrushService as w}from"../CandyCrushService.js";import{jsx as x,jsxs as C}from"react/jsx-runtime";const I=(t,r)=>{const e=parseInt(t.replace("#",""),16);return"#"+(Math.min(255,Math.max(0,(e>>16)+r))<<16|Math.min(255,Math.max(0,(e>>8&255)+r))<<8|Math.min(255,Math.max(0,(255&e)+r))).toString(16).padStart(6,"0")},j=new w,k=new Map,v=t=>(k.has(t)||k.set(t,{lighter:I(t,40),darker:I(t,-40)}),k.get(t)),b=({candy:t,size:a,isSelected:w,isMatched:I,isFalling:k,onSwipe:b})=>{const z=o(0),F=o(0),W=o(1),X=o(1),Y=o(0),q=e(I),A=e(k),B=e(t.row);r(()=>{I&&!q.current?(X.value=0,W.value=0):!I&&q.current&&(W.value=1,X.value=1),q.current=I},[I]),r(()=>{const r=t.row!==B.current;(k&&!A.current||r&&k)&&(W.value=c(1,{damping:8,stiffness:40})),A.current=k,B.current=t.row},[k,t.row]);const D=M(()=>n.Pan().onStart(()=>{Y.value=1e3,W.value=c(1.1)}).onUpdate(t=>{z.value=t.translationX,F.value=t.translationY}).onEnd(t=>{const r=.3*a,e=Math.abs(t.translationX),n=Math.abs(t.translationY);(e>r||n>r)&&(e>n?t.translationX>0?l(b)("right"):l(b)("left"):t.translationY>0?l(b)("down"):l(b)("up")),z.value=c(0),F.value=c(0),W.value=c(1),Y.value=d(0,{duration:300})}),[a,b,z,F,W,Y]),E=j.getCandyColor(t.type),G=.22*a,{lighter:H,darker:J}=v(E),K=h(()=>({transform:[{translateX:z.value},{translateY:F.value},{scale:W.value}],opacity:X.value,zIndex:Y.value}));return x(i,{gesture:D,children:x(s.View,{style:[S.container,{width:a,height:a},K],children:x(m,{style:{width:a,height:a},children:C(g,{children:[x(p,{x:2,y:2,width:a-4,height:a-4,r:G,children:x(f,{start:u(0,0),end:u(0,a),colors:[H,E,E,J]})}),x(p,{x:4,y:4,width:a-8,height:.4*(a-8),r:G-2,children:x(f,{start:u(0,0),end:u(0,.4*(a-8)),colors:["rgba(255, 255, 255, 0.45)","rgba(255, 255, 255, 0)"]})}),w&&x(p,{x:1,y:1,width:a-2,height:a-2,r:G+1,color:"transparent",style:"stroke",strokeWidth:3,children:x(y,{dx:0,dy:0,blur:8,color:"rgba(255, 255, 255, 1)"})})]})})})})};export const CandyItem=t.memo(b,(t,r)=>t.candy.id===r.candy.id&&t.candy.type===r.candy.type&&t.candy.row===r.candy.row&&t.candy.col===r.candy.col&&t.isMatched===r.isMatched&&t.isFalling===r.isFalling&&t.isSelected===r.isSelected&&t.size===r.size);CandyItem.displayName="CandyItem";const S=a.create({container:{justifyContent:"center",alignItems:"center"}});