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
- {"version":3,"names":["React","View","StyleSheet","Dimensions","Gesture","GestureDetector","runOnJS","GridComponent","BlockPieceComponent","useBlockBlastStore","BLOCK_BLAST_GAME_CONFIG","jsx","_jsx","jsxs","_jsxs","width","height","get","GameAreaComponent","gridSize","cellSize","cellGap","gameService","offset","grid","state","nextPieces","selectedPieceId","previewPosition","canPlace","dragState","setDragState","useState","pieceId","x","y","dragOffsetRef","useRef","layoutDimensions","useMemo","totalCellSize","gridWidth","gridHeight","piecesAreaHeight","controlButtonHeight","gapBetweenGridAndPieces","topPadding","gridPadding","totalContentHeight","availableHeight","contentStartY","gridStartX","gridStartY","Math","max","piecesAreaY","handlePieceDeselect","useCallback","getState","deselectPiece","handleTouchBegin","touchX","touchY","store","isPlaying","totalPadding","availableWidth","spaceBetweenPieces","totalSpacing","length","startX","i","piece","shape","previewCellSize","PREVIEW_PIECE_SCALE","previewGap","previewPieceWidth","previewPieceHeight","sectionWidth","pieceCenterX","pieceLeft","pieceTop","touchPadding","pieceRight","pieceBottom","selectPiece","id","draggingCellSize","DRAGGING_PIECE_SCALE","draggingGap","draggingPieceWidth","draggingPieceHeight","previewPieceCenterX","previewPieceCenterY","current","handleTouchMove","find","p","pieceWidth","pieceHeight","pieceCenterY","gridPos","getGridPosition","adjustedRow","row","floor","adjustedCol","col","canPlacePiece","updatePreviewPosition","clearPreview","handleTouchEnd","placePiece","panGesture","Pan","onBegin","event","absoluteX","absoluteY","onUpdate","onEnd","gesture","children","style","styles","container","gridContainer","left","top","padding","paddingTop","pointerEvents","previewPiece","color","piecesContainer","right","map","index","isDragging","scaledCellSize","scaledGap","pieceX","pieceTopInContainer","pieceWrapper","opacity","scale","draggedPiece","create","flex","position","borderRadius","zIndex","areGameAreaPropsEqual","prevProps","nextProps","GameArea","memo","displayName"],"sourceRoot":"../../../../../src","sources":["games/block-blast/components/GameArea.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAC3D,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,kBAAkB,QAAQ,uBAAoB;AACvD,SAASC,uBAAuB,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGjE,MAAM;EAAEC,KAAK;EAAEC;AAAO,CAAC,GAAGb,UAAU,CAACc,GAAG,CAAC,QAAQ,CAAC;AAUlD,MAAMC,iBAA0C,GAAGA,CAAC;EAClDC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,IAAI,GAAGf,kBAAkB,CAAEgB,KAAK,IAAKA,KAAK,CAACD,IAAI,CAAC;EACtD,MAAME,UAAU,GAAGjB,kBAAkB,CAAEgB,KAAK,IAAKA,KAAK,CAACC,UAAU,CAAC;EAClE,MAAMC,eAAe,GAAGlB,kBAAkB,CAAEgB,KAAK,IAAKA,KAAK,CAACE,eAAe,CAAC;EAC5E,MAAMC,eAAe,GAAGnB,kBAAkB,CAAEgB,KAAK,IAAKA,KAAK,CAACG,eAAe,CAAC;EAC5E,MAAMC,QAAQ,GAAGpB,kBAAkB,CAAEgB,KAAK,IAAKA,KAAK,CAACI,QAAQ,CAAC;;EAE9D;EACA,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG/B,KAAK,CAACgC,QAAQ,CAI7C;IAAEC,OAAO,EAAE,IAAI;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;;EAEjC;EACA,MAAMC,aAAa,GAAGpC,KAAK,CAACqC,MAAM,CAAC;IAAEH,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;;EAElD;EACA,MAAMG,gBAAgB,GAAGtC,KAAK,CAACuC,OAAO,CAAC,MAAM;IAC3C,MAAMC,aAAa,GAAGpB,QAAQ,GAAGC,OAAO;IACxC,MAAMoB,SAAS,GAAGtB,QAAQ,GAAGqB,aAAa,GAAGnB,OAAO;IACpD,MAAMqB,UAAU,GAAGvB,QAAQ,GAAGqB,aAAa,GAAGnB,OAAO;IAErD,MAAMsB,gBAAgB,GAAG,GAAG;IAC5B,MAAMC,mBAAmB,GAAG,EAAE;IAC9B,MAAMC,uBAAuB,GAAG,EAAE;IAClC,MAAMC,UAAU,GAAG,EAAE;IACrB,MAAMC,WAAW,GAAG,EAAE;IAEtB,MAAMC,kBAAkB,GAAGN,UAAU,GAAGG,uBAAuB,GAAGF,gBAAgB;IAClF,MAAMM,eAAe,GAAGjC,MAAM,GAAGO,MAAM,GAAGqB,mBAAmB,GAAGE,UAAU;IAC1E,MAAMI,aAAa,GAAG3B,MAAM,GAAGuB,UAAU,GAAG,CAACG,eAAe,GAAGD,kBAAkB,IAAI,CAAC;IAEtF,MAAMG,UAAU,GAAG,CAACpC,KAAK,GAAG0B,SAAS,IAAI,CAAC;IAC1C,MAAMW,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,aAAa,EAAE3B,MAAM,GAAGuB,UAAU,CAAC;IAC/D,MAAMS,WAAW,GAAGH,UAAU,GAAGV,UAAU,GAAGG,uBAAuB;IAErE,OAAO;MACLL,aAAa;MACbC,SAAS;MACTC,UAAU;MACVC,gBAAgB;MAChBQ,UAAU;MACVC,UAAU;MACVG,WAAW;MACXR;IACF,CAAC;EACH,CAAC,EAAE,CAAC5B,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAEE,MAAM,EAAER,KAAK,EAAEC,MAAM,CAAC,CAAC;EAExD,MAAM;IAAE2B,gBAAgB;IAAEQ,UAAU;IAAEC,UAAU;IAAEG,WAAW;IAAER;EAAY,CAAC,GAAGT,gBAAgB;;EAE/F;EACA,MAAMkB,mBAAmB,GAAGxD,KAAK,CAACyD,WAAW,CAAC,MAAM;IAClDhD,kBAAkB,CAACiD,QAAQ,CAAC,CAAC,CAACC,aAAa,CAAC,CAAC;IAC7C5B,YAAY,CAAC;MAAEE,OAAO,EAAE,IAAI;MAAEC,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE;IAAE,CAAC,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMyB,gBAAgB,GAAG5D,KAAK,CAACyD,WAAW,CACxC,CAACI,MAAc,EAAEC,MAAc,KAAK;IAClC,MAAMC,KAAK,GAAGtD,kBAAkB,CAACiD,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAACK,KAAK,CAACC,SAAS,EAAE;;IAEtB;IACA,MAAMC,YAAY,GAAG,EAAE;IACvB,MAAMC,cAAc,GAAGnD,KAAK,GAAGkD,YAAY,GAAG,CAAC;IAC/C,MAAME,kBAAkB,GAAG,EAAE;IAC7B,MAAMC,YAAY,GAAGD,kBAAkB,IAAIJ,KAAK,CAACrC,UAAU,CAAC2C,MAAM,GAAG,CAAC,CAAC;IACvE,MAAMC,MAAM,GAAGL,YAAY;IAE3B,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,KAAK,CAACrC,UAAU,CAAC2C,MAAM,EAAEE,CAAC,EAAE,EAAE;MAChD,MAAMC,KAAK,GAAGT,KAAK,CAACrC,UAAU,CAAC6C,CAAC,CAAC;MACjC,IAAI,CAACC,KAAK,IAAI,CAACA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;;MAE/C;MACA,MAAMC,eAAe,GAAGtD,QAAQ,GAAGV,uBAAuB,CAACiE,mBAAmB;MAC9E,MAAMC,UAAU,GAAGvD,OAAO,GAAGX,uBAAuB,CAACiE,mBAAmB;MACxE,MAAME,iBAAiB,GAAGL,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,IAAIK,eAAe,GAAGE,UAAU,CAAC;MAChF,MAAME,kBAAkB,GAAGN,KAAK,CAACC,KAAK,CAACJ,MAAM,IAAIK,eAAe,GAAGE,UAAU,CAAC;;MAE9E;MACA,MAAMG,YAAY,GAAG,CAACb,cAAc,GAAGE,YAAY,IAAIL,KAAK,CAACrC,UAAU,CAAC2C,MAAM;MAC9E,MAAMW,YAAY,GAAGV,MAAM,GAAGC,CAAC,IAAIQ,YAAY,GAAGZ,kBAAkB,CAAC,GAAGY,YAAY,GAAG,CAAC;;MAExF;MACA,MAAME,SAAS,GAAGD,YAAY,GAAGH,iBAAiB,GAAG,CAAC;MACtD,MAAMK,QAAQ,GAAG3B,WAAW,GAAG,CAACZ,gBAAgB,GAAGmC,kBAAkB,IAAI,CAAC;MAE1E,MAAMK,YAAY,GAAG,EAAE,CAAC,CAAC;;MAEzB;MACA,MAAMC,UAAU,GAAGH,SAAS,GAAGJ,iBAAiB;MAChD,MAAMQ,WAAW,GAAGH,QAAQ,GAAGJ,kBAAkB;MAEjD,IACEjB,MAAM,IAAIoB,SAAS,GAAGE,YAAY,IAClCtB,MAAM,IAAIuB,UAAU,GAAGD,YAAY,IACnCrB,MAAM,IAAIoB,QAAQ,GAAGC,YAAY,IACjCrB,MAAM,IAAIuB,WAAW,GAAGF,YAAY,EACpC;QACApB,KAAK,CAACuB,WAAW,CAACd,KAAK,CAACe,EAAE,CAAC;;QAE3B;QACA,MAAMC,gBAAgB,GAAGpE,QAAQ,GAAGV,uBAAuB,CAAC+E,oBAAoB;QAChF,MAAMC,WAAW,GAAGrE,OAAO,GAAGX,uBAAuB,CAAC+E,oBAAoB;QAC1E,MAAME,kBAAkB,GAAGnB,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,IAAImB,gBAAgB,GAAGE,WAAW,CAAC;QACnF,MAAME,mBAAmB,GAAGpB,KAAK,CAACC,KAAK,CAACJ,MAAM,IAAImB,gBAAgB,GAAGE,WAAW,CAAC;;QAEjF;QACA,MAAMG,mBAAmB,GAAGZ,SAAS,GAAGJ,iBAAiB,GAAG,CAAC;QAC7D,MAAMiB,mBAAmB,GAAGZ,QAAQ,GAAGJ,kBAAkB,GAAG,CAAC;QAE7D1C,aAAa,CAAC2D,OAAO,GAAG;UACtB7D,CAAC,EAAE2B,MAAM,GAAGgC,mBAAmB;UAC/B1D,CAAC,EAAE2B,MAAM,GAAGgC;QACd,CAAC;;QAED;QACA/D,YAAY,CAAC;UACXE,OAAO,EAAEuC,KAAK,CAACe,EAAE;UACjBrD,CAAC,EAAE2B,MAAM,GAAGzB,aAAa,CAAC2D,OAAO,CAAC7D,CAAC,GAAGyD,kBAAkB,GAAG,CAAC;UAC5DxD,CAAC,EAAE2B,MAAM,GAAG1B,aAAa,CAAC2D,OAAO,CAAC5D,CAAC,GAAGyD,mBAAmB,GAAG;QAC9D,CAAC,CAAC;QACF;MACF;IACF;EACF,CAAC,EACD,CAACxE,QAAQ,EAAEC,OAAO,EAAEkC,WAAW,EAAEZ,gBAAgB,EAAE5B,KAAK,CAC1D,CAAC;;EAED;EACA,MAAMiF,eAAe,GAAGhG,KAAK,CAACyD,WAAW,CACvC,CAACI,MAAc,EAAEC,MAAc,KAAK;IAClC,IAAI,CAAChC,SAAS,CAACG,OAAO,EAAE;IAExB,MAAM8B,KAAK,GAAGtD,kBAAkB,CAACiD,QAAQ,CAAC,CAAC;IAC3C,MAAMc,KAAK,GAAGT,KAAK,CAACrC,UAAU,CAACuE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACX,EAAE,KAAKzD,SAAS,CAACG,OAAO,CAAC;IACtE,IAAI,CAACuC,KAAK,IAAI,CAACA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;;IAE/C;IACA,MAAMe,gBAAgB,GAAGpE,QAAQ,GAAGV,uBAAuB,CAAC+E,oBAAoB;IAChF,MAAMC,WAAW,GAAGrE,OAAO,GAAGX,uBAAuB,CAAC+E,oBAAoB;IAC1E,MAAMU,UAAU,GAAG3B,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,IAAImB,gBAAgB,GAAGE,WAAW,CAAC;IAC3E,MAAMU,WAAW,GAAG5B,KAAK,CAACC,KAAK,CAACJ,MAAM,IAAImB,gBAAgB,GAAGE,WAAW,CAAC;;IAEzE;IACA3D,YAAY,CAAC;MACXE,OAAO,EAAEH,SAAS,CAACG,OAAO;MAC1BC,CAAC,EAAE2B,MAAM,GAAGzB,aAAa,CAAC2D,OAAO,CAAC7D,CAAC,GAAGiE,UAAU,GAAG,CAAC;MACpDhE,CAAC,EAAE2B,MAAM,GAAG1B,aAAa,CAAC2D,OAAO,CAAC5D,CAAC,GAAGiE,WAAW,GAAG;IACtD,CAAC,CAAC;;IAEF;IACA,MAAMpB,YAAY,GAAGnB,MAAM,GAAGzB,aAAa,CAAC2D,OAAO,CAAC7D,CAAC;IACrD,MAAMmE,YAAY,GAAGvC,MAAM,GAAG1B,aAAa,CAAC2D,OAAO,CAAC5D,CAAC;IAErD,MAAMmE,OAAO,GAAGhF,WAAW,CAACiF,eAAe,CACzCvB,YAAY,EACZqB,YAAY,EACZlD,UAAU,EACVC,UAAU,EACVhC,QAAQ,EACRC,OACF,CAAC;IAED,IAAIiF,OAAO,EAAE;MACX,MAAME,WAAW,GAAGF,OAAO,CAACG,GAAG,GAAGpD,IAAI,CAACqD,KAAK,CAAClC,KAAK,CAACC,KAAK,CAACJ,MAAM,GAAG,CAAC,CAAC;MACpE,MAAMsC,WAAW,GAAGL,OAAO,CAACM,GAAG,GAAGvD,IAAI,CAACqD,KAAK,CAAClC,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,GAAG,CAAC,CAAC;MACvE,MAAMwC,aAAa,GAAGvF,WAAW,CAACuF,aAAa,CAAC/E,SAAS,CAACG,OAAO,EAAEuE,WAAW,EAAEG,WAAW,CAAC;MAC5F5C,KAAK,CAAC+C,qBAAqB,CAACN,WAAW,EAAEG,WAAW,EAAEE,aAAa,CAAC;IACtE,CAAC,MAAM;MACL9C,KAAK,CAACgD,YAAY,CAAC,CAAC;IACtB;EACF,CAAC,EACD,CAACjF,SAAS,CAACG,OAAO,EAAEb,QAAQ,EAAEC,OAAO,EAAE8B,UAAU,EAAEC,UAAU,EAAE9B,WAAW,CAC5E,CAAC;;EAED;EACA,MAAM0F,cAAc,GAAGhH,KAAK,CAACyD,WAAW,CACtC,CAACI,MAAc,EAAEC,MAAc,KAAK;IAClC,IAAI,CAAChC,SAAS,CAACG,OAAO,EAAE;IAExB,MAAM8B,KAAK,GAAGtD,kBAAkB,CAACiD,QAAQ,CAAC,CAAC;IAC3C,MAAMc,KAAK,GAAGT,KAAK,CAACrC,UAAU,CAACuE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACX,EAAE,KAAKzD,SAAS,CAACG,OAAO,CAAC;IACtE,IAAI,CAACuC,KAAK,IAAI,CAACA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;IAE/C,MAAMO,YAAY,GAAGnB,MAAM,GAAGzB,aAAa,CAAC2D,OAAO,CAAC7D,CAAC;IACrD,MAAMmE,YAAY,GAAGvC,MAAM,GAAG1B,aAAa,CAAC2D,OAAO,CAAC5D,CAAC;IAErD,MAAMmE,OAAO,GAAGhF,WAAW,CAACiF,eAAe,CACzCvB,YAAY,EACZqB,YAAY,EACZlD,UAAU,EACVC,UAAU,EACVhC,QAAQ,EACRC,OACF,CAAC;IAED,IAAIiF,OAAO,EAAE;MACX,MAAME,WAAW,GAAGF,OAAO,CAACG,GAAG,GAAGpD,IAAI,CAACqD,KAAK,CAAClC,KAAK,CAACC,KAAK,CAACJ,MAAM,GAAG,CAAC,CAAC;MACpE,MAAMsC,WAAW,GAAGL,OAAO,CAACM,GAAG,GAAGvD,IAAI,CAACqD,KAAK,CAAClC,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,GAAG,CAAC,CAAC;MACvE/C,WAAW,CAAC2F,UAAU,CAACnF,SAAS,CAACG,OAAO,EAAEuE,WAAW,EAAEG,WAAW,CAAC;IACrE;IAEAnD,mBAAmB,CAAC,CAAC;EACvB,CAAC,EACD,CAAC1B,SAAS,CAACG,OAAO,EAAEb,QAAQ,EAAEC,OAAO,EAAE8B,UAAU,EAAEC,UAAU,EAAE9B,WAAW,EAAEkC,mBAAmB,CACjG,CAAC;;EAED;EACA,MAAM0D,UAAU,GAAGlH,KAAK,CAACuC,OAAO,CAC9B,MACEnC,OAAO,CAAC+G,GAAG,CAAC,CAAC,CACVC,OAAO,CAAEC,KAAK,IAAK;IAClB,SAAS;;IACT/G,OAAO,CAACsD,gBAAgB,CAAC,CAACyD,KAAK,CAACC,SAAS,EAAED,KAAK,CAACE,SAAS,CAAC;EAC7D,CAAC,CAAC,CACDC,QAAQ,CAAEH,KAAK,IAAK;IACnB,SAAS;;IACT/G,OAAO,CAAC0F,eAAe,CAAC,CAACqB,KAAK,CAACC,SAAS,EAAED,KAAK,CAACE,SAAS,CAAC;EAC5D,CAAC,CAAC,CACDE,KAAK,CAAEJ,KAAK,IAAK;IAChB,SAAS;;IACT/G,OAAO,CAAC0G,cAAc,CAAC,CAACK,KAAK,CAACC,SAAS,EAAED,KAAK,CAACE,SAAS,CAAC;EAC3D,CAAC,CAAC,EACN,CAAC3D,gBAAgB,EAAEoC,eAAe,EAAEgB,cAAc,CACpD,CAAC;EAED,oBACEpG,IAAA,CAACP,eAAe;IAACqH,OAAO,EAAER,UAAW;IAAAS,QAAA,eACnC7G,KAAA,CAACb,IAAI;MAAC2H,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,gBAE5B/G,IAAA,CAACX,IAAI;QACH2H,KAAK,EAAE,CACLC,MAAM,CAACE,aAAa,EACpB;UACEC,IAAI,EAAE7E,UAAU,GAAGJ,WAAW;UAC9BkF,GAAG,EAAE7E,UAAU,GAAGL,WAAW;UAC7BmF,OAAO,EAAEnF,WAAW;UACpBoF,UAAU,EAAEpF,WAAW,GAAG;QAC5B,CAAC,CACD;QACFqF,aAAa,EAAC,UAAU;QAAAT,QAAA,eAExB/G,IAAA,CAACL,aAAa;UACZiB,IAAI,EAAEA,IAAK;UACXL,QAAQ,EAAEA,QAAS;UACnBC,QAAQ,EAAEA,QAAS;UACnBC,OAAO,EAAEA,OAAQ;UACjBgH,YAAY,EACVzG,eAAe,IAAID,eAAe,GAC9B,CAAC,MAAM;YACL,MAAM6C,KAAK,GAAG9C,UAAU,CAACuE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACX,EAAE,KAAK5D,eAAe,CAAC;YAC9D,OAAO6C,KAAK,GACR;cACEC,KAAK,EAAED,KAAK,CAACC,KAAK;cAClB6D,KAAK,EAAE9D,KAAK,CAAC8D,KAAK;cAClB7B,GAAG,EAAE7E,eAAe,CAAC6E,GAAG;cACxBG,GAAG,EAAEhF,eAAe,CAACgF,GAAG;cACxB/E,QAAQ,EAAEA;YACZ,CAAC,GACD,IAAI;UACV,CAAC,EAAE,CAAC,GACJ;QACL,CACF;MAAC,CACE,CAAC,eAGPjB,IAAA,CAACX,IAAI;QACH2H,KAAK,EAAE,CACLC,MAAM,CAACU,eAAe,EACtB;UACEN,GAAG,EAAE1E,WAAW;UAChByE,IAAI,EAAE,CAAC;UACPQ,KAAK,EAAE,CAAC;UACRxH,MAAM,EAAE2B;QACV,CAAC,CACD;QACFyF,aAAa,EAAC,UAAU;QAAAT,QAAA,EAEvBjG,UAAU,CAAC+G,GAAG,CAAC,CAACjE,KAAK,EAAEkE,KAAK,KAAK;UAChC,IAAI,CAAClE,KAAK,IAAI,CAACA,KAAK,CAACC,KAAK,EAAE,OAAO,IAAI;UAEvC,MAAMkE,UAAU,GAAGhH,eAAe,KAAK6C,KAAK,CAACe,EAAE;;UAE/C;UACA,MAAMqD,cAAc,GAAGxH,QAAQ,GAAGV,uBAAuB,CAACiE,mBAAmB;UAC7E,MAAMkE,SAAS,GAAGxH,OAAO,GAAGX,uBAAuB,CAACiE,mBAAmB;UACvE,MAAMwB,UAAU,GACd3B,KAAK,CAACC,KAAK,IAAID,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,GACzBD,KAAK,CAACC,KAAK,CAAC,CAAC,CAAC,CAACJ,MAAM,IAAIuE,cAAc,GAAGC,SAAS,CAAC,GACpD,CAAC;;UAEP;UACA,MAAM5E,YAAY,GAAG,EAAE,CAAC,CAAC;UACzB,MAAMC,cAAc,GAAGnD,KAAK,GAAGkD,YAAY,GAAG,CAAC;UAC/C,MAAME,kBAAkB,GAAG,EAAE,CAAC,CAAC;UAC/B,MAAMC,YAAY,GAAGD,kBAAkB,IAAIzC,UAAU,CAAC2C,MAAM,GAAG,CAAC,CAAC;UACjE,MAAMC,MAAM,GAAGL,YAAY;;UAE3B;UACA,MAAMc,YAAY,GAAG,CAACb,cAAc,GAAGE,YAAY,IAAI1C,UAAU,CAAC2C,MAAM;UACxE,MAAMyE,MAAM,GAAGxE,MAAM,GAAGoE,KAAK,IAAI3D,YAAY,GAAGZ,kBAAkB,CAAC,GAAGY,YAAY,GAAG,CAAC;UAEtF,MAAMqB,WAAW,GACf5B,KAAK,CAACC,KAAK,IAAID,KAAK,CAACC,KAAK,CAACJ,MAAM,GAC7BG,KAAK,CAACC,KAAK,CAACJ,MAAM,IAAIuE,cAAc,GAAGC,SAAS,CAAC,GACjD,CAAC;;UAEP;UACA,MAAME,mBAAmB,GAAG,CAACpG,gBAAgB,GAAGyD,WAAW,IAAI,CAAC;UAEhE,oBACExF,IAAA,CAACX,IAAI;YAEH2H,KAAK,EAAE,CACLC,MAAM,CAACmB,YAAY,EACnB;cACEhB,IAAI,EAAEc,MAAM,GAAG3C,UAAU,GAAG,CAAC;cAC7B8B,GAAG,EAAEc,mBAAmB;cACxBhI,KAAK,EAAEoF,UAAU;cACjBnF,MAAM,EAAEoF,WAAW;cACnB6C,OAAO,EAAEN,UAAU,GAAG,GAAG,GAAG;YAC9B,CAAC,CACD;YACFP,aAAa,EAAC,UAAU;YAAAT,QAAA,eAExB/G,IAAA,CAACJ,mBAAmB;cAClBiE,KAAK,EAAED,KAAK,CAACC,KAAM;cACnB6D,KAAK,EAAE9D,KAAK,CAAC8D,KAAM;cACnBlH,QAAQ,EAAEA,QAAS;cACnBC,OAAO,EAAEA,OAAQ;cACjB6H,KAAK,EAAExI,uBAAuB,CAACiE;YAAoB,CACpD;UAAC,GAnBGH,KAAK,CAACe,EAoBP,CAAC;QAEX,CAAC;MAAC,CACE,CAAC,EAGNzD,SAAS,CAACG,OAAO,IAAI,CAAC,MAAM;QAC3B,MAAMuC,KAAK,GAAG9C,UAAU,CAACuE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACX,EAAE,KAAKzD,SAAS,CAACG,OAAO,CAAC;QAChE,IAAI,CAACuC,KAAK,EAAE,OAAO,IAAI;QAEvB,oBACE5D,IAAA,CAACX,IAAI;UACH2H,KAAK,EAAE,CACLC,MAAM,CAACsB,YAAY,EACnB;YACEnB,IAAI,EAAElG,SAAS,CAACI,CAAC;YACjB+F,GAAG,EAAEnG,SAAS,CAACK;UACjB,CAAC,CACD;UACFiG,aAAa,EAAC,MAAM;UAAAT,QAAA,eAEpB/G,IAAA,CAACJ,mBAAmB;YAClBiE,KAAK,EAAED,KAAK,CAACC,KAAM;YACnB6D,KAAK,EAAE9D,KAAK,CAAC8D,KAAM;YACnBlH,QAAQ,EAAEA,QAAS;YACnBC,OAAO,EAAEA,OAAQ;YACjB6H,KAAK,EAAExI,uBAAuB,CAAC+E,oBAAqB;YACpDkD,UAAU,EAAE;UAAK,CAClB;QAAC,CACE,CAAC;MAEX,CAAC,EAAE,CAAC;IAAA,CACA;EAAC,CACQ,CAAC;AAEtB,CAAC;AAED,MAAMd,MAAM,GAAG3H,UAAU,CAACkJ,MAAM,CAAC;EAC/BtB,SAAS,EAAE;IACTuB,IAAI,EAAE;EACR,CAAC;EACDtB,aAAa,EAAE;IACbuB,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE;EAChB,CAAC;EACDhB,eAAe,EAAE;IACfe,QAAQ,EAAE;EACZ,CAAC;EACDN,YAAY,EAAE;IACZM,QAAQ,EAAE;EACZ,CAAC;EACDH,YAAY,EAAE;IACZG,QAAQ,EAAE,UAAU;IACpBE,MAAM,EAAE;EACV;AACF,CAAC,CAAC;;AAEF;AACA,MAAMC,qBAAqB,GAAGA,CAACC,SAAwB,EAAEC,SAAwB,KAAK;EACpF,OACED,SAAS,CAACvI,QAAQ,KAAKwI,SAAS,CAACxI,QAAQ,IACzCuI,SAAS,CAACtI,QAAQ,KAAKuI,SAAS,CAACvI,QAAQ,IACzCsI,SAAS,CAACrI,OAAO,KAAKsI,SAAS,CAACtI,OAAO,IACvCqI,SAAS,CAACnI,MAAM,KAAKoI,SAAS,CAACpI,MAAM,IACrCmI,SAAS,CAACpI,WAAW,KAAKqI,SAAS,CAACrI,WAAW;AAEnD,CAAC;AAED,OAAO,MAAMsI,QAAQ,gBAAG5J,KAAK,CAAC6J,IAAI,CAAC3I,iBAAiB,EAAEuI,qBAAqB,CAAC;AAC5EG,QAAQ,CAACE,WAAW,GAAG,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","Dimensions","Gesture","GestureDetector","runOnJS","GridComponent","BlockPieceComponent","useBlockBlastStore","BLOCK_BLAST_GAME_CONFIG","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","width","height","get","PiecesRenderer","memo","nextPieces","selectedPieceId","cellSize","cellGap","piecesAreaHeight","screenWidth","scaledCellSize","PREVIEW_PIECE_SCALE","scaledGap","totalPadding","availableWidth","spaceBetweenPieces","totalSpacing","length","startX","sectionWidth","children","map","piece","index","shape","isDragging","id","pieceWidth","pieceHeight","pieceX","pieceTopInContainer","style","styles","pieceWrapper","left","top","opacity","pointerEvents","color","scale","displayName","GameAreaComponent","gridSize","gameService","offset","grid","state","previewPosition","canPlace","dragState","setDragState","useState","pieceId","x","y","dragOffsetRef","useRef","layoutDimensions","useMemo","totalCellSize","gridWidth","gridHeight","controlButtonHeight","scoreboardHeight","gapBetweenGridAndPieces","gridPadding","totalContentHeight","topOffset","availableHeight","contentStartY","gridStartX","gridStartY","Math","max","piecesAreaY","previewPieceMemo","find","p","row","col","handlePieceDeselect","useCallback","getState","deselectPiece","handleTouchBegin","touchX","touchY","store","isPlaying","i","previewCellSize","previewGap","previewPieceWidth","previewPieceHeight","pieceCenterX","pieceLeft","pieceTop","touchPadding","pieceRight","pieceBottom","selectPiece","draggingCellSize","DRAGGING_PIECE_SCALE","draggingGap","draggingPieceWidth","draggingPieceHeight","previewPieceCenterX","previewPieceCenterY","current","handleTouchMove","pieceCenterY","gridPos","getGridPosition","adjustedRow","floor","adjustedCol","canPlacePiece","updatePreviewPosition","clearPreview","handleTouchEnd","placePiece","panGesture","Pan","onBegin","event","absoluteX","absoluteY","onUpdate","onEnd","gesture","container","gridContainer","padding","paddingTop","previewPiece","piecesContainer","right","draggedPiece","create","flex","position","borderRadius","zIndex","areGameAreaPropsEqual","prevProps","nextProps","GameArea"],"sourceRoot":"../../../../../src","sources":["games/block-blast/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,RoundedRect}from '@shopify/react-native-skia';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');const PUZZLE_COLORS = ['#E91E63','#F44336','#FF5722','#FF9800','#FFC107','#CDDC39','#4CAF50','#009688','#00BCD4','#2196F3','#3F51B5','#9C27B0' ];const GameBackgroundView =({children})=>{const generateFloatingBlocks = React.useMemo(()=>{const elements = [];const tileCount = 25;for(let i = 0;i < tileCount;i++){const baseX = width / tileCount * i;const baseY = height / tileCount * i;const x = baseX + Math.sin(i * 0.5)* 50 + Math.random()* 100;const y = baseY + Math.cos(i * 0.7)* 60 + Math.random()* 120;const tileSize = 20 + Math.random()* 20;const colorIndex = i % PUZZLE_COLORS.length;const opacity = 0.3 + Math.sin(i)* 0.15;const tileX = Math.max(tileSize / 2,Math.min(width - tileSize,x));const tileY = Math.max(tileSize / 2,Math.min(height - tileSize,y));if(i % 4 === 0){elements.push(_jsx(RoundedRect,{x:tileX,y:tileY,width:tileSize,height:tileSize,r:tileSize * 0.2,color:`${PUZZLE_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`square-tile-${i}`));}else if(i % 4 === 1){elements.push(_jsx(RoundedRect,{x:tileX,y:tileY,width:tileSize * 0.6,height:tileSize,r:tileSize * 0.15,color:`${PUZZLE_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`rect-tile-${i}`));}else if(i % 4 === 2){elements.push(_jsx(RoundedRect,{x:tileX,y:tileY,width:tileSize * 1.2,height:tileSize * 0.8,r:tileSize * 0.1,color:`${PUZZLE_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`wide-tile-${i}`));}else{elements.push(_jsx(Circle,{cx:tileX + tileSize / 2,cy:tileY + tileSize / 2,r:tileSize / 2,color:`${PUZZLE_COLORS[colorIndex]}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`circle-tile-${i}`));}}return elements;},[width,height]);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:[`${PUZZLE_COLORS[0]}30`,`${PUZZLE_COLORS[3]}25`,`${PUZZLE_COLORS[6]}30`,`${PUZZLE_COLORS[9]}25`,`${PUZZLE_COLORS[11]}30` ]})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(width / 2,height / 2),colors:[`${PUZZLE_COLORS[1]}20`,'transparent',`${PUZZLE_COLORS[4]}20`,'transparent',`${PUZZLE_COLORS[7]}20`,'transparent']})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(width,0),end:vec(0,height),colors:[`${PUZZLE_COLORS[2]}15`,'transparent',`${PUZZLE_COLORS[5]}15`,'transparent',`${PUZZLE_COLORS[8]}15`,'transparent']})}),generateFloatingBlocks,_jsx(RoundedRect,{x:width * 0.08,y:height * 0.12,width:50,height:50,r:8,color:`${PUZZLE_COLORS[0]}50`}),_jsx(RoundedRect,{x:width * 0.85,y:height * 0.82,width:45,height:45,r:7,color:`${PUZZLE_COLORS[3]}50`}),_jsx(RoundedRect,{x:width * 0.82,y:height * 0.18,width:40,height:40,r:6,color:`${PUZZLE_COLORS[6]}50`}),_jsx(RoundedRect,{x:width * 0.12,y:height * 0.75,width:55,height:55,r:9,color:`${PUZZLE_COLORS[9]}50`}),_jsx(RoundedRect,{x:width * 0.47,y:height * 0.08,width:35,height:35,r:5,color:`${PUZZLE_COLORS[11]}50`}),_jsx(RoundedRect,{x:width * 0.15,y:height * 0.47,width:42,height:42,r:6,color:`${PUZZLE_COLORS[5]}50`}),_jsx(RoundedRect,{x:width * 0.75,y:height * 0.57,width:38,height:38,r:6,color:`${PUZZLE_COLORS[8]}50`}),_jsx(RoundedRect,{x:width * 0.57,y:height * 0.87,width:32,height:32,r:5,color:`${PUZZLE_COLORS[1]}50`}),_jsx(Circle,{cx:width * 0.25,cy:height * 0.25,r:18,color:`${PUZZLE_COLORS[4]}45`}),_jsx(Circle,{cx:width * 0.65,cy:height * 0.35,r:22,color:`${PUZZLE_COLORS[7]}45`}),_jsx(Circle,{cx:width * 0.35,cy:height * 0.65,r:16,color:`${PUZZLE_COLORS[10]}45`}),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.03)"},`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.03)"},`grid-h-${i}`))]}),children]});};export const GameBackground = React.memo(GameBackgroundView);GameBackground.displayName = 'GameBackground';
1
+ "use strict";import t from"react";import{View as r,Dimensions as o}from"react-native";import{Canvas as h,LinearGradient as i,Rect as e,vec as a,RoundedRect as c}from"@shopify/react-native-skia";import{jsx as s,jsxs as n}from"react/jsx-runtime";const{width:d,height:l}=o.get("window"),m=["#E91E63","#FF9800","#4CAF50","#2196F3","#9C27B0"],g=({children:o})=>{const g=t.useMemo(()=>{const t=[];for(let r=0;10>r;r++){const o=l/10*r,h=d/10*r+50*Math.sin(.5*r)+17*r%100,i=o+60*Math.cos(.7*r)+23*r%120,e=25+7*r%15,a=r%5,n=Math.max(e/2,Math.min(d-e,h)),g=Math.max(e/2,Math.min(l-e,i));t.push(s(c,{x:n,y:g,width:e,height:e,r:4,color:m[a]+"40"},"tile-"+r))}return t},[]);return n(r,{style:{flex:1},children:[n(h,{style:{position:"absolute",top:0,left:0,right:0,bottom:0,width:d,height:l},children:[s(e,{x:0,y:0,width:d,height:l,children:s(i,{start:a(0,0),end:a(d,l),colors:[m[0]+"30",m[1]+"25",m[2]+"30",m[3]+"25",m[4]+"30"]})}),g,s(c,{x:.08*d,y:.12*l,width:45,height:45,r:6,color:m[0]+"40"}),s(c,{x:.85*d,y:.82*l,width:40,height:40,r:6,color:m[1]+"40"}),s(c,{x:.82*d,y:.18*l,width:35,height:35,r:5,color:m[2]+"40"}),s(c,{x:.12*d,y:.75*l,width:45,height:45,r:6,color:m[3]+"40"})]}),o]})};export const GameBackground=t.memo(g);GameBackground.displayName="GameBackground";
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Dimensions","Canvas","LinearGradient","Rect","vec","Circle","RoundedRect","jsx","_jsx","jsxs","_jsxs","width","height","get","PUZZLE_COLORS","GameBackgroundView","children","generateFloatingBlocks","useMemo","elements","tileCount","i","baseX","baseY","x","Math","sin","random","y","cos","tileSize","colorIndex","length","opacity","tileX","max","min","tileY","push","r","color","floor","toString","padStart","cx","cy","style","flex","position","top","left","right","bottom","start","end","colors","Array","from","_","GameBackground","memo","displayName"],"sourceRoot":"../../../../../src","sources":["games/block-blast/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Dimensions","Canvas","LinearGradient","Rect","vec","RoundedRect","jsx","_jsx","jsxs","_jsxs","width","height","get","PUZZLE_COLORS","GameBackgroundView","children","generateFloatingBlocks","useMemo","elements","tileCount","i","baseX","baseY","x","Math","sin","y","cos","tileSize","colorIndex","length","tileX","max","min","tileY","push","r","color","style","flex","position","top","left","right","bottom","start","end","colors","GameBackground","memo","displayName"],"sourceRoot":"../../../../../src","sources":["games/block-blast/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{Canvas,RoundedRect,Group}from '@shopify/react-native-skia';import{BLOCK_BLAST_COLORS}from "../BlockBlastConstants.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const GridComponentView =({grid,gridSize,cellSize,cellGap,previewPiece})=>{const totalCellSize = cellSize + cellGap;const canvasSize = gridSize * totalCellSize + cellGap;return _jsxs(Canvas,{style:{width:canvasSize,height:canvasSize},children:[_jsx(RoundedRect,{x:0,y:0,width:canvasSize,height:canvasSize,r:12,color:"rgba(26,29,58,0.8)"}),grid.map((row,rowIndex)=> row.map((cell,colIndex)=>{const x = colIndex * totalCellSize + cellGap;const y = rowIndex * totalCellSize + cellGap;const color = cell || BLOCK_BLAST_COLORS.EMPTY_CELL;return _jsxs(Group,{children:[_jsx(RoundedRect,{x:x,y:y,width:cellSize,height:cellSize,r:4,color:color}),cell && _jsx(RoundedRect,{x:x + 2,y:y + 2,width:cellSize - 4,height:cellSize / 3,r:3,color:"rgba(255,255,255,0.3)"})]},`cell-${rowIndex}-${colIndex}`);})),previewPiece && previewPiece.shape.map((row,rowIndex)=> row.map((cell,colIndex)=>{if(cell === 1){const gridRow = previewPiece.row + rowIndex;const gridCol = previewPiece.col + colIndex;if(gridRow >= 0 && gridRow < gridSize && gridCol >= 0 && gridCol < gridSize){const x = gridCol * totalCellSize + cellGap;const y = gridRow * totalCellSize + cellGap;const previewColor = previewPiece.canPlace ? previewPiece.color:'#ff4444';const opacity = previewPiece.canPlace ? 0.5:0.3;return _jsx(RoundedRect,{x:x,y:y,width:cellSize,height:cellSize,r:4,color:`${previewColor}${Math.floor(opacity * 255).toString(16).padStart(2,'0')}`},`preview-${rowIndex}-${colIndex}`);}}return null;}))]});};const areGridPropsEqual =(prevProps,nextProps)=>{if(prevProps.gridSize !== nextProps.gridSize || prevProps.cellSize !== nextProps.cellSize || prevProps.cellGap !== nextProps.cellGap){return false;}if(prevProps.previewPiece !== nextProps.previewPiece){if(!prevProps.previewPiece || !nextProps.previewPiece)return false;if(prevProps.previewPiece.row !== nextProps.previewPiece.row || prevProps.previewPiece.col !== nextProps.previewPiece.col || prevProps.previewPiece.canPlace !== nextProps.previewPiece.canPlace || prevProps.previewPiece.color !== nextProps.previewPiece.color){return false;}}for(let i = 0;i < prevProps.grid.length;i++){const prevRow = prevProps.grid[i];const nextRow = nextProps.grid[i];if(!prevRow || !nextRow)return false;for(let j = 0;j < prevRow.length;j++){if(prevRow[j] !== nextRow[j]){return false;}}}return true;};export const GridComponent = React.memo(GridComponentView,areGridPropsEqual);GridComponent.displayName = 'GridComponent';
1
+ "use strict";import e from"react";import{View as t,StyleSheet as r}from"react-native";import{Canvas as i,RoundedRect as o,Group as l}from"@shopify/react-native-skia";import{BLOCK_BLAST_COLORS as n}from"../BlockBlastConstants.js";import{useBlockBlastStore as c}from"../BlockBlastStore.js";import{BlastAnimation as s}from"./BlastAnimation.js";import{jsx as h,jsxs as a}from"react/jsx-runtime";const m=e.memo(({x:e,y:t,cellSize:r,color:i,hasFill:n})=>a(l,{children:[h(o,{x:e,y:t,width:r,height:r,r:4,color:i}),n&&h(o,{x:e+2,y:t+2,width:r-4,height:r/3,r:3,color:"rgba(255, 255, 255, 0.3)"})]}));m.displayName="GridCell";const f=({grid:e,gridSize:l,cellSize:c,cellGap:f,previewPiece:p,clearingCells:d,onAnimationComplete:u})=>{const g=c+f,x=l*g+f;return a(t,{style:{width:x,height:x},children:[a(i,{style:{width:x,height:x},children:[h(o,{x:0,y:0,width:x,height:x,r:12,color:"#1e2140"}),h(o,{x:1,y:1,width:x-2,height:x-2,r:11,color:"#161830"}),e.map((e,t)=>e.map((e,r)=>h(m,{x:r*g+f,y:t*g+f,cellSize:c,color:e||n.EMPTY_CELL,hasFill:!!e},`cell-${t}-${r}`))),p&&p.shape.map((e,t)=>e.map((e,r)=>{if(1===e){const e=p.row+t,i=p.col+r;if(e>=0&&l>e&&i>=0&&l>i){const l=i*g+f,n=e*g+f,s=p.canPlace?p.color:"#ff4444",a=p.canPlace?.5:.3;return h(o,{x:l,y:n,width:c,height:c,r:4,color:`${s}${Math.floor(255*a).toString(16).padStart(2,"0")}`},`preview-${t}-${r}`)}}return null}))]}),h(t,{style:[r.absoluteFill,{pointerEvents:"none"}],children:h(s,{cells:d,cellSize:c,cellGap:f,totalCellSize:g,onComplete:u})})]})},p=(e,t)=>{if(e.gridSize!==t.gridSize||e.cellSize!==t.cellSize||e.cellGap!==t.cellGap||e.clearingCells!==t.clearingCells)return!1;if(e.previewPiece!==t.previewPiece){if(!e.previewPiece||!t.previewPiece)return!1;if(e.previewPiece.row!==t.previewPiece.row||e.previewPiece.col!==t.previewPiece.col||e.previewPiece.canPlace!==t.previewPiece.canPlace||e.previewPiece.color!==t.previewPiece.color)return!1}for(let r=0;r<e.grid.length;r++){const i=e.grid[r],o=t.grid[r];if(!i||!o)return!1;for(let e=0;e<i.length;e++)if(i[e]!==o[e])return!1}return!0},d=e.memo(f,p);export const GridComponent=t=>{const r=c(e=>e.clearingCells),i=c(e=>e.clearClearingCells),o=e.useCallback(()=>{i()},[i]);return h(d,{...t,clearingCells:r,onAnimationComplete:o})};GridComponent.displayName="GridComponent";
@@ -1 +1 @@
1
- {"version":3,"names":["React","Canvas","RoundedRect","Group","BLOCK_BLAST_COLORS","jsx","_jsx","jsxs","_jsxs","GridComponentView","grid","gridSize","cellSize","cellGap","previewPiece","totalCellSize","canvasSize","style","width","height","children","x","y","r","color","map","row","rowIndex","cell","colIndex","EMPTY_CELL","shape","gridRow","gridCol","col","previewColor","canPlace","opacity","Math","floor","toString","padStart","areGridPropsEqual","prevProps","nextProps","i","length","prevRow","nextRow","j","GridComponent","memo","displayName"],"sourceRoot":"../../../../../src","sources":["games/block-blast/components/GridComponent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","Canvas","RoundedRect","Group","BLOCK_BLAST_COLORS","useBlockBlastStore","BlastAnimation","jsx","_jsx","jsxs","_jsxs","GridCell","memo","x","y","cellSize","color","hasFill","children","width","height","r","displayName","GridComponentInternal","grid","gridSize","cellGap","previewPiece","clearingCells","onAnimationComplete","totalCellSize","canvasSize","style","map","row","rowIndex","cell","colIndex","EMPTY_CELL","shape","gridRow","gridCol","col","previewColor","canPlace","opacity","Math","floor","toString","padStart","absoluteFill","pointerEvents","cells","onComplete","areGridPropsEqual","prevProps","nextProps","i","length","prevRow","nextRow","j","MemoizedGridComponent","GridComponent","props","state","clearClearingCells","handleAnimationComplete","useCallback"],"sourceRoot":"../../../../../src","sources":["games/block-blast/components/GridComponent.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,Text,StyleSheet}from 'react-native';import{ScoreBoardContainer}from "../../../helpers/index.js";import{useScore,useTimeRemaining}from "../BlockBlastStore.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const score = useScore();const timeRemaining = useTimeRemaining();const formattedTime = React.useMemo(()=>{const mins = Math.floor(timeRemaining / 60);const secs = timeRemaining % 60;return `${mins}:${secs.toString().padStart(2,'0')}`;},[timeRemaining]);const isLowTime = React.useMemo(()=> timeRemaining < 30,[timeRemaining]);return _jsx(ScoreBoardContainer,{offset:offset,backgroundColor:"rgba(255,105,180,0.4)",borderColor:"rgba(255,105,180,0.4)",children:_jsxs(View,{style:styles.rowContainer,children:[_jsxs(View,{style:styles.scoreSection,children:[_jsx(Text,{style:styles.label,children:"SCORE"}),_jsx(Text,{style:styles.value,children:score})]}),_jsxs(View,{style:styles.timerSection,children:[_jsx(Text,{style:styles.label,children:"TIME"}),_jsx(Text,{style:[styles.value,isLowTime && styles.lowTime],children:formattedTime})]})]})});});ScoreBoard.displayName = 'ScoreBoard';const styles = StyleSheet.create({rowContainer:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',width:'100%'},scoreSection:{flex:1,alignItems:'center'},timerSection:{flex:1,alignItems:'center'},lowTime:{color:'#ff4444'},label:{fontSize:16,fontWeight:'bold',color:'#ffffff',marginBottom:4,letterSpacing:0.5},value:{fontSize:25,fontWeight:'bold',color:'#ffffff'}});
1
+ "use strict";import e from"react";import{View as r,Text as t,StyleSheet as o}from"react-native";import{ScoreBoardContainer as l}from"../../../helpers/index.js";import{useScore as n,useTimeRemaining as i}from"../BlockBlastStore.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";export const ScoreBoard=e.memo(({offset:o=0})=>{const a=n(),m=i(),d=e.useMemo(()=>`${Math.floor(m/60)}:${(""+m%60).padStart(2,"0")}`,[m]),h=e.useMemo(()=>30>m,[m]);return c(l,{offset:o,backgroundColor:"rgba(255, 105, 180, 0.4)",borderColor:"rgba(255, 105, 180, 0.4)",children:f(r,{style:s.rowContainer,children:[f(r,{style:s.scoreSection,children:[c(t,{style:s.label,children:"SCORE"}),c(t,{style:s.value,children:a})]}),f(r,{style:s.timerSection,children:[c(t,{style:s.label,children:"TIME"}),c(t,{style:[s.value,h&&s.lowTime],children:d})]})]})})});ScoreBoard.displayName="ScoreBoard";const s=o.create({rowContainer:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%"},scoreSection:{flex:1,alignItems:"center"},timerSection:{flex:1,alignItems:"center"},lowTime:{color:"#ff4444"},label:{fontSize:16,fontWeight:"bold",color:"#ffffff",marginBottom:4,letterSpacing:.5},value:{fontSize:25,fontWeight:"bold",color:"#ffffff"}});
@@ -1 +1 @@
1
- "use strict";export{ScoreBoard}from "./ScoreBoard.js";export{GridComponent}from "./GridComponent.js";export{BlockPieceComponent}from "./BlockPieceComponent.js";export{GameArea}from "./GameArea.js";export{GameBackground}from "./GameBackground.js";
1
+ "use strict";export{ScoreBoard}from"./ScoreBoard.js";export{GridComponent}from"./GridComponent.js";export{BlockPieceComponent}from"./BlockPieceComponent.js";export{GameArea}from"./GameArea.js";export{GameBackground}from"./GameBackground.js";
@@ -1 +1 @@
1
- "use strict";export{BlockBlast}from "./BlockBlast.js";export{BlockBlastService}from "./BlockBlastService.js";export{useBlockBlastStore}from "./BlockBlastStore.js";export * from "./BlockBlastConstants.js";
1
+ "use strict";export{BlockBlast}from"./BlockBlast.js";export{BlockBlastService}from"./BlockBlastService.js";export{useBlockBlastStore}from"./BlockBlastStore.js";export*from"./BlockBlastConstants.js";
@@ -1 +1 @@
1
- "use strict";import React from 'react';import{View,StyleSheet}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{GameControlButton,GameOverModal,GameSettingsModal}from "../../helpers/index.js";import{DEFAULT_GAME_SETTINGS,GAME_IDS}from "../../services/UtilsService.js";import{playSound,GAME_SOUNDS}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";import{useBubbleShooterStore,useScore,useIsPlaying,useGameOver,useGameWon}from "./BubbleShooterStore.js";import{BubbleShooterService}from "./BubbleShooterService.js";import{BUBBLE_SHOOTER_COLORS,getDifficultySettings}from "./BubbleShooterConstants.js";import{ScoreBoard}from "./components/ScoreBoard.js";import{GameArea}from "./components/GameArea.js";import{GameBackground}from "./components/GameBackground.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const BubbleShooterComponent =({settings:externalSettings = DEFAULT_GAME_SETTINGS,onSettingsChange,onEndGame})=>{const settings = React.useMemo(()=>({difficulty:externalSettings?.difficulty || 'medium',soundEnabled:externalSettings?.enableSounds ?? true,hapticEnabled:externalSettings?.enableHaptics ?? true,offset:externalSettings?.offset ?? 0}),[externalSettings?.difficulty,externalSettings?.enableSounds,externalSettings?.enableHaptics,externalSettings?.offset]);const{difficulty,soundEnabled,hapticEnabled,offset}= settings;const score = useScore();const isPlaying = useIsPlaying();const gameOver = useGameOver();const gameWon = useGameWon();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 resetGame = React.useCallback(()=> useBubbleShooterStore.getState().resetGame(),[]);const difficultySettings = React.useMemo(()=> getDifficultySettings(difficulty),[difficulty]);const gameService = React.useMemo(()=> new BubbleShooterService(),[]);React.useEffect(()=>{gameService.setDifficulty(difficultySettings.rowCount,difficultySettings.colorCount);},[gameService,difficultySettings.rowCount,difficultySettings.colorCount]);const handleShoot = React.useCallback(()=>{playSound(GAME_SOUNDS.BLOCK_BLAST.PLACE,soundEnabled);playHaptic(HapticType.LIGHT,hapticEnabled);},[soundEnabled,hapticEnabled]);const handleBubbleMatch = React.useCallback(()=>{playSound(GAME_SOUNDS.BLOCK_BLAST.CLEAR,soundEnabled);playHaptic(HapticType.SUCCESS,hapticEnabled);},[soundEnabled,hapticEnabled]);const handleGameWon = React.useCallback(()=>{playSound(GAME_SOUNDS.BLOCK_BLAST.START,soundEnabled);playHaptic(HapticType.SUCCESS,hapticEnabled);},[soundEnabled,hapticEnabled]);React.useEffect(()=>{gameService.setCallbacks(handleShoot,handleBubbleMatch,handleGameWon);},[gameService,handleShoot,handleBubbleMatch,handleGameWon]);React.useEffect(()=>{if((gameOver || gameWon)&& !gameReportedRef.current){const status = gameWon ? 'win':'lose';reportGameEnd(status);}if(!gameOver && !gameWon){gameReportedRef.current = false;}},[gameOver,gameWon,reportGameEnd]);React.useEffect(()=>{return()=>{gameService.cleanup();useBubbleShooterStore.getState().resetGame();};},[gameService]);React.useEffect(()=>{if(!isPlaying)return;const gameLoop = setInterval(()=>{gameService.updateShootingBubble(offset);},1000 / 60);return()=> clearInterval(gameLoop);},[isPlaying,gameService,offset]);const handleStartGame = React.useCallback(()=>{gameReportedRef.current = false;useBubbleShooterStore.getState().startGame(difficultySettings.rowCount,difficultySettings.colorCount);gameService.startGame();playSound(GAME_SOUNDS.BLOCK_BLAST.START,soundEnabled);playHaptic(HapticType.SUCCESS,hapticEnabled);},[gameService,difficultySettings.rowCount,difficultySettings.colorCount,soundEnabled,hapticEnabled]);const handleStopGame = React.useCallback(()=>{reportGameEnd('cancel');resetGame();gameService.resetGame();},[resetGame,gameService,reportGameEnd]);const handleResetGame = React.useCallback(()=>{resetGame();gameService.resetGame();gameService.startGame();},[resetGame,gameService]);const handlePlayAgain = React.useCallback(()=>{handleResetGame();},[handleResetGame]);const gameControlButtonProps = React.useMemo(()=>({isPlaying,gameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonColor:BUBBLE_SHOOTER_COLORS.UI,stopButtonColor:BUBBLE_SHOOTER_COLORS.UI,startButtonBorderColor:BUBBLE_SHOOTER_COLORS.UI,stopButtonBorderColor:BUBBLE_SHOOTER_COLORS.UI,startButtonText:'START GAME',stopButtonText:'STOP GAME',startButtonSubtext:'Match 3+ bubbles of same color!'}),[isPlaying,gameOver,handleStartGame,handleStopGame]);const gameOverModalProps = React.useMemo(()=>({isVisible:gameOver,score,onPlayAgain:handlePlayAgain,buttonText:'Shoot Again!',primaryColor:'rgba(255,107,157,0.85)',borderColor:'rgba(255,107,157,0.9)',buttonColor:BUBBLE_SHOOTER_COLORS.UI,buttonBorderColor:BUBBLE_SHOOTER_COLORS.UI,buttonTextColor:'#ffffff',title:gameWon ? 'YOU WON!':'GAME OVER',message:gameWon ? 'All bubbles cleared!':'Great shooting!'}),[gameOver,score,handlePlayAgain,gameWon]);return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(GameBackground,{offset:offset,children:[_jsx(GameArea,{gameService:gameService,offset:offset + 15}),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{gameId:GAME_IDS.BUBBLE_SHOOTER,settings:externalSettings || DEFAULT_GAME_SETTINGS,onSettingsChange:onSettingsChange})]})})});};const styles = StyleSheet.create({container:{flex:1}});export const BubbleShooter = React.memo(BubbleShooterComponent);BubbleShooter.displayName = 'BubbleShooter';
1
+ "use strict";import e from"react";import{View as o,StyleSheet as r}from"react-native";import{GestureHandlerRootView as t}from"react-native-gesture-handler";import{GameControlButton as n,GameOverModal as s,GameSettingsModal as a}from"../../helpers/index.js";import{DEFAULT_GAME_SETTINGS as i,GAME_IDS as l}from"../../services/UtilsService.js";import{playSound as m,GAME_SOUNDS as c}from"../../services/SoundsService.js";import{playHaptic as f,HapticType as b}from"../../services/HapticsService.js";import{useBubbleShooterStore as u,useScore as d,useIsPlaying as p,useGameOver as S,useGameWon as h}from"./BubbleShooterStore.js";import{BubbleShooterService as g}from"./BubbleShooterService.js";import{BUBBLE_SHOOTER_COLORS as v,getDifficultySettings as j}from"./BubbleShooterConstants.js";import{ScoreBoard as B}from"./components/ScoreBoard.js";import{GameArea as C}from"./components/GameArea.js";import{GameBackground as x}from"./components/GameBackground.js";import{jsx as E,jsxs as G}from"react/jsx-runtime";const y=({settings:r=i,onSettingsChange:y,onEndGame:A,onShare:w,onShowLeaderboard:O})=>{const L=e.useMemo(()=>({difficulty:r?.difficulty||"medium",soundEnabled:r?.enableSounds??!0,hapticEnabled:r?.enableHaptics??!0,offset:r?.offset??0}),[r?.difficulty,r?.enableSounds,r?.enableHaptics,r?.offset]),{difficulty:M,soundEnabled:P,hapticEnabled:T,offset:U}=L,V=d(),k=p(),H=S(),N=h(),R=e.useRef(!1),W=e.useCallback(e=>{A&&!R.current&&(A({status:e,score:V.toString()}),R.current=!0)},[A,V]),Y=e.useCallback(()=>u.getState().resetGame(),[]),q=e.useMemo(()=>j(M),[M]),z=e.useMemo(()=>new g,[]);e.useEffect(()=>{z.setDifficulty(q.rowCount,q.colorCount),k||(u.getState().resetGame(),z.initializeBubbles())},[z,q.rowCount,q.colorCount,k]);const D=e.useCallback(()=>{m(c.BLOCK_BLAST.PLACE,P),f(b.LIGHT,T)},[P,T]),F=e.useCallback(()=>{m(c.BLOCK_BLAST.CLEAR,P),f(b.SUCCESS,T)},[P,T]),J=e.useCallback(()=>{m(c.BLOCK_BLAST.START,P),f(b.SUCCESS,T)},[P,T]);e.useEffect(()=>{z.setCallbacks(D,F,J)},[z,D,F,J]),e.useEffect(()=>{!H&&!N||R.current||W(N?"win":"lose"),H||N||(R.current=!1)},[H,N,W]),e.useEffect(()=>{z.setOffset(U),z.initializeBubbles()},[z,U]),e.useEffect(()=>()=>{z.cleanup(),u.getState().resetGame()},[z]),e.useEffect(()=>{if(!k)return;const e=setInterval(()=>{z.updateShootingBubble(U)},1e3/60);return()=>clearInterval(e)},[k,z,U]),e.useEffect(()=>{if(!k)return;const e=setInterval(()=>{u.getState().timeRemaining>0?u.getState().updateTimeRemaining(-1):(u.getState().setGameOver(),clearInterval(e))},1e3);return()=>clearInterval(e)},[k]);const K=e.useCallback(()=>{R.current=!1,u.getState().startGame(q.rowCount,q.colorCount,q.timeLimit),z.startGame(),m(c.BLOCK_BLAST.START,P),f(b.SUCCESS,T)},[z,q.rowCount,q.colorCount,q.timeLimit,P,T]),Q=e.useCallback(()=>{W("cancel"),Y(),z.resetGame(),z.initializeBubbles()},[Y,z,W]),X=e.useCallback(()=>{Y(),z.resetGame(),z.initializeBubbles(),z.startGame()},[Y,z]),Z=e.useCallback(()=>{X()},[X]),$=e.useMemo(()=>({isPlaying:k,gameOver:H,onStartGame:K,onStopGame:Q,onShare:w,onShowLeaderboard:O,startButtonSubtext:"Match 3+ bubbles of same color!",buttonColor:v.UI,buttonBorderColor:v.UI}),[k,H,K,Q,w,O]),_=e.useMemo(()=>({isVisible:H,score:V,onPlayAgain:Z,buttonText:"Shoot Again!",primaryColor:"rgba(255, 107, 157, 0.85)",borderColor:"rgba(255, 107, 157, 0.9)",buttonColor:v.UI,buttonBorderColor:v.UI,buttonTextColor:"#ffffff",title:N?"YOU WON!":"GAME OVER",message:N?"All bubbles cleared!":"Great shooting!"}),[H,V,Z,N]);return E(o,{style:I.container,children:E(t,{children:G(x,{offset:U,children:[E(C,{gameService:z,offset:U+15}),E(B,{offset:U}),E(n,{...$}),E(s,{..._}),E(a,{gameId:l.BUBBLE_SHOOTER,settings:r||i,onSettingsChange:y})]})})})},I=r.create({container:{flex:1}});export const BubbleShooter=e.memo(y);BubbleShooter.displayName="BubbleShooter";
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","playSound","GAME_SOUNDS","playHaptic","HapticType","useBubbleShooterStore","useScore","useIsPlaying","useGameOver","useGameWon","BubbleShooterService","BUBBLE_SHOOTER_COLORS","getDifficultySettings","ScoreBoard","GameArea","GameBackground","jsx","_jsx","jsxs","_jsxs","BubbleShooterComponent","settings","externalSettings","onSettingsChange","onEndGame","useMemo","difficulty","soundEnabled","enableSounds","hapticEnabled","enableHaptics","offset","score","isPlaying","gameOver","gameWon","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","resetGame","getState","difficultySettings","gameService","useEffect","setDifficulty","rowCount","colorCount","handleShoot","BLOCK_BLAST","PLACE","LIGHT","handleBubbleMatch","CLEAR","SUCCESS","handleGameWon","START","setCallbacks","cleanup","gameLoop","setInterval","updateShootingBubble","clearInterval","handleStartGame","startGame","handleStopGame","handleResetGame","handlePlayAgain","gameControlButtonProps","onStartGame","onStopGame","startButtonColor","UI","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","startButtonText","stopButtonText","startButtonSubtext","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","title","message","style","styles","container","children","gameId","BUBBLE_SHOOTER","create","flex","BubbleShooter","memo","displayName"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","GestureHandlerRootView","GameControlButton","GameOverModal","GameSettingsModal","DEFAULT_GAME_SETTINGS","GAME_IDS","playSound","GAME_SOUNDS","playHaptic","HapticType","useBubbleShooterStore","useScore","useIsPlaying","useGameOver","useGameWon","BubbleShooterService","BUBBLE_SHOOTER_COLORS","getDifficultySettings","ScoreBoard","GameArea","GameBackground","jsx","_jsx","jsxs","_jsxs","BubbleShooterComponent","settings","externalSettings","onSettingsChange","onEndGame","onShare","onShowLeaderboard","useMemo","difficulty","soundEnabled","enableSounds","hapticEnabled","enableHaptics","offset","score","isPlaying","gameOver","gameWon","gameReportedRef","useRef","reportGameEnd","useCallback","status","current","toString","resetGame","getState","difficultySettings","gameService","useEffect","setDifficulty","rowCount","colorCount","initializeBubbles","handleShoot","BLOCK_BLAST","PLACE","LIGHT","handleBubbleMatch","CLEAR","SUCCESS","handleGameWon","START","setCallbacks","setOffset","cleanup","gameLoop","setInterval","updateShootingBubble","clearInterval","timerInterval","currentTime","timeRemaining","setGameOver","updateTimeRemaining","handleStartGame","startGame","timeLimit","handleStopGame","handleResetGame","handlePlayAgain","gameControlButtonProps","onStartGame","onStopGame","startButtonSubtext","buttonColor","UI","buttonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonTextColor","title","message","style","styles","container","children","gameId","BUBBLE_SHOOTER","create","flex","BubbleShooter","memo","displayName"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,wBAAe;AACnF,SAASC,qBAAqB,EAAkBC,QAAQ,QAAQ,gCAA6B;AAC7F,SAASC,SAAS,EAAEC,WAAW,QAAQ,iCAA8B;AACrE,SAASC,UAAU,EAAEC,UAAU,QAAQ,kCAA+B;AACtE,SACEC,qBAAqB,EACrBC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACXC,UAAU,QACL,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,EAAEC,qBAAqB,QAAQ,6BAA0B;AACvF,SAASC,UAAU,QAAQ,4BAAyB;AACpD,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,MAAMC,sBAA2C,GAAGA,CAAC;EACnDC,QAAQ,EAAEC,gBAAgB,GAAGvB,qBAAqB;EAClDwB,gBAAgB;EAChBC,SAAS;EACTC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ;EACA,MAAML,QAAQ,GAAG7B,KAAK,CAACmC,OAAO,CAC5B,OAAO;IACLC,UAAU,EAAEN,gBAAgB,EAAEM,UAAU,IAAI,QAAQ;IACpDC,YAAY,EAAEP,gBAAgB,EAAEQ,YAAY,IAAI,IAAI;IACpDC,aAAa,EAAET,gBAAgB,EAAEU,aAAa,IAAI,IAAI;IACtDC,MAAM,EAAEX,gBAAgB,EAAEW,MAAM,IAAI;EACtC,CAAC,CAAC,EACF,CAACX,gBAAgB,EAAEM,UAAU,EAAEN,gBAAgB,EAAEQ,YAAY,EAAER,gBAAgB,EAAEU,aAAa,EAAEV,gBAAgB,EAAEW,MAAM,CAC1H,CAAC;EAED,MAAM;IAAEL,UAAU;IAAEC,YAAY;IAAEE,aAAa;IAAEE;EAAO,CAAC,GAAGZ,QAAQ;;EAEpE;EACA,MAAMa,KAAK,GAAG5B,QAAQ,CAAC,CAAC;EACxB,MAAM6B,SAAS,GAAG5B,YAAY,CAAC,CAAC;EAChC,MAAM6B,QAAQ,GAAG5B,WAAW,CAAC,CAAC;EAC9B,MAAM6B,OAAO,GAAG5B,UAAU,CAAC,CAAC;;EAE5B;EACA,MAAM6B,eAAe,GAAG9C,KAAK,CAAC+C,MAAM,CAAU,KAAK,CAAC;;EAEpD;EACA,MAAMC,aAAa,GAAGhD,KAAK,CAACiD,WAAW,CAAEC,MAAiC,IAAK;IAC7E,IAAIlB,SAAS,IAAI,CAACc,eAAe,CAACK,OAAO,EAAE;MACzCnB,SAAS,CAAC;QACRkB,MAAM;QACNR,KAAK,EAAEA,KAAK,CAACU,QAAQ,CAAC;MACxB,CAAC,CAAC;MACFN,eAAe,CAACK,OAAO,GAAG,IAAI;IAChC;EACF,CAAC,EAAE,CAACnB,SAAS,EAAEU,KAAK,CAAC,CAAC;;EAEtB;EACA,MAAMW,SAAS,GAAGrD,KAAK,CAACiD,WAAW,CAAC,MAAMpC,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAACD,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;;EAE3F;EACA,MAAME,kBAAkB,GAAGvD,KAAK,CAACmC,OAAO,CAAC,MAAMf,qBAAqB,CAACgB,UAAU,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAC/F,MAAMoB,WAAW,GAAGxD,KAAK,CAACmC,OAAO,CAAC,MAAM,IAAIjB,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC;;EAEvE;EACAlB,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpBD,WAAW,CAACE,aAAa,CAACH,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,CAAC;;IAErF;IACA,IAAI,CAACjB,SAAS,EAAE;MACd9B,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAACD,SAAS,CAAC,CAAC;MAC5CG,WAAW,CAACK,iBAAiB,CAAC,CAAC;IACjC;EACF,CAAC,EAAE,CAACL,WAAW,EAAED,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,EAAEjB,SAAS,CAAC,CAAC;;EAExF;EACA,MAAMmB,WAAW,GAAG9D,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC1CxC,SAAS,CAACC,WAAW,CAACqD,WAAW,CAACC,KAAK,EAAE3B,YAAY,CAAC;IACtD1B,UAAU,CAACC,UAAU,CAACqD,KAAK,EAAE1B,aAAa,CAAC;EAC7C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;EAEjC,MAAM2B,iBAAiB,GAAGlE,KAAK,CAACiD,WAAW,CAAC,MAAM;IAChDxC,SAAS,CAACC,WAAW,CAACqD,WAAW,CAACI,KAAK,EAAE9B,YAAY,CAAC;IACtD1B,UAAU,CAACC,UAAU,CAACwD,OAAO,EAAE7B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;EAEjC,MAAM8B,aAAa,GAAGrE,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC5CxC,SAAS,CAACC,WAAW,CAACqD,WAAW,CAACO,KAAK,EAAEjC,YAAY,CAAC;IACtD1B,UAAU,CAACC,UAAU,CAACwD,OAAO,EAAE7B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACF,YAAY,EAAEE,aAAa,CAAC,CAAC;;EAEjC;EACAvC,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpBD,WAAW,CAACe,YAAY,CAACT,WAAW,EAAEI,iBAAiB,EAAEG,aAAa,CAAC;EACzE,CAAC,EAAE,CAACb,WAAW,EAAEM,WAAW,EAAEI,iBAAiB,EAAEG,aAAa,CAAC,CAAC;;EAEhE;EACArE,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACb,QAAQ,IAAIC,OAAO,KAAK,CAACC,eAAe,CAACK,OAAO,EAAE;MACrD,MAAMD,MAAM,GAAGL,OAAO,GAAG,KAAK,GAAG,MAAM;MACvCG,aAAa,CAACE,MAAM,CAAC;IACvB;;IAEA;IACA,IAAI,CAACN,QAAQ,IAAI,CAACC,OAAO,EAAE;MACzBC,eAAe,CAACK,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,EAAE,CAACP,QAAQ,EAAEC,OAAO,EAAEG,aAAa,CAAC,CAAC;;EAEtC;EACAhD,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpBD,WAAW,CAACgB,SAAS,CAAC/B,MAAM,CAAC;IAC7Be,WAAW,CAACK,iBAAiB,CAAC,CAAC;EACjC,CAAC,EAAE,CAACL,WAAW,EAAEf,MAAM,CAAC,CAAC;;EAEzB;EACAzC,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACXD,WAAW,CAACiB,OAAO,CAAC,CAAC;MACrB5D,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAACD,SAAS,CAAC,CAAC;IAC9C,CAAC;EACH,CAAC,EAAE,CAACG,WAAW,CAAC,CAAC;;EAEjB;EACAxD,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACd,SAAS,EAAE;IAEhB,MAAM+B,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjCnB,WAAW,CAACoB,oBAAoB,CAACnC,MAAM,CAAC;IAC1C,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;;IAEf,OAAO,MAAMoC,aAAa,CAACH,QAAQ,CAAC;EACtC,CAAC,EAAE,CAAC/B,SAAS,EAAEa,WAAW,EAAEf,MAAM,CAAC,CAAC;;EAEpC;EACAzC,KAAK,CAACyD,SAAS,CAAC,MAAM;IACpB,IAAI,CAACd,SAAS,EAAE;IAEhB,MAAMmC,aAAa,GAAGH,WAAW,CAAC,MAAM;MACtC,MAAMI,WAAW,GAAGlE,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAAC0B,aAAa;MAClE,IAAID,WAAW,IAAI,CAAC,EAAE;QACpB;QACAlE,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAAC2B,WAAW,CAAC,CAAC;QAC9CJ,aAAa,CAACC,aAAa,CAAC;MAC9B,CAAC,MAAM;QACLjE,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAAC4B,mBAAmB,CAAC,CAAC,CAAC,CAAC;MAC1D;IACF,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;;IAEV,OAAO,MAAML,aAAa,CAACC,aAAa,CAAC;EAC3C,CAAC,EAAE,CAACnC,SAAS,CAAC,CAAC;;EAEf;EACA,MAAMwC,eAAe,GAAGnF,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC9CH,eAAe,CAACK,OAAO,GAAG,KAAK,CAAC,CAAC;IACjCtC,qBAAqB,CAACyC,QAAQ,CAAC,CAAC,CAAC8B,SAAS,CAAC7B,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,EAAEL,kBAAkB,CAAC8B,SAAS,CAAC;IACpI7B,WAAW,CAAC4B,SAAS,CAAC,CAAC;IACvB3E,SAAS,CAACC,WAAW,CAACqD,WAAW,CAACO,KAAK,EAAEjC,YAAY,CAAC;IACtD1B,UAAU,CAACC,UAAU,CAACwD,OAAO,EAAE7B,aAAa,CAAC;EAC/C,CAAC,EAAE,CAACiB,WAAW,EAAED,kBAAkB,CAACI,QAAQ,EAAEJ,kBAAkB,CAACK,UAAU,EAAEL,kBAAkB,CAAC8B,SAAS,EAAEhD,YAAY,EAAEE,aAAa,CAAC,CAAC;EAExI,MAAM+C,cAAc,GAAGtF,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC7CD,aAAa,CAAC,QAAQ,CAAC;IACvBK,SAAS,CAAC,CAAC;IACXG,WAAW,CAACH,SAAS,CAAC,CAAC;IACvBG,WAAW,CAACK,iBAAiB,CAAC,CAAC,CAAC,CAAC;EACnC,CAAC,EAAE,CAACR,SAAS,EAAEG,WAAW,EAAER,aAAa,CAAC,CAAC;EAE3C,MAAMuC,eAAe,GAAGvF,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC9CI,SAAS,CAAC,CAAC;IACXG,WAAW,CAACH,SAAS,CAAC,CAAC;IACvBG,WAAW,CAACK,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjCL,WAAW,CAAC4B,SAAS,CAAC,CAAC;EACzB,CAAC,EAAE,CAAC/B,SAAS,EAAEG,WAAW,CAAC,CAAC;EAE5B,MAAMgC,eAAe,GAAGxF,KAAK,CAACiD,WAAW,CAAC,MAAM;IAC9CsC,eAAe,CAAC,CAAC;EACnB,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;;EAErB;EACA,MAAME,sBAAsB,GAAGzF,KAAK,CAACmC,OAAO,CAC1C,OAAO;IACLQ,SAAS;IACTC,QAAQ;IACR8C,WAAW,EAAEP,eAAe;IAC5BQ,UAAU,EAAEL,cAAc;IAC1BrD,OAAO;IACPC,iBAAiB;IACjB0D,kBAAkB,EAAE,iCAAiC;IACrDC,WAAW,EAAE1E,qBAAqB,CAAC2E,EAAE;IACrCC,iBAAiB,EAAE5E,qBAAqB,CAAC2E;EAC3C,CAAC,CAAC,EACF,CAACnD,SAAS,EAAEC,QAAQ,EAAEuC,eAAe,EAAEG,cAAc,EAAErD,OAAO,EAAEC,iBAAiB,CACnF,CAAC;;EAED;EACA,MAAM8D,kBAAkB,GAAGhG,KAAK,CAACmC,OAAO,CACtC,OAAO;IACL8D,SAAS,EAAErD,QAAQ;IACnBF,KAAK;IACLwD,WAAW,EAAEV,eAAe;IAC5BW,UAAU,EAAE,cAAc;IAC1BC,YAAY,EAAE,2BAA2B;IAAE;IAC3CC,WAAW,EAAE,0BAA0B;IACvCR,WAAW,EAAE1E,qBAAqB,CAAC2E,EAAE;IAAE;IACvCC,iBAAiB,EAAE5E,qBAAqB,CAAC2E,EAAE;IAC3CQ,eAAe,EAAE,SAAS;IAC1BC,KAAK,EAAE1D,OAAO,GAAG,UAAU,GAAG,WAAW;IACzC2D,OAAO,EAAE3D,OAAO,GAAG,sBAAsB,GAAG;EAC9C,CAAC,CAAC,EACF,CAACD,QAAQ,EAAEF,KAAK,EAAE8C,eAAe,EAAE3C,OAAO,CAC5C,CAAC;EAED,oBACEpB,IAAA,CAACxB,IAAI;IAACwG,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BnF,IAAA,CAACtB,sBAAsB;MAAAyG,QAAA,eACrBjF,KAAA,CAACJ,cAAc;QAACkB,MAAM,EAAEA,MAAO;QAAAmE,QAAA,gBAE7BnF,IAAA,CAACH,QAAQ;UAACkC,WAAW,EAAEA,WAAY;UAACf,MAAM,EAAEA,MAAM,GAAG;QAAG,CAAE,CAAC,eAG3DhB,IAAA,CAACJ,UAAU;UAACoB,MAAM,EAAEA;QAAO,CAAE,CAAC,eAG9BhB,IAAA,CAACrB,iBAAiB;UAAA,GAAKqF;QAAsB,CAAG,CAAC,eAGjDhE,IAAA,CAACpB,aAAa;UAAA,GAAK2F;QAAkB,CAAG,CAAC,eAGzCvE,IAAA,CAACnB,iBAAiB;UAChBuG,MAAM,EAAErG,QAAQ,CAACsG,cAAe;UAChCjF,QAAQ,EAAEC,gBAAgB,IAAIvB,qBAAsB;UACpDwB,gBAAgB,EAAEA;QAAiB,CACpC,CAAC;MAAA,CACY;IAAC,CACK;EAAC,CACrB,CAAC;AAEX,CAAC;AAED,MAAM2E,MAAM,GAAGxG,UAAU,CAAC6G,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE;EACR;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMC,aAAa,gBAAGjH,KAAK,CAACkH,IAAI,CAACtF,sBAAsB,CAAC;AAC/DqF,aAAa,CAACE,WAAW,GAAG,eAAe","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";export const BUBBLE_SHOOTER_DIFFICULTY_CONFIG ={easy:{rowCount:6,colorCount:4},medium:{rowCount:8,colorCount:5},hard:{rowCount:10,colorCount:6}};export const getDifficultySettings = difficulty =>{return BUBBLE_SHOOTER_DIFFICULTY_CONFIG[difficulty];};export const DEFAULT_BUBBLE_SHOOTER_SETTINGS ={difficulty:'medium',soundEnabled:true,hapticEnabled:true,rowCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.rowCount,colorCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.colorCount};export const BUBBLE_SHOOTER_GAME_CONFIG ={BUBBLE_RADIUS:18,BUBBLE_SPACING:2,SHOOTER_SIZE:50,SHOOTER_Y_OFFSET:40,BUBBLE_SPEED:12,POINTS_PER_BUBBLE:10,POINTS_PER_DROP:20,MIN_MATCH_COUNT:3,COLS_PER_ROW:9,ROW_OFFSET:0.5};export const BUBBLE_COLORS = ['#FF3B30','#FF9500','#FFCC00','#34C759','#007AFF','#5856D6','#FF2D55','#00C7BE' ];export const BUBBLE_SHOOTER_COLORS ={BACKGROUND:'#87CEEB',SHOOTER:'#ffffff',SHOOTER_ARROW:'#ff6b9d',SCORE:'#ffffff',UI:'#ff6b9d',CEILING:'#e0e0e0'};export const BUBBLE_SHOOTER_THEME ={backgroundColor:'rgba(0,0,0,0.7)',headerBackgroundColor:'#ff6b9d',headerTextColor:'#ffffff',sectionBackgroundColor:'rgba(255,107,157,0.15)',sectionTitleColor:'#ff6b9d',buttonSelectedColor:'#ff6b9d',buttonUnselectedColor:'rgba(255,255,255,0.2)',buttonSelectedTextColor:'#ffffff',buttonUnselectedTextColor:'rgba(255,255,255,0.7)',switchTrackColorFalse:'rgba(255,107,157,0.3)',switchTrackColorTrue:'#ff6b9d',switchThumbColor:'#ffffff',infoTextColor:'rgba(255,255,255,0.9)'};export const BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS ={easy:'Fewer rows and colors,easier matches',medium:'Balanced challenge with more bubbles',hard:'Many rows and colors,strategic play!'};
1
+ "use strict";export const BUBBLE_SHOOTER_DIFFICULTY_CONFIG={easy:{rowCount:4,colorCount:4,timeLimit:300},medium:{rowCount:6,colorCount:5,timeLimit:600},hard:{rowCount:8,colorCount:6,timeLimit:600}};export const getDifficultySettings=o=>BUBBLE_SHOOTER_DIFFICULTY_CONFIG[o];export const DEFAULT_BUBBLE_SHOOTER_SETTINGS={difficulty:"medium",soundEnabled:!0,hapticEnabled:!0,rowCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.rowCount,colorCount:BUBBLE_SHOOTER_DIFFICULTY_CONFIG.medium.colorCount};export const BUBBLE_SHOOTER_GAME_CONFIG={BUBBLE_RADIUS:18,BUBBLE_SPACING:2,SHOOTER_SIZE:50,SHOOTER_Y_OFFSET:40,BUBBLE_SPEED:12,POINTS_PER_BUBBLE:10,POINTS_PER_DROP:20,MIN_MATCH_COUNT:3,COLS_PER_ROW:9,ROW_OFFSET:.5};export const BUBBLE_COLORS=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF","#5856D6","#FF2D55","#00C7BE"];export const BUBBLE_SHOOTER_COLORS={BACKGROUND:"#87CEEB",SHOOTER:"#ffffff",SHOOTER_ARROW:"#ff6b9d",SCORE:"#ffffff",UI:"#ff6b9d",CEILING:"#e0e0e0"};export const BUBBLE_SHOOTER_THEME={backgroundColor:"rgba(0, 0, 0, 0.7)",headerBackgroundColor:"#ff6b9d",headerTextColor:"#ffffff",sectionBackgroundColor:"rgba(255, 107, 157, 0.15)",sectionTitleColor:"#ff6b9d",buttonSelectedColor:"#ff6b9d",buttonUnselectedColor:"rgba(255, 255, 255, 0.2)",buttonSelectedTextColor:"#ffffff",buttonUnselectedTextColor:"rgba(255, 255, 255, 0.7)",switchTrackColorFalse:"rgba(255, 107, 157, 0.3)",switchTrackColorTrue:"#ff6b9d",switchThumbColor:"#ffffff",infoTextColor:"rgba(255, 255, 255, 0.9)"};export const BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS={easy:"Fewer rows and colors, easier matches",medium:"Balanced challenge with more bubbles",hard:"Many rows and colors, strategic play!"};
@@ -1 +1 @@
1
- {"version":3,"names":["BUBBLE_SHOOTER_DIFFICULTY_CONFIG","easy","rowCount","colorCount","medium","hard","getDifficultySettings","difficulty","DEFAULT_BUBBLE_SHOOTER_SETTINGS","soundEnabled","hapticEnabled","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_RADIUS","BUBBLE_SPACING","SHOOTER_SIZE","SHOOTER_Y_OFFSET","BUBBLE_SPEED","POINTS_PER_BUBBLE","POINTS_PER_DROP","MIN_MATCH_COUNT","COLS_PER_ROW","ROW_OFFSET","BUBBLE_COLORS","BUBBLE_SHOOTER_COLORS","BACKGROUND","SHOOTER","SHOOTER_ARROW","SCORE","UI","CEILING","BUBBLE_SHOOTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterConstants.ts"],"mappings":";;AAEA;;AASA;AACA,OAAO,MAAMA,gCAAgC,GAAG;EAC9CC,IAAI,EAAE;IACJC,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC,CAAE;EACjB,CAAC;EACDC,MAAM,EAAE;IACNF,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC,CAAE;EACjB,CAAC;EACDE,IAAI,EAAE;IACJH,QAAQ,EAAE,EAAE;IAAE;IACdC,UAAU,EAAE,CAAC,CAAE;EACjB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOP,gCAAgC,CAACO,UAAU,CAAC;AACrD,CAAC;;AAED;AACA,OAAO,MAAMC,+BAAsD,GAAG;EACpED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBR,QAAQ,EAAEF,gCAAgC,CAACI,MAAM,CAACF,QAAQ;EAC1DC,UAAU,EAAEH,gCAAgC,CAACI,MAAM,CAACD;AACtD,CAAC;;AAED;AACA,OAAO,MAAMQ,0BAA0B,GAAG;EACxCC,aAAa,EAAE,EAAE;EAAE;EACnBC,cAAc,EAAE,CAAC;EAAE;EACnBC,YAAY,EAAE,EAAE;EAAE;EAClBC,gBAAgB,EAAE,EAAE;EAAE;EACtBC,YAAY,EAAE,EAAE;EAAE;EAClBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAAE;EACrBC,eAAe,EAAE,CAAC;EAAE;EACpBC,YAAY,EAAE,CAAC;EAAE;EACjBC,UAAU,EAAE,GAAG,CAAE;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH;AAEV,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,UAAU,EAAE,SAAS;EAAE;EACvBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA,OAAO,MAAMC,oBAAuC,GAAG;EACrDC,eAAe,EAAE,oBAAoB;EACrCC,qBAAqB,EAAE,SAAS;EAChCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EACnDC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,SAAS;EAC9BC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EACrDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,sCAAsC,GAAG;EACpD3C,IAAI,EAAE,uCAAuC;EAC7CG,MAAM,EAAE,sCAAsC;EAC9CC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["BUBBLE_SHOOTER_DIFFICULTY_CONFIG","easy","rowCount","colorCount","timeLimit","medium","hard","getDifficultySettings","difficulty","DEFAULT_BUBBLE_SHOOTER_SETTINGS","soundEnabled","hapticEnabled","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_RADIUS","BUBBLE_SPACING","SHOOTER_SIZE","SHOOTER_Y_OFFSET","BUBBLE_SPEED","POINTS_PER_BUBBLE","POINTS_PER_DROP","MIN_MATCH_COUNT","COLS_PER_ROW","ROW_OFFSET","BUBBLE_COLORS","BUBBLE_SHOOTER_COLORS","BACKGROUND","SHOOTER","SHOOTER_ARROW","SCORE","UI","CEILING","BUBBLE_SHOOTER_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","BUBBLE_SHOOTER_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterConstants.ts"],"mappings":";;AAEA;;AASA;AACA,OAAO,MAAMA,gCAAgC,GAAG;EAC9CC,IAAI,EAAE;IACJC,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAE;EACrB,CAAC;EACDC,MAAM,EAAE;IACNH,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAE;EACtB,CAAC;EACDE,IAAI,EAAE;IACJJ,QAAQ,EAAE,CAAC;IAAE;IACbC,UAAU,EAAE,CAAC;IAAE;IACfC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAE;EACtB;AACF,CAAU;;AAEV;AACA,OAAO,MAAMG,qBAAqB,GAAIC,UAAsC,IAAK;EAC/E,OAAOR,gCAAgC,CAACQ,UAAU,CAAC;AACrD,CAAC;;AAED;AACA,OAAO,MAAMC,+BAAsD,GAAG;EACpED,UAAU,EAAE,QAAQ;EACpBE,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE,IAAI;EACnBT,QAAQ,EAAEF,gCAAgC,CAACK,MAAM,CAACH,QAAQ;EAC1DC,UAAU,EAAEH,gCAAgC,CAACK,MAAM,CAACF;AACtD,CAAC;;AAED;AACA,OAAO,MAAMS,0BAA0B,GAAG;EACxCC,aAAa,EAAE,EAAE;EAAE;EACnBC,cAAc,EAAE,CAAC;EAAE;EACnBC,YAAY,EAAE,EAAE;EAAE;EAClBC,gBAAgB,EAAE,EAAE;EAAE;EACtBC,YAAY,EAAE,EAAE;EAAE;EAClBC,iBAAiB,EAAE,EAAE;EACrBC,eAAe,EAAE,EAAE;EAAE;EACrBC,eAAe,EAAE,CAAC;EAAE;EACpBC,YAAY,EAAE,CAAC;EAAE;EACjBC,UAAU,EAAE,GAAG,CAAE;AACnB,CAAU;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAG,CAC3B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH;AAEV,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,UAAU,EAAE,SAAS;EAAE;EACvBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA,OAAO,MAAMC,oBAAuC,GAAG;EACrDC,eAAe,EAAE,oBAAoB;EACrCC,qBAAqB,EAAE,SAAS;EAChCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,2BAA2B;EACnDC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,SAAS;EAC9BC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EACrDC,qBAAqB,EAAE,0BAA0B;EACjDC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE;AACjB,CAAC;;AAED;AACA,OAAO,MAAMC,sCAAsC,GAAG;EACpD5C,IAAI,EAAE,uCAAuC;EAC7CI,MAAM,EAAE,sCAAsC;EAC9CC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import{Dimensions}from 'react-native';import{useBubbleShooterStore}from "./BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG,BUBBLE_COLORS}from "./BubbleShooterConstants.js";const{width}= Dimensions.get('window');export class BubbleShooterService{rowCount = 8;colorCount = 5;shooterX = width / 2;shooterY = 0;offset = 0;constructor(){}setCallbacks(onShoot,onBubbleMatch,onGameWon){this.onShoot = onShoot;this.onBubbleMatch = onBubbleMatch;this.onGameWon = onGameWon;}setDifficulty(rowCount,colorCount){this.rowCount = rowCount;this.colorCount = colorCount;}setShooterPosition(x,y,offset = 0){this.shooterX = x;this.shooterY = y;this.offset = offset;}startGame(){this.initializeBubbles();}stopGame(){}resetGame(){}cleanup(){}initializeBubbles(){const store = useBubbleShooterStore.getState();const bubbles = [];const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;const spacing = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_SPACING;const diameter =(radius + spacing)* 2;const cols = BUBBLE_SHOOTER_GAME_CONFIG.COLS_PER_ROW;const gridWidth = cols * diameter;const startX =(width - gridWidth)/ 2 + radius;const availableColors = BUBBLE_COLORS.slice(0,this.colorCount);for(let row = 0;row < this.rowCount;row++){for(let col = 0;col < cols;col++){const xOffset = row % 2 === 1 ? diameter / 2:0;const x = startX + col * diameter + xOffset;const y = row * diameter * 0.866 + radius + 120 + this.offset;const color = availableColors[Math.floor(Math.random()* availableColors.length)];bubbles.push({id:`bubble-${row}-${col}`,row,col,color,x,y});}}store.updateBubbles(bubbles);const uniqueColors = [...new Set(bubbles.map(b => b.color))];const randomColor1 = uniqueColors[Math.floor(Math.random()* uniqueColors.length)];const randomColor2 = uniqueColors[Math.floor(Math.random()* uniqueColors.length)];useBubbleShooterStore.setState({currentBubbleColor:randomColor1,nextBubbleColor:randomColor2});}updateShootingBubble(_offset){const store = useBubbleShooterStore.getState();if(!store.shootingBubble)return;const bubble = store.shootingBubble;const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;let newX = bubble.x + bubble.vx;let newY = bubble.y + bubble.vy;let newVx = bubble.vx;const wallPadding = 5;if(newX - radius < wallPadding){newX = radius + wallPadding;newVx = -newVx;}else if(newX + radius > width - wallPadding){newX = width - radius - wallPadding;newVx = -newVx;}if(newY - radius <= 50 + this.offset){this.snapBubbleToGrid(newX,newY,bubble.color);return;}const hitBubble = this.checkBubbleCollision(newX,newY);if(hitBubble){this.snapBubbleToGrid(newX,newY,bubble.color);return;}store.updateShootingBubble({...bubble,x:newX,y:newY,vx:newVx});}checkBubbleCollision(x,y){const bubbles = useBubbleShooterStore.getState().bubbles;const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;const collisionDist = radius * 2;for(const bubble of bubbles){const dx = x - bubble.x;const dy = y - bubble.y;const dist = Math.sqrt(dx * dx + dy * dy);if(dist < collisionDist){return bubble;}}return null;}snapBubbleToGrid(x,y,color){const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;const spacing = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_SPACING;const diameter =(radius + spacing)* 2;const store = useBubbleShooterStore.getState();if(store.bubbles.length === 0){const newBubble ={id:`bubble-${Date.now()}`,row:0,col:0,color,x:x,y:Math.max(y,50 + this.offset + radius)};store.addBubble(newBubble);store.clearShootingBubble();store.generateNextBubble();return;}const currentBubbles = store.bubbles;let collidedBubble = currentBubbles[0];let minDist = Infinity;for(let i = 0;i < currentBubbles.length;i++){const bubble = currentBubbles[i];if(!bubble)continue;const dx = x - bubble.x;const dy = y - bubble.y;const dist = Math.sqrt(dx * dx + dy * dy);if(dist < minDist){minDist = dist;collidedBubble = bubble;}}if(!collidedBubble)return;const dx = x - collidedBubble.x;const dy = y - collidedBubble.y;const distance = Math.sqrt(dx * dx + dy * dy);if(distance < 0.1){const newBubble ={id:`bubble-${Date.now()}`,row:0,col:0,color,x:collidedBubble.x,y:collidedBubble.y + diameter};store.addBubble(newBubble);const updatedBubbles = useBubbleShooterStore.getState().bubbles;const matches = this.findConnectedBubbles(newBubble,updatedBubbles);if(matches.length >= BUBBLE_SHOOTER_GAME_CONFIG.MIN_MATCH_COUNT){const matchIds = matches.map(b => b.id);store.removeBubbles(matchIds);const points = matches.length * BUBBLE_SHOOTER_GAME_CONFIG.POINTS_PER_BUBBLE;store.updateScore(points);this.onBubbleMatch?.();const remainingBubbles = useBubbleShooterStore.getState().bubbles;if(remainingBubbles.length === 0){this.onGameWon?.();store.setGameWon();}}store.clearShootingBubble();store.generateNextBubble();return;}const normalizedDx = dx / distance;const normalizedDy = dy / distance;let snapX = collidedBubble.x + normalizedDx * diameter;let snapY = collidedBubble.y + normalizedDy * diameter;const minY = 50 + this.offset + radius;const maxY = collidedBubble.y + diameter * 2;snapY = Math.max(minY,Math.min(maxY,snapY));const minX = radius + 5;const maxX = width - radius - 5;snapX = Math.max(minX,Math.min(maxX,snapX));const newBubble ={id:`bubble-${Date.now()}`,row:0,col:0,color,x:snapX,y:snapY};store.addBubble(newBubble);const updatedBubbles = useBubbleShooterStore.getState().bubbles;const matches = this.findConnectedBubbles(newBubble,updatedBubbles);if(matches.length >= BUBBLE_SHOOTER_GAME_CONFIG.MIN_MATCH_COUNT){const matchIds = matches.map(b => b.id);store.removeBubbles(matchIds);const points = matches.length * BUBBLE_SHOOTER_GAME_CONFIG.POINTS_PER_BUBBLE;store.updateScore(points);this.onBubbleMatch?.();const remainingBubbles = useBubbleShooterStore.getState().bubbles;if(remainingBubbles.length === 0){this.onGameWon?.();store.setGameWon();}}store.clearShootingBubble();store.generateNextBubble();}findConnectedBubbles(startBubble,allBubbles){const matches = [];const visited = new Set();const queue = [startBubble];const radius = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_RADIUS;const neighborDist = radius * 2.5;while(queue.length > 0){const current = queue.shift();if(visited.has(current.id))continue;visited.add(current.id);if(current.color === startBubble.color){matches.push(current);for(let i = 0;i < allBubbles.length;i++){const bubble = allBubbles[i];if(!bubble)continue;if(!visited.has(bubble.id)){const dx = current.x - bubble.x;const dy = current.y - bubble.y;const dist = Math.sqrt(dx * dx + dy * dy);if(dist < neighborDist && bubble.color === startBubble.color){queue.push(bubble);}}}}}return matches;}shoot(){const store = useBubbleShooterStore.getState();if(!store.isPlaying || store.shootingBubble){return;}const angle = store.shooterAngle;const speed = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_SPEED;const shootingBubble ={id:`shooting-${Date.now()}`,x:this.shooterX,y:this.shooterY,vx:Math.sin(angle)* speed,vy:-Math.cos(angle)* speed,color:store.currentBubbleColor};useBubbleShooterStore.getState().updateShootingBubble(shootingBubble);this.onShoot?.();}}
1
+ "use strict";import{Dimensions as t}from"react-native";import{useBubbleShooterStore as o}from"./BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG as s,BUBBLE_COLORS as e}from"./BubbleShooterConstants.js";const{width:i}=t.get("window"),n=s.BUBBLE_RADIUS,r=s.BUBBLE_SPACING,c=2*(n+r),h=2*n,l=2.5*n,u=5,a=n+5,b=i-n-5;export class BubbleShooterService{rowCount=8;colorCount=5;shooterX=i/2;shooterY=0;offset=0;constructor(){}setCallbacks(t,o,s){this.onShoot=t,this.onBubbleMatch=o,this.onGameWon=s}setDifficulty(t,o){this.rowCount=t,this.colorCount=o}setShooterPosition(t,o,s=0){this.shooterX=t,this.shooterY=o,this.offset=s}setOffset(t){this.offset=t}startGame(){0===o.getState().bubbles.length&&this.initializeBubbles()}stopGame(){}resetGame(){}cleanup(){}initializeBubbles(){const t=o.getState(),n=[],r=s.BUBBLE_RADIUS,c=2*(r+s.BUBBLE_SPACING),h=s.COLS_PER_ROW,l=(i-h*c)/2+r,u=e.slice(0,this.colorCount);for(let t=0;t<this.rowCount;t++)for(let o=0;h>o;o++){const s=l+o*c+(t%2==1?c/2:0),e=t*c*.866+r+130+this.offset,i=u[Math.floor(Math.random()*u.length)];n.push({id:`bubble-${t}-${o}`,row:t,col:o,color:i,x:s,y:e})}t.updateBubbles(n);const a=[...new Set(n.map(t=>t.color))],b=a[Math.floor(Math.random()*a.length)],f=a[Math.floor(Math.random()*a.length)];o.setState({currentBubbleColor:b,nextBubbleColor:f})}updateShootingBubble(t){const s=o.getState();if(!s.shootingBubble)return;const e=s.shootingBubble;let i=e.x+e.vx,r=e.y+e.vy,c=e.vx;const h=130+this.offset;if(h>=r-n)return r=h+n,void this.snapBubbleToGrid(i,r,e.color);this.checkBubbleCollision(i,r)?this.snapBubbleToGrid(i,r,e.color):(a>i?(i=a,c=-c):i>b&&(i=b,c=-c),s.updateShootingBubble({...e,x:i,y:r,vx:c}))}checkBubbleCollision(t,s){const e=o.getState().bubbles,i=h*h;for(let o=0;o<e.length;o++){const n=e[o];if(!n)continue;const r=t-n.x,c=s-n.y;if(i>r*r+c*c)return n}return null}snapBubbleToGrid(t,e,i){const r=o.getState();if(0===r.bubbles.length){const o={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:t,y:Math.max(e,50+this.offset+n)};return r.addBubble(o),r.clearShootingBubble(),void r.generateNextBubble()}const h=r.bubbles;let l=h[0],u=1/0;for(let o=0;o<h.length;o++){const s=h[o];if(!s)continue;const i=t-s.x,n=e-s.y,r=Math.sqrt(i*i+n*n);u>r&&(u=r,l=s)}if(!l)return;const f=t-l.x,M=e-l.y,d=Math.sqrt(f*f+M*M);if(.1>d){const t={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:l.x,y:l.y+c};r.addBubble(t);const e=o.getState().bubbles,n=this.findConnectedBubbles(t,e);if(n.length>=s.MIN_MATCH_COUNT){const t=n.map(t=>t.id);r.removeBubbles(t);const e=n.length*s.POINTS_PER_BUBBLE;r.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),r.setGameWon())}return r.clearShootingBubble(),void r.generateNextBubble()}const w=f/d,x=M/d;let B=l.x+w*c,m=l.y+x*c;const S=50+this.offset+n,p=l.y+2*c;m=Math.max(S,Math.min(p,m)),B=Math.max(a,Math.min(b,B));const v={id:"bubble-"+Date.now(),row:0,col:0,color:i,x:B,y:m};r.addBubble(v);const y=o.getState().bubbles,C=this.findConnectedBubbles(v,y);if(C.length>=s.MIN_MATCH_COUNT){const t=C.map(t=>t.id);r.removeBubbles(t);const e=C.length*s.POINTS_PER_BUBBLE;r.updateScore(e),this.onBubbleMatch?.(),0===o.getState().bubbles.length&&(this.onGameWon?.(),r.setGameWon())}r.clearShootingBubble(),r.generateNextBubble()}findConnectedBubbles(t,o){const s=[],e=new Set,i=[t],n=l*l,r=t.color;for(;i.length>0;){const t=i.shift();if(!e.has(t.id)&&(e.add(t.id),t.color===r)){s.push(t);for(let s=0;s<o.length;s++){const c=o[s];if(!c||e.has(c.id)||c.color!==r)continue;const h=t.x-c.x,l=t.y-c.y;n>h*h+l*l&&i.push(c)}}}return s}shoot(){const t=o.getState();if(!t.isPlaying||t.shootingBubble)return;const e=t.shooterAngle,i=s.BUBBLE_SPEED,n={id:"shooting-"+Date.now(),x:this.shooterX,y:this.shooterY,vx:Math.sin(e)*i,vy:-Math.cos(e)*i,color:t.currentBubbleColor};o.getState().updateShootingBubble(n),this.onShoot?.()}}
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_COLORS","width","get","BubbleShooterService","rowCount","colorCount","shooterX","shooterY","offset","constructor","setCallbacks","onShoot","onBubbleMatch","onGameWon","setDifficulty","setShooterPosition","x","y","startGame","initializeBubbles","stopGame","resetGame","cleanup","store","getState","bubbles","radius","BUBBLE_RADIUS","spacing","BUBBLE_SPACING","diameter","cols","COLS_PER_ROW","gridWidth","startX","availableColors","slice","row","col","xOffset","color","Math","floor","random","length","push","id","updateBubbles","uniqueColors","Set","map","b","randomColor1","randomColor2","setState","currentBubbleColor","nextBubbleColor","updateShootingBubble","_offset","shootingBubble","bubble","newX","vx","newY","vy","newVx","wallPadding","snapBubbleToGrid","hitBubble","checkBubbleCollision","collisionDist","dx","dy","dist","sqrt","newBubble","Date","now","max","addBubble","clearShootingBubble","generateNextBubble","currentBubbles","collidedBubble","minDist","Infinity","i","distance","updatedBubbles","matches","findConnectedBubbles","MIN_MATCH_COUNT","matchIds","removeBubbles","points","POINTS_PER_BUBBLE","updateScore","remainingBubbles","setGameWon","normalizedDx","normalizedDy","snapX","snapY","minY","maxY","min","minX","maxX","startBubble","allBubbles","visited","queue","neighborDist","current","shift","has","add","shoot","isPlaying","angle","shooterAngle","speed","BUBBLE_SPEED","sin","cos"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,qBAAqB,QAAqB,yBAAsB;AACzE,SAASC,0BAA0B,EAAEC,aAAa,QAAQ,6BAA0B;AAEpF,MAAM;EAAEC;AAAM,CAAC,GAAGJ,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC;AAE1C,OAAO,MAAMC,oBAAoB,CAAC;EACxBC,QAAQ,GAAW,CAAC;EACpBC,UAAU,GAAW,CAAC;EACtBC,QAAQ,GAAWL,KAAK,GAAG,CAAC;EAC5BM,QAAQ,GAAW,CAAC;EACpBC,MAAM,GAAW,CAAC;;EAE1B;;EAKAC,WAAWA,CAAA,EAAG,CAAC;EAEfC,YAAYA,CACVC,OAAoB,EACpBC,aAA0B,EAC1BC,SAAsB,EACtB;IACA,IAAI,CAACF,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;EAEAC,aAAaA,CAACV,QAAgB,EAAEC,UAAkB,EAAE;IAClD,IAAI,CAACD,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAEAU,kBAAkBA,CAACC,CAAS,EAAEC,CAAS,EAAET,MAAc,GAAG,CAAC,EAAE;IAC3D,IAAI,CAACF,QAAQ,GAAGU,CAAC;IACjB,IAAI,CAACT,QAAQ,GAAGU,CAAC;IACjB,IAAI,CAACT,MAAM,GAAGA,MAAM;EACtB;EAEAU,SAASA,CAAA,EAAG;IACV,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;EAEAC,QAAQA,CAAA,EAAG;IACT;EAAA;EAGFC,SAASA,CAAA,EAAG;IACV;EAAA;EAGFC,OAAOA,CAAA,EAAG;IACR;EAAA;;EAGF;EACAH,iBAAiBA,CAAA,EAAG;IAClB,MAAMI,KAAK,GAAGzB,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC;IAC9C,MAAMC,OAAiB,GAAG,EAAE;IAC5B,MAAMC,MAAM,GAAG3B,0BAA0B,CAAC4B,aAAa;IACvD,MAAMC,OAAO,GAAG7B,0BAA0B,CAAC8B,cAAc;IACzD,MAAMC,QAAQ,GAAG,CAACJ,MAAM,GAAGE,OAAO,IAAI,CAAC;IACvC,MAAMG,IAAI,GAAGhC,0BAA0B,CAACiC,YAAY;;IAEpD;IACA,MAAMC,SAAS,GAAGF,IAAI,GAAGD,QAAQ;IACjC,MAAMI,MAAM,GAAG,CAACjC,KAAK,GAAGgC,SAAS,IAAI,CAAC,GAAGP,MAAM;;IAE/C;IACA,MAAMS,eAAe,GAAGnC,aAAa,CAACoC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC/B,UAAU,CAAC;IAE/D,KAAK,IAAIgC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAG,IAAI,CAACjC,QAAQ,EAAEiC,GAAG,EAAE,EAAE;MAC5C,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGP,IAAI,EAAEO,GAAG,EAAE,EAAE;QACnC;QACA,MAAMC,OAAO,GAAGF,GAAG,GAAG,CAAC,KAAK,CAAC,GAAGP,QAAQ,GAAG,CAAC,GAAG,CAAC;QAChD,MAAMd,CAAC,GAAGkB,MAAM,GAAGI,GAAG,GAAGR,QAAQ,GAAGS,OAAO;QAC3C,MAAMtB,CAAC,GAAGoB,GAAG,GAAGP,QAAQ,GAAG,KAAK,GAAGJ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAClB,MAAM,CAAC,CAAC;;QAE/D;QACA,MAAMgC,KAAK,GAAGL,eAAe,CAACM,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGR,eAAe,CAACS,MAAM,CAAC,CAAW;QAE3FnB,OAAO,CAACoB,IAAI,CAAC;UACXC,EAAE,EAAE,UAAUT,GAAG,IAAIC,GAAG,EAAE;UAC1BD,GAAG;UACHC,GAAG;UACHE,KAAK;UACLxB,CAAC;UACDC;QACF,CAAC,CAAC;MACJ;IACF;IAEAM,KAAK,CAACwB,aAAa,CAACtB,OAAO,CAAC;;IAE5B;IACA,MAAMuB,YAAY,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACxB,OAAO,CAACyB,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACX,KAAK,CAAC,CAAC,CAAC;IAC9D,MAAMY,YAAY,GAAGJ,YAAY,CAACP,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGK,YAAY,CAACJ,MAAM,CAAC,CAAC;IAClF,MAAMS,YAAY,GAAGL,YAAY,CAACP,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGK,YAAY,CAACJ,MAAM,CAAC,CAAC;;IAElF;IACA9C,qBAAqB,CAACwD,QAAQ,CAAC;MAC7BC,kBAAkB,EAAEH,YAAY;MAChCI,eAAe,EAAEH;IACnB,CAAC,CAAC;EACJ;;EAEA;EACAI,oBAAoBA,CAACC,OAAe,EAAE;IACpC,MAAMnC,KAAK,GAAGzB,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAACD,KAAK,CAACoC,cAAc,EAAE;IAE3B,MAAMC,MAAM,GAAGrC,KAAK,CAACoC,cAAc;IACnC,MAAMjC,MAAM,GAAG3B,0BAA0B,CAAC4B,aAAa;;IAEvD;IACA,IAAIkC,IAAI,GAAGD,MAAM,CAAC5C,CAAC,GAAG4C,MAAM,CAACE,EAAE;IAC/B,IAAIC,IAAI,GAAGH,MAAM,CAAC3C,CAAC,GAAG2C,MAAM,CAACI,EAAE;IAC/B,IAAIC,KAAK,GAAGL,MAAM,CAACE,EAAE;;IAErB;IACA,MAAMI,WAAW,GAAG,CAAC;IACrB,IAAIL,IAAI,GAAGnC,MAAM,GAAGwC,WAAW,EAAE;MAC/BL,IAAI,GAAGnC,MAAM,GAAGwC,WAAW;MAC3BD,KAAK,GAAG,CAACA,KAAK;IAChB,CAAC,MAAM,IAAIJ,IAAI,GAAGnC,MAAM,GAAGzB,KAAK,GAAGiE,WAAW,EAAE;MAC9CL,IAAI,GAAG5D,KAAK,GAAGyB,MAAM,GAAGwC,WAAW;MACnCD,KAAK,GAAG,CAACA,KAAK;IAChB;;IAEA;IACA,IAAIF,IAAI,GAAGrC,MAAM,IAAI,EAAE,GAAG,IAAI,CAAClB,MAAM,EAAE;MACrC,IAAI,CAAC2D,gBAAgB,CAACN,IAAI,EAAEE,IAAI,EAAEH,MAAM,CAACpB,KAAK,CAAC;MAC/C;IACF;;IAEA;IACA,MAAM4B,SAAS,GAAG,IAAI,CAACC,oBAAoB,CAACR,IAAI,EAAEE,IAAI,CAAC;IACvD,IAAIK,SAAS,EAAE;MACb,IAAI,CAACD,gBAAgB,CAACN,IAAI,EAAEE,IAAI,EAAEH,MAAM,CAACpB,KAAK,CAAC;MAC/C;IACF;IAEAjB,KAAK,CAACkC,oBAAoB,CAAC;MACzB,GAAGG,MAAM;MACT5C,CAAC,EAAE6C,IAAI;MACP5C,CAAC,EAAE8C,IAAI;MACPD,EAAE,EAAEG;IACN,CAAC,CAAC;EACJ;;EAEA;EACAI,oBAAoBA,CAACrD,CAAS,EAAEC,CAAS,EAAiB;IACxD,MAAMQ,OAAO,GAAG3B,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACC,OAAO;IACxD,MAAMC,MAAM,GAAG3B,0BAA0B,CAAC4B,aAAa;IACvD,MAAM2C,aAAa,GAAG5C,MAAM,GAAG,CAAC;IAEhC,KAAK,MAAMkC,MAAM,IAAInC,OAAO,EAAE;MAC5B,MAAM8C,EAAE,GAAGvD,CAAC,GAAG4C,MAAM,CAAC5C,CAAC;MACvB,MAAMwD,EAAE,GAAGvD,CAAC,GAAG2C,MAAM,CAAC3C,CAAC;MACvB,MAAMwD,IAAI,GAAGhC,IAAI,CAACiC,IAAI,CAACH,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;MAEzC,IAAIC,IAAI,GAAGH,aAAa,EAAE;QACxB,OAAOV,MAAM;MACf;IACF;IAEA,OAAO,IAAI;EACb;;EAEA;EACAO,gBAAgBA,CAACnD,CAAS,EAAEC,CAAS,EAAEuB,KAAa,EAAE;IACpD,MAAMd,MAAM,GAAG3B,0BAA0B,CAAC4B,aAAa;IACvD,MAAMC,OAAO,GAAG7B,0BAA0B,CAAC8B,cAAc;IACzD,MAAMC,QAAQ,GAAG,CAACJ,MAAM,GAAGE,OAAO,IAAI,CAAC;;IAEvC;IACA,MAAML,KAAK,GAAGzB,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC;;IAE9C;IACA,IAAID,KAAK,CAACE,OAAO,CAACmB,MAAM,KAAK,CAAC,EAAE;MAC9B,MAAM+B,SAAiB,GAAG;QACxB7B,EAAE,EAAE,UAAU8B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;QAC1BxC,GAAG,EAAE,CAAC;QACNC,GAAG,EAAE,CAAC;QACNE,KAAK;QACLxB,CAAC,EAAEA,CAAC;QACJC,CAAC,EAAEwB,IAAI,CAACqC,GAAG,CAAC7D,CAAC,EAAE,EAAE,GAAG,IAAI,CAACT,MAAM,GAAGkB,MAAM;MAC1C,CAAC;MACDH,KAAK,CAACwD,SAAS,CAACJ,SAAS,CAAC;MAC1BpD,KAAK,CAACyD,mBAAmB,CAAC,CAAC;MAC3BzD,KAAK,CAAC0D,kBAAkB,CAAC,CAAC;MAC1B;IACF;;IAEA;IACA,MAAMC,cAAc,GAAG3D,KAAK,CAACE,OAAO;IACpC,IAAI0D,cAAc,GAAGD,cAAc,CAAC,CAAC,CAAC;IACtC,IAAIE,OAAO,GAAGC,QAAQ;IAEtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,cAAc,CAACtC,MAAM,EAAE0C,CAAC,EAAE,EAAE;MAC9C,MAAM1B,MAAM,GAAGsB,cAAc,CAACI,CAAC,CAAC;MAChC,IAAI,CAAC1B,MAAM,EAAE;MACb,MAAMW,EAAE,GAAGvD,CAAC,GAAG4C,MAAM,CAAC5C,CAAC;MACvB,MAAMwD,EAAE,GAAGvD,CAAC,GAAG2C,MAAM,CAAC3C,CAAC;MACvB,MAAMwD,IAAI,GAAGhC,IAAI,CAACiC,IAAI,CAACH,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;MACzC,IAAIC,IAAI,GAAGW,OAAO,EAAE;QAClBA,OAAO,GAAGX,IAAI;QACdU,cAAc,GAAGvB,MAAM;MACzB;IACF;IAEA,IAAI,CAACuB,cAAc,EAAE;;IAErB;IACA,MAAMZ,EAAE,GAAGvD,CAAC,GAAGmE,cAAc,CAACnE,CAAC;IAC/B,MAAMwD,EAAE,GAAGvD,CAAC,GAAGkE,cAAc,CAAClE,CAAC;IAC/B,MAAMsE,QAAQ,GAAG9C,IAAI,CAACiC,IAAI,CAACH,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;;IAE7C;IACA,IAAIe,QAAQ,GAAG,GAAG,EAAE;MAClB,MAAMZ,SAAiB,GAAG;QACxB7B,EAAE,EAAE,UAAU8B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;QAC1BxC,GAAG,EAAE,CAAC;QACNC,GAAG,EAAE,CAAC;QACNE,KAAK;QACLxB,CAAC,EAAEmE,cAAc,CAAEnE,CAAC;QACpBC,CAAC,EAAEkE,cAAc,CAAElE,CAAC,GAAGa;MACzB,CAAC;MACDP,KAAK,CAACwD,SAAS,CAACJ,SAAS,CAAC;MAE1B,MAAMa,cAAc,GAAG1F,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACC,OAAO;MAC/D,MAAMgE,OAAO,GAAG,IAAI,CAACC,oBAAoB,CAACf,SAAS,EAAEa,cAAc,CAAC;MAEpE,IAAIC,OAAO,CAAC7C,MAAM,IAAI7C,0BAA0B,CAAC4F,eAAe,EAAE;QAChE,MAAMC,QAAQ,GAAGH,OAAO,CAACvC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACL,EAAE,CAAC;QACzCvB,KAAK,CAACsE,aAAa,CAACD,QAAQ,CAAC;QAC7B,MAAME,MAAM,GAAGL,OAAO,CAAC7C,MAAM,GAAG7C,0BAA0B,CAACgG,iBAAiB;QAC5ExE,KAAK,CAACyE,WAAW,CAACF,MAAM,CAAC;QACzB,IAAI,CAAClF,aAAa,GAAG,CAAC;QAEtB,MAAMqF,gBAAgB,GAAGnG,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACC,OAAO;QACjE,IAAIwE,gBAAgB,CAACrD,MAAM,KAAK,CAAC,EAAE;UACjC,IAAI,CAAC/B,SAAS,GAAG,CAAC;UAClBU,KAAK,CAAC2E,UAAU,CAAC,CAAC;QACpB;MACF;MAEA3E,KAAK,CAACyD,mBAAmB,CAAC,CAAC;MAC3BzD,KAAK,CAAC0D,kBAAkB,CAAC,CAAC;MAC1B;IACF;;IAEA;IACA,MAAMkB,YAAY,GAAG5B,EAAE,GAAGgB,QAAQ;IAClC,MAAMa,YAAY,GAAG5B,EAAE,GAAGe,QAAQ;IAElC,IAAIc,KAAK,GAAGlB,cAAc,CAAEnE,CAAC,GAAGmF,YAAY,GAAGrE,QAAQ;IACvD,IAAIwE,KAAK,GAAGnB,cAAc,CAAElE,CAAC,GAAGmF,YAAY,GAAGtE,QAAQ;;IAEvD;IACA,MAAMyE,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC/F,MAAM,GAAGkB,MAAM;IACtC,MAAM8E,IAAI,GAAGrB,cAAc,CAAElE,CAAC,GAAGa,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC/CwE,KAAK,GAAG7D,IAAI,CAACqC,GAAG,CAACyB,IAAI,EAAE9D,IAAI,CAACgE,GAAG,CAACD,IAAI,EAAEF,KAAK,CAAC,CAAC;;IAE7C;IACA,MAAMI,IAAI,GAAGhF,MAAM,GAAG,CAAC;IACvB,MAAMiF,IAAI,GAAG1G,KAAK,GAAGyB,MAAM,GAAG,CAAC;IAC/B2E,KAAK,GAAG5D,IAAI,CAACqC,GAAG,CAAC4B,IAAI,EAAEjE,IAAI,CAACgE,GAAG,CAACE,IAAI,EAAEN,KAAK,CAAC,CAAC;IAE7C,MAAM1B,SAAiB,GAAG;MACxB7B,EAAE,EAAE,UAAU8B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MAC1BxC,GAAG,EAAE,CAAC;MACNC,GAAG,EAAE,CAAC;MACNE,KAAK;MACLxB,CAAC,EAAEqF,KAAK;MACRpF,CAAC,EAAEqF;IACL,CAAC;;IAED;IACA/E,KAAK,CAACwD,SAAS,CAACJ,SAAS,CAAC;;IAE1B;IACA,MAAMa,cAAc,GAAG1F,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACC,OAAO;;IAE/D;IACA,MAAMgE,OAAO,GAAG,IAAI,CAACC,oBAAoB,CAACf,SAAS,EAAEa,cAAc,CAAC;IAEpE,IAAIC,OAAO,CAAC7C,MAAM,IAAI7C,0BAA0B,CAAC4F,eAAe,EAAE;MAChE;MACA,MAAMC,QAAQ,GAAGH,OAAO,CAACvC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACL,EAAE,CAAC;MACzCvB,KAAK,CAACsE,aAAa,CAACD,QAAQ,CAAC;;MAE7B;MACA,MAAME,MAAM,GAAGL,OAAO,CAAC7C,MAAM,GAAG7C,0BAA0B,CAACgG,iBAAiB;MAC5ExE,KAAK,CAACyE,WAAW,CAACF,MAAM,CAAC;MAEzB,IAAI,CAAClF,aAAa,GAAG,CAAC;;MAEtB;MACA,MAAMqF,gBAAgB,GAAGnG,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACC,OAAO;MACjE,IAAIwE,gBAAgB,CAACrD,MAAM,KAAK,CAAC,EAAE;QACjC,IAAI,CAAC/B,SAAS,GAAG,CAAC;QAClBU,KAAK,CAAC2E,UAAU,CAAC,CAAC;MACpB;IACF;;IAEA;IACA3E,KAAK,CAACyD,mBAAmB,CAAC,CAAC;IAC3BzD,KAAK,CAAC0D,kBAAkB,CAAC,CAAC;EAC5B;;EAGA;EACAS,oBAAoBA,CAACkB,WAAmB,EAAEC,UAAoB,EAAY;IACxE,MAAMpB,OAAiB,GAAG,EAAE;IAC5B,MAAMqB,OAAO,GAAG,IAAI7D,GAAG,CAAS,CAAC;IACjC,MAAM8D,KAAK,GAAG,CAACH,WAAW,CAAC;IAC3B,MAAMlF,MAAM,GAAG3B,0BAA0B,CAAC4B,aAAa;IACvD,MAAMqF,YAAY,GAAGtF,MAAM,GAAG,GAAG,CAAC,CAAC;;IAEnC,OAAOqF,KAAK,CAACnE,MAAM,GAAG,CAAC,EAAE;MACvB,MAAMqE,OAAO,GAAGF,KAAK,CAACG,KAAK,CAAC,CAAE;MAE9B,IAAIJ,OAAO,CAACK,GAAG,CAACF,OAAO,CAACnE,EAAE,CAAC,EAAE;MAC7BgE,OAAO,CAACM,GAAG,CAACH,OAAO,CAACnE,EAAE,CAAC;MAEvB,IAAImE,OAAO,CAACzE,KAAK,KAAKoE,WAAW,CAACpE,KAAK,EAAE;QACvCiD,OAAO,CAAC5C,IAAI,CAACoE,OAAO,CAAC;;QAErB;QACA,KAAK,IAAI3B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuB,UAAU,CAACjE,MAAM,EAAE0C,CAAC,EAAE,EAAE;UAC1C,MAAM1B,MAAM,GAAGiD,UAAU,CAACvB,CAAC,CAAC;UAC5B,IAAI,CAAC1B,MAAM,EAAE;UACb,IAAI,CAACkD,OAAO,CAACK,GAAG,CAACvD,MAAM,CAACd,EAAE,CAAC,EAAE;YAC3B,MAAMyB,EAAE,GAAG0C,OAAO,CAACjG,CAAC,GAAG4C,MAAM,CAAC5C,CAAC;YAC/B,MAAMwD,EAAE,GAAGyC,OAAO,CAAChG,CAAC,GAAG2C,MAAM,CAAC3C,CAAC;YAC/B,MAAMwD,IAAI,GAAGhC,IAAI,CAACiC,IAAI,CAACH,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;YAEzC,IAAIC,IAAI,GAAGuC,YAAY,IAAIpD,MAAM,CAACpB,KAAK,KAAKoE,WAAW,CAACpE,KAAK,EAAE;cAC7DuE,KAAK,CAAClE,IAAI,CAACe,MAAM,CAAC;YACpB;UACF;QACF;MACF;IACF;IAEA,OAAO6B,OAAO;EAChB;;EAEA;EACA4B,KAAKA,CAAA,EAAG;IACN,MAAM9F,KAAK,GAAGzB,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAACD,KAAK,CAAC+F,SAAS,IAAI/F,KAAK,CAACoC,cAAc,EAAE;MAC5C;IACF;;IAEA;IACA,MAAM4D,KAAK,GAAGhG,KAAK,CAACiG,YAAY;IAChC,MAAMC,KAAK,GAAG1H,0BAA0B,CAAC2H,YAAY;IAErD,MAAM/D,cAAc,GAAG;MACrBb,EAAE,EAAE,YAAY8B,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;MAC5B7D,CAAC,EAAE,IAAI,CAACV,QAAQ;MAChBW,CAAC,EAAE,IAAI,CAACV,QAAQ;MAChBuD,EAAE,EAAErB,IAAI,CAACkF,GAAG,CAACJ,KAAK,CAAC,GAAGE,KAAK;MAC3BzD,EAAE,EAAE,CAACvB,IAAI,CAACmF,GAAG,CAACL,KAAK,CAAC,GAAGE,KAAK;MAC5BjF,KAAK,EAAEjB,KAAK,CAACgC;IACf,CAAC;IAEDzD,qBAAqB,CAAC0B,QAAQ,CAAC,CAAC,CAACiC,oBAAoB,CAACE,cAAc,CAAC;IAErE,IAAI,CAAChD,OAAO,GAAG,CAAC;EAClB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Dimensions","useBubbleShooterStore","BUBBLE_SHOOTER_GAME_CONFIG","BUBBLE_COLORS","width","get","BUBBLE_RADIUS","BUBBLE_SPACING","BUBBLE_DIAMETER","COLLISION_DIST","NEIGHBOR_DIST","WALL_PADDING","MIN_X","MAX_X","BubbleShooterService","rowCount","colorCount","shooterX","shooterY","offset","constructor","setCallbacks","onShoot","onBubbleMatch","onGameWon","setDifficulty","setShooterPosition","x","y","setOffset","startGame","store","getState","bubbles","length","initializeBubbles","stopGame","resetGame","cleanup","radius","spacing","diameter","cols","COLS_PER_ROW","gridWidth","startX","availableColors","slice","row","col","xOffset","color","Math","floor","random","push","id","updateBubbles","uniqueColors","Set","map","b","randomColor1","randomColor2","setState","currentBubbleColor","nextBubbleColor","updateShootingBubble","_offset","shootingBubble","bubble","newX","vx","newY","vy","newVx","topBoundary","snapBubbleToGrid","hitBubble","checkBubbleCollision","collisionDistSq","i","dx","dy","distSq","newBubble","Date","now","max","addBubble","clearShootingBubble","generateNextBubble","currentBubbles","collidedBubble","minDist","Infinity","dist","sqrt","distance","updatedBubbles","matches","findConnectedBubbles","MIN_MATCH_COUNT","matchIds","removeBubbles","points","POINTS_PER_BUBBLE","updateScore","remainingBubbles","setGameWon","normalizedDx","normalizedDy","snapX","snapY","minY","maxY","min","startBubble","allBubbles","visited","queue","neighborDistSq","targetColor","current","shift","has","add","shoot","isPlaying","angle","shooterAngle","speed","BUBBLE_SPEED","sin","cos"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterService.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";import{create}from 'zustand';import{subscribeWithSelector}from 'zustand/middleware';import{immerMiddleware}from "../../services/UtilsService.js";import{BUBBLE_SHOOTER_GAME_CONFIG}from "./BubbleShooterConstants.js";export const useBubbleShooterStore = create()(subscribeWithSelector(immerMiddleware((set,get)=>({score:0,isPlaying:false,gameOver:false,gameWon:false,shooterAngle:0,bubbles:[],shootingBubble:null,nextBubbleColor:'#FF3B30',currentBubbleColor:'#FF3B30',startGame:(_rowCount,_colorCount)=>{set(draft =>{draft.score = 0;draft.isPlaying = true;draft.gameOver = false;draft.gameWon = false;draft.shootingBubble = null;draft.bubbles = [];});},stopGame:()=>{set(draft =>{draft.isPlaying = false;});},resetGame:()=>{set(draft =>{draft.score = 0;draft.isPlaying = false;draft.gameOver = false;draft.gameWon = false;draft.shooterAngle = 0;draft.bubbles = [];draft.shootingBubble = null;});},updateScore:points =>{set(draft =>{draft.score = draft.score + points;});},setShooterAngle:angle =>{set(draft =>{draft.shooterAngle = angle;});},shootBubble:()=>{const state = get();if(state.shootingBubble)return;const angle = state.shooterAngle;const speed = BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_SPEED;set(draft =>{draft.shootingBubble ={id:`shooting-${Date.now()}`,x:0,y:0,vx:Math.sin(angle)* speed,vy:-Math.cos(angle)* speed,color:draft.currentBubbleColor};});},updateShootingBubble:bubble =>{set(draft =>{const{width}= require('react-native').Dimensions.get('window');const radius = 18;const minX = radius + 5;const maxX = width - radius - 5;draft.shootingBubble ={...bubble,x:Math.max(minX,Math.min(maxX,bubble.x))};});},clearShootingBubble:()=>{set(draft =>{draft.currentBubbleColor = draft.nextBubbleColor;draft.shootingBubble = null;});},addBubble:bubble =>{set(draft =>{const{width}= require('react-native').Dimensions.get('window');const radius = 18;const minX = radius + 5;const maxX = width - radius - 5;const clampedBubble ={...bubble,x:Math.max(minX,Math.min(maxX,bubble.x))};draft.bubbles.push(clampedBubble);});},removeBubbles:bubbleIds =>{set(draft =>{draft.bubbles = draft.bubbles.filter(b => !bubbleIds.includes(b.id));});},updateBubbles:bubbles =>{set(draft =>{const{width}= require('react-native').Dimensions.get('window');const radius = 18;const minX = radius + 5;const maxX = width - radius - 5;draft.bubbles = bubbles.map(bubble =>({...bubble,x:Math.max(minX,Math.min(maxX,bubble.x))}));});},setGameOver:()=>{set(draft =>{draft.gameOver = true;draft.isPlaying = false;});},setGameWon:()=>{set(draft =>{draft.gameWon = true;draft.gameOver = true;draft.isPlaying = false;});},generateNextBubble:()=>{set(draft =>{const uniqueColors = [...new Set(draft.bubbles.map(b => b.color))];if(uniqueColors.length === 0){const defaultColors = ['#FF3B30','#FF9500','#FFCC00','#34C759','#007AFF'];draft.nextBubbleColor = defaultColors[Math.floor(Math.random()* defaultColors.length)];}else{draft.nextBubbleColor = uniqueColors[Math.floor(Math.random()* uniqueColors.length)];}});}}))));export const useScore =()=> useBubbleShooterStore(state => state.score);export const useIsPlaying =()=> useBubbleShooterStore(state => state.isPlaying);export const useGameOver =()=> useBubbleShooterStore(state => state.gameOver);export const useGameWon =()=> useBubbleShooterStore(state => state.gameWon);export const useShooterAngle =()=> useBubbleShooterStore(state => state.shooterAngle);export const useBubbles =()=> useBubbleShooterStore(state => state.bubbles);export const useShootingBubble =()=> useBubbleShooterStore(state => state.shootingBubble);export const useCurrentBubbleColor =()=> useBubbleShooterStore(state => state.currentBubbleColor);export const useNextBubbleColor =()=> useBubbleShooterStore(state => state.nextBubbleColor);
1
+ "use strict";import{create as e}from"zustand";import{subscribeWithSelector as o}from"zustand/middleware";import{immerMiddleware as t}from"../../services/UtilsService.js";import{BUBBLE_SHOOTER_GAME_CONFIG as r}from"./BubbleShooterConstants.js";export const useBubbleShooterStore=e()(o(t((e,o)=>({score:0,timeRemaining:0,isPlaying:!1,gameOver:!1,gameWon:!1,shooterAngle:0,bubbles:[],shootingBubble:null,nextBubbleColor:"#FF3B30",currentBubbleColor:"#FF3B30",startGame:(o,t,r)=>{e(e=>{e.score=0,e.timeRemaining=r,e.isPlaying=!0,e.gameOver=!1,e.gameWon=!1,e.shootingBubble=null})},stopGame:()=>{e(e=>{e.isPlaying=!1})},resetGame:()=>{e(e=>{e.score=0,e.timeRemaining=0,e.isPlaying=!1,e.gameOver=!1,e.gameWon=!1,e.shooterAngle=0,e.bubbles=[],e.shootingBubble=null})},updateScore:o=>{e(e=>{e.score=e.score+o})},updateTimeRemaining:o=>{e(e=>{e.timeRemaining=Math.max(0,e.timeRemaining+o)})},setTimeRemaining:o=>{e(e=>{e.timeRemaining=o})},setShooterAngle:o=>{e(e=>{e.shooterAngle=o})},shootBubble:()=>{const t=o();if(t.shootingBubble)return;const s=t.shooterAngle,u=r.BUBBLE_SPEED;e(e=>{e.shootingBubble={id:"shooting-"+Date.now(),x:0,y:0,vx:Math.sin(s)*u,vy:-Math.cos(s)*u,color:e.currentBubbleColor}})},updateShootingBubble:o=>{e(e=>{e.shootingBubble=o})},clearShootingBubble:()=>{e(e=>{e.currentBubbleColor=e.nextBubbleColor,e.shootingBubble=null})},addBubble:o=>{e(e=>{e.bubbles.push(o)})},removeBubbles:o=>{e(e=>{const t=new Set(o);e.bubbles=e.bubbles.filter(e=>!t.has(e.id))})},updateBubbles:o=>{e(e=>{e.bubbles=o})},setGameOver:()=>{e(e=>{e.gameOver=!0,e.isPlaying=!1})},setGameWon:()=>{e(e=>{e.gameWon=!0,e.gameOver=!0,e.isPlaying=!1})},generateNextBubble:()=>{e(e=>{const o=[...new Set(e.bubbles.map(e=>e.color))];if(0===o.length){const o=["#FF3B30","#FF9500","#FFCC00","#34C759","#007AFF"];e.nextBubbleColor=o[Math.floor(Math.random()*o.length)]}else e.nextBubbleColor=o[Math.floor(Math.random()*o.length)]})}}))));export const useScore=()=>useBubbleShooterStore(e=>e.score);export const useTimeRemaining=()=>useBubbleShooterStore(e=>e.timeRemaining);export const useIsPlaying=()=>useBubbleShooterStore(e=>e.isPlaying);export const useGameOver=()=>useBubbleShooterStore(e=>e.gameOver);export const useGameWon=()=>useBubbleShooterStore(e=>e.gameWon);export const useShooterAngle=()=>useBubbleShooterStore(e=>e.shooterAngle);export const useBubbles=()=>useBubbleShooterStore(e=>e.bubbles);export const useShootingBubble=()=>useBubbleShooterStore(e=>e.shootingBubble);export const useCurrentBubbleColor=()=>useBubbleShooterStore(e=>e.currentBubbleColor);export const useNextBubbleColor=()=>useBubbleShooterStore(e=>e.nextBubbleColor);
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","BUBBLE_SHOOTER_GAME_CONFIG","useBubbleShooterStore","set","get","score","isPlaying","gameOver","gameWon","shooterAngle","bubbles","shootingBubble","nextBubbleColor","currentBubbleColor","startGame","_rowCount","_colorCount","draft","stopGame","resetGame","updateScore","points","setShooterAngle","angle","shootBubble","state","speed","BUBBLE_SPEED","id","Date","now","x","y","vx","Math","sin","vy","cos","color","updateShootingBubble","bubble","width","require","Dimensions","radius","minX","maxX","max","min","clearShootingBubble","addBubble","clampedBubble","push","removeBubbles","bubbleIds","filter","b","includes","updateBubbles","map","setGameOver","setGameWon","generateNextBubble","uniqueColors","Set","length","defaultColors","floor","random","useScore","useIsPlaying","useGameOver","useGameWon","useShooterAngle","useBubbles","useShootingBubble","useCurrentBubbleColor","useNextBubbleColor"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterStore.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,qBAAqB,QAAQ,oBAAoB;AAC1D,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,0BAA0B,QAAQ,6BAA0B;AAmDrE;AACA,OAAO,MAAMC,qBAAqB,GAAGJ,MAAM,CAAqB,CAAC,CAC/DC,qBAAqB,CACnBC,eAAe,CAAC,CAACG,GAAQ,EAAEC,GAAQ,MAAM;EACvC;EACAC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,KAAK;EAChBC,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAE,KAAK;EACdC,YAAY,EAAE,CAAC;EACfC,OAAO,EAAE,EAAE;EACXC,cAAc,EAAE,IAAI;EACpBC,eAAe,EAAE,SAAS;EAC1BC,kBAAkB,EAAE,SAAS;EAE7B;EACAC,SAAS,EAAEA,CAACC,SAAiB,EAAEC,WAAmB,KAAK;IACrDb,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACZ,KAAK,GAAG,CAAC;MACfY,KAAK,CAACX,SAAS,GAAG,IAAI;MACtBW,KAAK,CAACV,QAAQ,GAAG,KAAK;MACtBU,KAAK,CAACT,OAAO,GAAG,KAAK;MACrBS,KAAK,CAACN,cAAc,GAAG,IAAI;MAC3BM,KAAK,CAACP,OAAO,GAAG,EAAE;MAClB;IACF,CAAC,CAAC;EACJ,CAAC;EAEDQ,QAAQ,EAAEA,CAAA,KAAM;IACdf,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACX,SAAS,GAAG,KAAK;IACzB,CAAC,CAAC;EACJ,CAAC;EAEDa,SAAS,EAAEA,CAAA,KAAM;IACfhB,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACZ,KAAK,GAAG,CAAC;MACfY,KAAK,CAACX,SAAS,GAAG,KAAK;MACvBW,KAAK,CAACV,QAAQ,GAAG,KAAK;MACtBU,KAAK,CAACT,OAAO,GAAG,KAAK;MACrBS,KAAK,CAACR,YAAY,GAAG,CAAC;MACtBQ,KAAK,CAACP,OAAO,GAAG,EAAE;MAClBO,KAAK,CAACN,cAAc,GAAG,IAAI;IAC7B,CAAC,CAAC;EACJ,CAAC;EAEDS,WAAW,EAAGC,MAAc,IAAK;IAC/BlB,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACZ,KAAK,GAAGY,KAAK,CAACZ,KAAK,GAAGgB,MAAM;IACpC,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,EAAGC,KAAa,IAAK;IAClCpB,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACR,YAAY,GAAGc,KAAK;IAC5B,CAAC,CAAC;EACJ,CAAC;EAEDC,WAAW,EAAEA,CAAA,KAAM;IACjB,MAAMC,KAAK,GAAGrB,GAAG,CAAC,CAAC;IACnB,IAAIqB,KAAK,CAACd,cAAc,EAAE,OAAO,CAAC;;IAElC,MAAMY,KAAK,GAAGE,KAAK,CAAChB,YAAY;IAChC,MAAMiB,KAAK,GAAGzB,0BAA0B,CAAC0B,YAAY;IAErDxB,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACN,cAAc,GAAG;QACrBiB,EAAE,EAAE,YAAYC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;QAC5BC,CAAC,EAAE,CAAC;QAAE;QACNC,CAAC,EAAE,CAAC;QAAE;QACNC,EAAE,EAAEC,IAAI,CAACC,GAAG,CAACZ,KAAK,CAAC,GAAGG,KAAK;QAC3BU,EAAE,EAAE,CAACF,IAAI,CAACG,GAAG,CAACd,KAAK,CAAC,GAAGG,KAAK;QAC5BY,KAAK,EAAErB,KAAK,CAACJ;MACf,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED0B,oBAAoB,EAAGC,MAAsB,IAAK;IAChDrC,GAAG,CAAEc,KAAU,IAAK;MAClB;MACA,MAAM;QAAEwB;MAAM,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC,CAACC,UAAU,CAACvC,GAAG,CAAC,QAAQ,CAAC;MAClE,MAAMwC,MAAM,GAAG,EAAE,CAAC,CAAC;MACnB,MAAMC,IAAI,GAAGD,MAAM,GAAG,CAAC;MACvB,MAAME,IAAI,GAAGL,KAAK,GAAGG,MAAM,GAAG,CAAC;MAE/B3B,KAAK,CAACN,cAAc,GAAG;QACrB,GAAG6B,MAAM;QACTT,CAAC,EAAEG,IAAI,CAACa,GAAG,CAACF,IAAI,EAAEX,IAAI,CAACc,GAAG,CAACF,IAAI,EAAEN,MAAM,CAACT,CAAC,CAAC;MAC5C,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDkB,mBAAmB,EAAEA,CAAA,KAAM;IACzB9C,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACJ,kBAAkB,GAAGI,KAAK,CAACL,eAAe;MAChDK,KAAK,CAACN,cAAc,GAAG,IAAI;IAC7B,CAAC,CAAC;EACJ,CAAC;EAEDuC,SAAS,EAAGV,MAAc,IAAK;IAC7BrC,GAAG,CAAEc,KAAU,IAAK;MAClB;MACA,MAAM;QAAEwB;MAAM,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC,CAACC,UAAU,CAACvC,GAAG,CAAC,QAAQ,CAAC;MAClE,MAAMwC,MAAM,GAAG,EAAE,CAAC,CAAC;MACnB,MAAMC,IAAI,GAAGD,MAAM,GAAG,CAAC;MACvB,MAAME,IAAI,GAAGL,KAAK,GAAGG,MAAM,GAAG,CAAC;MAE/B,MAAMO,aAAa,GAAG;QACpB,GAAGX,MAAM;QACTT,CAAC,EAAEG,IAAI,CAACa,GAAG,CAACF,IAAI,EAAEX,IAAI,CAACc,GAAG,CAACF,IAAI,EAAEN,MAAM,CAACT,CAAC,CAAC;MAC5C,CAAC;MAEDd,KAAK,CAACP,OAAO,CAAC0C,IAAI,CAACD,aAAa,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAEDE,aAAa,EAAGC,SAAmB,IAAK;IACtCnD,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACP,OAAO,GAAGO,KAAK,CAACP,OAAO,CAAC6C,MAAM,CAAEC,CAAS,IAAK,CAACF,SAAS,CAACG,QAAQ,CAACD,CAAC,CAAC5B,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC;EAED8B,aAAa,EAAGhD,OAAiB,IAAK;IACpCP,GAAG,CAAEc,KAAU,IAAK;MAClB;MACA,MAAM;QAAEwB;MAAM,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC,CAACC,UAAU,CAACvC,GAAG,CAAC,QAAQ,CAAC;MAClE,MAAMwC,MAAM,GAAG,EAAE,CAAC,CAAC;MACnB,MAAMC,IAAI,GAAGD,MAAM,GAAG,CAAC;MACvB,MAAME,IAAI,GAAGL,KAAK,GAAGG,MAAM,GAAG,CAAC;MAE/B3B,KAAK,CAACP,OAAO,GAAGA,OAAO,CAACiD,GAAG,CAAEnB,MAAc,KAAM;QAC/C,GAAGA,MAAM;QACTT,CAAC,EAAEG,IAAI,CAACa,GAAG,CAACF,IAAI,EAAEX,IAAI,CAACc,GAAG,CAACF,IAAI,EAAEN,MAAM,CAACT,CAAC,CAAC;MAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;EACJ,CAAC;EAED6B,WAAW,EAAEA,CAAA,KAAM;IACjBzD,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACV,QAAQ,GAAG,IAAI;MACrBU,KAAK,CAACX,SAAS,GAAG,KAAK;IACzB,CAAC,CAAC;EACJ,CAAC;EAEDuD,UAAU,EAAEA,CAAA,KAAM;IAChB1D,GAAG,CAAEc,KAAU,IAAK;MAClBA,KAAK,CAACT,OAAO,GAAG,IAAI;MACpBS,KAAK,CAACV,QAAQ,GAAG,IAAI;MACrBU,KAAK,CAACX,SAAS,GAAG,KAAK;IACzB,CAAC,CAAC;EACJ,CAAC;EAEDwD,kBAAkB,EAAEA,CAAA,KAAM;IACxB3D,GAAG,CAAEc,KAAU,IAAK;MAClB;MACA,MAAM8C,YAAY,GAAG,CAAC,GAAG,IAAIC,GAAG,CAAC/C,KAAK,CAACP,OAAO,CAACiD,GAAG,CAAEH,CAAS,IAAKA,CAAC,CAAClB,KAAK,CAAC,CAAC,CAAC;;MAE5E;MACA,IAAIyB,YAAY,CAACE,MAAM,KAAK,CAAC,EAAE;QAC7B,MAAMC,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC7EjD,KAAK,CAACL,eAAe,GAAGsD,aAAa,CAAChC,IAAI,CAACiC,KAAK,CAACjC,IAAI,CAACkC,MAAM,CAAC,CAAC,GAAGF,aAAa,CAACD,MAAM,CAAC,CAAC;MACzF,CAAC,MAAM;QACL;QACAhD,KAAK,CAACL,eAAe,GAAGmD,YAAY,CAAC7B,IAAI,CAACiC,KAAK,CAACjC,IAAI,CAACkC,MAAM,CAAC,CAAC,GAAGL,YAAY,CAACE,MAAM,CAAC,CAAC;MACvF;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC,CACJ,CACF,CAAC;;AAED;AACA,OAAO,MAAMI,QAAQ,GAAGA,CAAA,KAAMnE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACpB,KAAK,CAAC;AAC3E,OAAO,MAAMiE,YAAY,GAAGA,CAAA,KAAMpE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACnB,SAAS,CAAC;AACnF,OAAO,MAAMiE,WAAW,GAAGA,CAAA,KAAMrE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAAClB,QAAQ,CAAC;AACjF,OAAO,MAAMiE,UAAU,GAAGA,CAAA,KAAMtE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACjB,OAAO,CAAC;AAC/E,OAAO,MAAMiE,eAAe,GAAGA,CAAA,KAAMvE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAAChB,YAAY,CAAC;AACzF,OAAO,MAAMiE,UAAU,GAAGA,CAAA,KAAMxE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACf,OAAO,CAAC;AAC/E,OAAO,MAAMiE,iBAAiB,GAAGA,CAAA,KAAMzE,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACd,cAAc,CAAC;AAC7F,OAAO,MAAMiE,qBAAqB,GAAGA,CAAA,KAAM1E,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACZ,kBAAkB,CAAC;AACrG,OAAO,MAAMgE,kBAAkB,GAAGA,CAAA,KAAM3E,qBAAqB,CAAEuB,KAAK,IAAKA,KAAK,CAACb,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["create","subscribeWithSelector","immerMiddleware","BUBBLE_SHOOTER_GAME_CONFIG","useBubbleShooterStore","set","get","score","timeRemaining","isPlaying","gameOver","gameWon","shooterAngle","bubbles","shootingBubble","nextBubbleColor","currentBubbleColor","startGame","_rowCount","_colorCount","timeLimit","draft","stopGame","resetGame","updateScore","points","updateTimeRemaining","time","Math","max","setTimeRemaining","setShooterAngle","angle","shootBubble","state","speed","BUBBLE_SPEED","id","Date","now","x","y","vx","sin","vy","cos","color","updateShootingBubble","bubble","clearShootingBubble","addBubble","push","removeBubbles","bubbleIds","idsToRemove","Set","filter","b","has","updateBubbles","setGameOver","setGameWon","generateNextBubble","uniqueColors","map","length","defaultColors","floor","random","useScore","useTimeRemaining","useIsPlaying","useGameOver","useGameWon","useShooterAngle","useBubbles","useShootingBubble","useCurrentBubbleColor","useNextBubbleColor"],"sourceRoot":"../../../../src","sources":["games/bubble-shooter/BubbleShooterStore.ts"],"mappings":"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","ignoreList":[]}