react-native-games 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/README.md +148 -23
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +5 -8
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/candy-crush/CandyCrush.js +121 -0
  5. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
  6. package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
  7. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
  8. package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
  9. package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
  10. package/lib/module/games/candy-crush/CandyCrushStore.js +305 -0
  11. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
  12. package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
  13. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
  14. package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
  15. package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
  16. package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
  17. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
  18. package/lib/module/games/candy-crush/components/ScoreBoard.js +112 -0
  19. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
  20. package/lib/module/games/candy-crush/components/index.js +7 -0
  21. package/lib/module/games/candy-crush/components/index.js.map +1 -0
  22. package/lib/module/games/candy-crush/index.js +6 -0
  23. package/lib/module/games/candy-crush/index.js.map +1 -0
  24. package/lib/module/games/color-sort/ColorSort.js +130 -0
  25. package/lib/module/games/color-sort/ColorSort.js.map +1 -0
  26. package/lib/module/games/color-sort/ColorSortConstants.js +68 -0
  27. package/lib/module/games/color-sort/ColorSortConstants.js.map +1 -0
  28. package/lib/module/games/color-sort/ColorSortService.js +255 -0
  29. package/lib/module/games/color-sort/ColorSortService.js.map +1 -0
  30. package/lib/module/games/color-sort/ColorSortStore.js +258 -0
  31. package/lib/module/games/color-sort/ColorSortStore.js.map +1 -0
  32. package/lib/module/games/color-sort/components/ColorContainer.js +140 -0
  33. package/lib/module/games/color-sort/components/ColorContainer.js.map +1 -0
  34. package/lib/module/games/color-sort/components/GameBackground.js +135 -0
  35. package/lib/module/games/color-sort/components/GameBackground.js.map +1 -0
  36. package/lib/module/games/color-sort/components/ScoreBoard.js +78 -0
  37. package/lib/module/games/color-sort/components/ScoreBoard.js.map +1 -0
  38. package/lib/module/games/color-sort/components/index.js +6 -0
  39. package/lib/module/games/color-sort/components/index.js.map +1 -0
  40. package/lib/module/games/dino-jump/DinoJump.js +209 -0
  41. package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
  42. package/lib/module/games/dino-jump/DinoJumpConstants.js +179 -0
  43. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
  44. package/lib/module/games/dino-jump/DinoJumpService.js +268 -0
  45. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
  46. package/lib/module/games/dino-jump/DinoJumpStore.js +387 -0
  47. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
  48. package/lib/module/games/dino-jump/components/DinoSprite.js +409 -0
  49. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
  50. package/lib/module/games/dino-jump/components/GameArea.js +68 -0
  51. package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
  52. package/lib/module/games/dino-jump/components/GameBackground.js +421 -0
  53. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
  54. package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
  55. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
  56. package/lib/module/games/dino-jump/components/ScoreBoard.js +107 -0
  57. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
  58. package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
  59. package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
  60. package/lib/module/games/dino-jump/components/index.js +9 -0
  61. package/lib/module/games/dino-jump/components/index.js.map +1 -0
  62. package/lib/module/games/flappy-bird/FlappyBird.js +131 -0
  63. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
  64. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
  65. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
  66. package/lib/module/games/flappy-bird/FlappyBirdStore.js +276 -0
  67. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
  68. package/lib/module/games/flappy-bird/components/Bird.js +87 -0
  69. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
  70. package/lib/module/games/flappy-bird/components/GameArea.js +86 -0
  71. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
  72. package/lib/module/games/flappy-bird/components/GameBackground.js +112 -0
  73. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
  74. package/lib/module/games/flappy-bird/components/Pipes.js +175 -0
  75. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
  76. package/lib/module/games/flappy-bird/components/ScoreBoard.js +72 -0
  77. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
  78. package/lib/module/games/flappy-bird/components/index.js +8 -0
  79. package/lib/module/games/flappy-bird/components/index.js.map +1 -0
  80. package/lib/module/games/fruit-merger/FruitMerger.js +112 -0
  81. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
  82. package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
  83. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
  84. package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
  85. package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
  86. package/lib/module/games/fruit-merger/FruitMergerStore.js +318 -0
  87. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
  88. package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
  89. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
  90. package/lib/module/games/fruit-merger/components/GameArea.js +123 -0
  91. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
  92. package/lib/module/games/fruit-merger/components/GameBackground.js +477 -0
  93. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
  94. package/lib/module/games/fruit-merger/components/ScoreBoard.js +66 -0
  95. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
  96. package/lib/module/games/fruit-merger/components/index.js +7 -0
  97. package/lib/module/games/fruit-merger/components/index.js.map +1 -0
  98. package/lib/module/games/fruit-ninja/FruitNinja.js +6 -9
  99. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  100. package/lib/module/games/game-2048/Game2048.js +120 -0
  101. package/lib/module/games/game-2048/Game2048.js.map +1 -0
  102. package/lib/module/games/game-2048/Game2048Constants.js +263 -0
  103. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
  104. package/lib/module/games/game-2048/Game2048Service.js +457 -0
  105. package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
  106. package/lib/module/games/game-2048/Game2048Store.js +238 -0
  107. package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
  108. package/lib/module/games/game-2048/components/GameBackground.js +247 -0
  109. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
  110. package/lib/module/games/game-2048/components/GameGrid.js +139 -0
  111. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
  112. package/lib/module/games/game-2048/components/GameTile.js +72 -0
  113. package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
  114. package/lib/module/games/game-2048/components/ScoreBoard.js +70 -0
  115. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
  116. package/lib/module/games/game-2048/components/index.js +7 -0
  117. package/lib/module/games/game-2048/components/index.js.map +1 -0
  118. package/lib/module/games/maze-runner/MazeRunner.js +33 -31
  119. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  120. package/lib/module/games/popit-fidget/PopitFidget.js +34 -32
  121. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  122. package/lib/module/games/sliding-numbers/SlidingNumbers.js +161 -0
  123. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
  124. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
  125. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
  126. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
  127. package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
  128. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +275 -0
  129. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
  130. package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
  131. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
  132. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
  133. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
  134. package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
  135. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
  136. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +66 -0
  137. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
  138. package/lib/module/games/sliding-numbers/components/index.js +7 -0
  139. package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
  140. package/lib/module/games/snake/Snake.js +192 -0
  141. package/lib/module/games/snake/Snake.js.map +1 -0
  142. package/lib/module/games/snake/SnakeConstants.js +138 -0
  143. package/lib/module/games/snake/SnakeConstants.js.map +1 -0
  144. package/lib/module/games/snake/SnakeService.js +148 -0
  145. package/lib/module/games/snake/SnakeService.js.map +1 -0
  146. package/lib/module/games/snake/SnakeStore.js +184 -0
  147. package/lib/module/games/snake/SnakeStore.js.map +1 -0
  148. package/lib/module/games/snake/components/GameBackground.js +221 -0
  149. package/lib/module/games/snake/components/GameBackground.js.map +1 -0
  150. package/lib/module/games/snake/components/GameGrid.js +153 -0
  151. package/lib/module/games/snake/components/GameGrid.js.map +1 -0
  152. package/lib/module/games/snake/components/ScoreBoard.js +57 -0
  153. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
  154. package/lib/module/games/snake/components/index.js +6 -0
  155. package/lib/module/games/snake/components/index.js.map +1 -0
  156. package/lib/module/games/snake/index.js +6 -0
  157. package/lib/module/games/snake/index.js.map +1 -0
  158. package/lib/module/games/space-fighter/SpaceFighter.js +7 -10
  159. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  160. package/lib/module/games/whack-a-mole/WhackAMole.js +6 -6
  161. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  162. package/lib/module/games/whack-a-mole/components/GameBackground.js +7 -8
  163. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  164. package/lib/module/index.js +8 -0
  165. package/lib/module/index.js.map +1 -1
  166. package/lib/module/services/GamesConstants.js +58 -2
  167. package/lib/module/services/GamesConstants.js.map +1 -1
  168. package/lib/module/services/GamesService.js +40 -0
  169. package/lib/module/services/GamesService.js.map +1 -1
  170. package/lib/module/services/SoundsService.js +132 -1
  171. package/lib/module/services/SoundsService.js.map +1 -1
  172. package/lib/module/shared/helpers/GameOverModal.js +6 -3
  173. package/lib/module/shared/helpers/GameOverModal.js.map +1 -1
  174. package/lib/module/shared/helpers/GameSettingsModal.js +3 -3
  175. package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -1
  176. package/lib/module/shared/helpers/ParticleBlast.js +3 -2
  177. package/lib/module/shared/helpers/ParticleBlast.js.map +1 -1
  178. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  179. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
  180. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
  181. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
  182. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
  183. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
  184. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
  185. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
  186. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
  187. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
  188. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
  189. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
  190. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
  191. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
  192. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
  193. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +3 -0
  194. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
  195. package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
  196. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
  197. package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
  198. package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
  199. package/lib/typescript/src/games/color-sort/ColorSort.d.ts +4 -0
  200. package/lib/typescript/src/games/color-sort/ColorSort.d.ts.map +1 -0
  201. package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts +52 -0
  202. package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts.map +1 -0
  203. package/lib/typescript/src/games/color-sort/ColorSortService.d.ts +66 -0
  204. package/lib/typescript/src/games/color-sort/ColorSortService.d.ts.map +1 -0
  205. package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts +48 -0
  206. package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts.map +1 -0
  207. package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts +11 -0
  208. package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts.map +1 -0
  209. package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts +7 -0
  210. package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts.map +1 -0
  211. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts +3 -0
  212. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts.map +1 -0
  213. package/lib/typescript/src/games/color-sort/components/index.d.ts +4 -0
  214. package/lib/typescript/src/games/color-sort/components/index.d.ts.map +1 -0
  215. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
  216. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
  217. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +95 -0
  218. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
  219. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
  220. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
  221. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
  222. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
  223. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
  224. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
  225. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
  226. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
  227. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +7 -0
  228. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
  229. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
  230. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
  231. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +3 -0
  232. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
  233. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
  234. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
  235. package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
  236. package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
  237. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
  238. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
  239. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
  240. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
  241. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
  242. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
  243. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
  244. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
  245. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
  246. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
  247. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +7 -0
  248. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
  249. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +8 -0
  250. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
  251. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +3 -0
  252. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
  253. package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
  254. package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
  255. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
  256. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
  257. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
  258. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
  259. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
  260. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
  261. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
  262. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
  263. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
  264. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
  265. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
  266. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
  267. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +7 -0
  268. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
  269. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +3 -0
  270. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
  271. package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
  272. package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
  273. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  274. package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
  275. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
  276. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
  277. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
  278. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
  279. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
  280. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
  281. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
  282. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
  283. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
  284. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
  285. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
  286. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
  287. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
  288. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +3 -0
  289. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
  290. package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
  291. package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
  292. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  293. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  294. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
  295. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
  296. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
  297. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
  298. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
  299. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
  300. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
  301. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
  302. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
  303. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
  304. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
  305. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
  306. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
  307. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
  308. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +3 -0
  309. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
  310. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
  311. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
  312. package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
  313. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
  314. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
  315. package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
  316. package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
  317. package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
  318. package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
  319. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
  320. package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
  321. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
  322. package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
  323. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
  324. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +3 -0
  325. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
  326. package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
  327. package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
  328. package/lib/typescript/src/games/snake/index.d.ts +4 -0
  329. package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
  330. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  331. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  332. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  333. package/lib/typescript/src/index.d.ts +8 -0
  334. package/lib/typescript/src/index.d.ts.map +1 -1
  335. package/lib/typescript/src/services/GamesConstants.d.ts +156 -0
  336. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  337. package/lib/typescript/src/services/GamesService.d.ts +10 -2
  338. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  339. package/lib/typescript/src/services/SoundsService.d.ts +103 -0
  340. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  341. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts +2 -0
  342. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -1
  343. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -1
  344. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["create","subscribeWithSelector","CandyCrushService","CANDY_CRUSH_GAME_CONFIG","DIFFICULTY_CONFIG","CANDY_CRUSH_SOUNDS","immerMiddleware","playSound","playHaptic","HapticType","gameService","useCandyCrushStore","set","get","grid","createGrid","score","timeRemaining","gameDuration","isPlaying","isGameOver","selectedCandy","isProcessing","difficulty","candyTypes","enableSounds","enableHaptics","comboCount","gameTimer","matchedCandyIds","Set","fallingCandyIds","startGame","state","clearInterval","SWAP","MEDIUM","timer","setInterval","currentState","draft","SPECIAL","HEAVY","LOSE","stopGame","resetGame","initializeGame","config","resetIdCounter","initializeGrid","selectCandy","candy","LIGHT","id","canSwap","candy1","candy2","swapCandies","affectedRows","row","forEach","rowIndex","matchResult","findMatches","hasMatches","setTimeout","processMatches","SWAP_DURATION","baseScore","comboMultiplier","Math","pow","COMBO_MULTIPLIER","finalScore","floor","COMBO","MATCH","matches","map","c","Promise","resolve","ANIMATION_DURATION","add","originalRowIds","join","removeMatches","applyGravity","fillEmptySpaces","fallingIds","isFalling","newRowIds","FALL_DURATION","updateSettings","useGrid","useScore","useTimeRemaining","useGameDuration","useIsPlaying","useIsGameOver","useSelectedCandy","useComboCount","useMatchedCandyIds","useFallingCandyIds"],"sourceRoot":"../../../../src","sources":["games/candy-crush/CandyCrushStore.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useRef } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
+ import Animated, { useSharedValue, useAnimatedStyle, withSpring, withTiming, runOnJS } from 'react-native-reanimated';
7
+ import { Canvas, RoundedRect, Group, Shadow } from '@shopify/react-native-skia';
8
+ import { CandyCrushService } from "../CandyCrushService.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const gameService = new CandyCrushService();
11
+ const CandyItemComponent = ({
12
+ candy,
13
+ size,
14
+ isSelected,
15
+ isMatched,
16
+ isFalling,
17
+ onSwipe
18
+ }) => {
19
+ // Reanimated shared values for smooth animations
20
+ const translateX = useSharedValue(0);
21
+ const translateY = useSharedValue(0);
22
+ const scale = useSharedValue(1);
23
+ const opacity = useSharedValue(1);
24
+ const zIndex = useSharedValue(0);
25
+
26
+ // Track previous states to avoid unnecessary animations
27
+ const prevMatchedRef = useRef(isMatched);
28
+ const prevFallingRef = useRef(isFalling);
29
+ const prevRowRef = useRef(candy.row);
30
+
31
+ // Match animation - only trigger when state changes from false to true
32
+ useEffect(() => {
33
+ if (isMatched && !prevMatchedRef.current) {
34
+ scale.value = withTiming(0, {
35
+ duration: 300
36
+ });
37
+ opacity.value = withTiming(0, {
38
+ duration: 300
39
+ });
40
+ } else if (!isMatched && prevMatchedRef.current) {
41
+ // Reset when candy is replaced
42
+ scale.value = 1;
43
+ opacity.value = 1;
44
+ }
45
+ prevMatchedRef.current = isMatched;
46
+ }, [isMatched]);
47
+
48
+ // Fall animation - only trigger when falling state changes or row changes
49
+ useEffect(() => {
50
+ const rowChanged = candy.row !== prevRowRef.current;
51
+ if (isFalling && !prevFallingRef.current) {
52
+ scale.value = withSpring(1, {
53
+ damping: 8,
54
+ stiffness: 40
55
+ });
56
+ } else if (rowChanged && isFalling) {
57
+ // Animate position change during fall
58
+ scale.value = withSpring(1, {
59
+ damping: 8,
60
+ stiffness: 40
61
+ });
62
+ }
63
+ prevFallingRef.current = isFalling;
64
+ prevRowRef.current = candy.row;
65
+ }, [isFalling, candy.row]);
66
+
67
+ // Swipe gesture
68
+ const panGesture = Gesture.Pan().onStart(() => {
69
+ // Elevate candy when starting to swipe
70
+ zIndex.value = 1000;
71
+ scale.value = withSpring(1.1);
72
+ }).onUpdate(event => {
73
+ translateX.value = event.translationX;
74
+ translateY.value = event.translationY;
75
+ }).onEnd(event => {
76
+ const threshold = size * 0.3; // 30% of candy size
77
+ const absX = Math.abs(event.translationX);
78
+ const absY = Math.abs(event.translationY);
79
+
80
+ // Determine swipe direction
81
+ if (absX > threshold || absY > threshold) {
82
+ if (absX > absY) {
83
+ // Horizontal swipe
84
+ if (event.translationX > 0) {
85
+ runOnJS(onSwipe)('right');
86
+ } else {
87
+ runOnJS(onSwipe)('left');
88
+ }
89
+ } else {
90
+ // Vertical swipe
91
+ if (event.translationY > 0) {
92
+ runOnJS(onSwipe)('down');
93
+ } else {
94
+ runOnJS(onSwipe)('up');
95
+ }
96
+ }
97
+ }
98
+
99
+ // Reset position and elevation with spring animation
100
+ translateX.value = withSpring(0);
101
+ translateY.value = withSpring(0);
102
+ scale.value = withSpring(1);
103
+ zIndex.value = withTiming(0, {
104
+ duration: 300
105
+ });
106
+ });
107
+ const candyColor = gameService.getCandyColor(candy.type);
108
+ const borderRadius = 8; // Square with slight rounding
109
+
110
+ // Animated style for swipe and other animations
111
+ const animatedStyle = useAnimatedStyle(() => ({
112
+ transform: [{
113
+ translateX: translateX.value
114
+ }, {
115
+ translateY: translateY.value
116
+ }, {
117
+ scale: scale.value
118
+ }],
119
+ opacity: opacity.value,
120
+ zIndex: zIndex.value
121
+ }));
122
+ return /*#__PURE__*/_jsx(GestureDetector, {
123
+ gesture: panGesture,
124
+ children: /*#__PURE__*/_jsx(Animated.View, {
125
+ style: [styles.container, {
126
+ width: size,
127
+ height: size
128
+ }, animatedStyle],
129
+ children: /*#__PURE__*/_jsx(Canvas, {
130
+ style: {
131
+ width: size,
132
+ height: size
133
+ },
134
+ children: /*#__PURE__*/_jsxs(Group, {
135
+ children: [/*#__PURE__*/_jsx(RoundedRect, {
136
+ x: 2,
137
+ y: 2,
138
+ width: size - 4,
139
+ height: size - 4,
140
+ r: borderRadius,
141
+ color: candyColor
142
+ }), /*#__PURE__*/_jsx(RoundedRect, {
143
+ x: size * 0.15,
144
+ y: size * 0.15,
145
+ width: size * 0.35,
146
+ height: size * 0.35,
147
+ r: 6,
148
+ color: "rgba(255, 255, 255, 0.5)"
149
+ }), /*#__PURE__*/_jsx(RoundedRect, {
150
+ x: 6,
151
+ y: 6,
152
+ width: size - 12,
153
+ height: size - 12,
154
+ r: borderRadius - 2,
155
+ color: "rgba(255, 255, 255, 0.2)"
156
+ }), isSelected && /*#__PURE__*/_jsx(RoundedRect, {
157
+ x: 1,
158
+ y: 1,
159
+ width: size - 2,
160
+ height: size - 2,
161
+ r: borderRadius + 1,
162
+ color: "transparent",
163
+ style: "stroke",
164
+ strokeWidth: 3,
165
+ children: /*#__PURE__*/_jsx(Shadow, {
166
+ dx: 0,
167
+ dy: 0,
168
+ blur: 6,
169
+ color: "rgba(255, 255, 255, 1)"
170
+ })
171
+ })]
172
+ })
173
+ })
174
+ })
175
+ });
176
+ };
177
+
178
+ // Memoize with custom comparison for better performance
179
+ // Animation states (isMatched, isFalling) come from props, not candy object
180
+ // This prevents grid mutations from causing unnecessary re-renders
181
+ export const CandyItem = /*#__PURE__*/React.memo(CandyItemComponent, (prevProps, nextProps) => {
182
+ return prevProps.candy.id === nextProps.candy.id && prevProps.candy.type === nextProps.candy.type && prevProps.candy.row === nextProps.candy.row && prevProps.candy.col === nextProps.candy.col && prevProps.isMatched === nextProps.isMatched && prevProps.isFalling === nextProps.isFalling && prevProps.isSelected === nextProps.isSelected && prevProps.size === nextProps.size;
183
+ });
184
+ CandyItem.displayName = 'CandyItem';
185
+ const styles = StyleSheet.create({
186
+ container: {
187
+ justifyContent: 'center',
188
+ alignItems: 'center'
189
+ }
190
+ });
191
+ //# sourceMappingURL=CandyItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useRef","StyleSheet","Gesture","GestureDetector","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Canvas","RoundedRect","Group","Shadow","CandyCrushService","jsx","_jsx","jsxs","_jsxs","gameService","CandyItemComponent","candy","size","isSelected","isMatched","isFalling","onSwipe","translateX","translateY","scale","opacity","zIndex","prevMatchedRef","prevFallingRef","prevRowRef","row","current","value","duration","rowChanged","damping","stiffness","panGesture","Pan","onStart","onUpdate","event","translationX","translationY","onEnd","threshold","absX","Math","abs","absY","candyColor","getCandyColor","type","borderRadius","animatedStyle","transform","gesture","children","View","style","styles","container","width","height","x","y","r","color","strokeWidth","dx","dy","blur","CandyItem","memo","prevProps","nextProps","id","col","displayName","create","justifyContent","alignItems"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/CandyItem.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,OAAO,QACF,yBAAyB;AAChC,SAASC,MAAM,EAAEC,WAAW,EAAEC,KAAK,EAAEC,MAAM,QAAQ,4BAA4B;AAE/E,SAASC,iBAAiB,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWzD,MAAMC,WAAW,GAAG,IAAIL,iBAAiB,CAAC,CAAC;AAE3C,MAAMM,kBAA4C,GAAGA,CAAC;EACpDC,KAAK;EACLC,IAAI;EACJC,UAAU;EACVC,SAAS;EACTC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ;EACA,MAAMC,UAAU,GAAGtB,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMuB,UAAU,GAAGvB,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMwB,KAAK,GAAGxB,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMyB,OAAO,GAAGzB,cAAc,CAAC,CAAC,CAAC;EACjC,MAAM0B,MAAM,GAAG1B,cAAc,CAAC,CAAC,CAAC;;EAEhC;EACA,MAAM2B,cAAc,GAAGhC,MAAM,CAACwB,SAAS,CAAC;EACxC,MAAMS,cAAc,GAAGjC,MAAM,CAACyB,SAAS,CAAC;EACxC,MAAMS,UAAU,GAAGlC,MAAM,CAACqB,KAAK,CAACc,GAAG,CAAC;;EAEpC;EACApC,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,IAAI,CAACQ,cAAc,CAACI,OAAO,EAAE;MACxCP,KAAK,CAACQ,KAAK,GAAG7B,UAAU,CAAC,CAAC,EAAE;QAAE8B,QAAQ,EAAE;MAAI,CAAC,CAAC;MAC9CR,OAAO,CAACO,KAAK,GAAG7B,UAAU,CAAC,CAAC,EAAE;QAAE8B,QAAQ,EAAE;MAAI,CAAC,CAAC;IAClD,CAAC,MAAM,IAAI,CAACd,SAAS,IAAIQ,cAAc,CAACI,OAAO,EAAE;MAC/C;MACAP,KAAK,CAACQ,KAAK,GAAG,CAAC;MACfP,OAAO,CAACO,KAAK,GAAG,CAAC;IACnB;IACAL,cAAc,CAACI,OAAO,GAAGZ,SAAS;EACpC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;;EAEf;EACAzB,SAAS,CAAC,MAAM;IACd,MAAMwC,UAAU,GAAGlB,KAAK,CAACc,GAAG,KAAKD,UAAU,CAACE,OAAO;IACnD,IAAIX,SAAS,IAAI,CAACQ,cAAc,CAACG,OAAO,EAAE;MACxCP,KAAK,CAACQ,KAAK,GAAG9B,UAAU,CAAC,CAAC,EAAE;QAC1BiC,OAAO,EAAE,CAAC;QACVC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIF,UAAU,IAAId,SAAS,EAAE;MAClC;MACAI,KAAK,CAACQ,KAAK,GAAG9B,UAAU,CAAC,CAAC,EAAE;QAC1BiC,OAAO,EAAE,CAAC;QACVC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ;IACAR,cAAc,CAACG,OAAO,GAAGX,SAAS;IAClCS,UAAU,CAACE,OAAO,GAAGf,KAAK,CAACc,GAAG;EAChC,CAAC,EAAE,CAACV,SAAS,EAAEJ,KAAK,CAACc,GAAG,CAAC,CAAC;;EAE1B;EACA,MAAMO,UAAU,GAAGxC,OAAO,CAACyC,GAAG,CAAC,CAAC,CAC7BC,OAAO,CAAC,MAAM;IACb;IACAb,MAAM,CAACM,KAAK,GAAG,IAAI;IACnBR,KAAK,CAACQ,KAAK,GAAG9B,UAAU,CAAC,GAAG,CAAC;EAC/B,CAAC,CAAC,CACDsC,QAAQ,CAAEC,KAAK,IAAK;IACnBnB,UAAU,CAACU,KAAK,GAAGS,KAAK,CAACC,YAAY;IACrCnB,UAAU,CAACS,KAAK,GAAGS,KAAK,CAACE,YAAY;EACvC,CAAC,CAAC,CACDC,KAAK,CAAEH,KAAK,IAAK;IAChB,MAAMI,SAAS,GAAG5B,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9B,MAAM6B,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACP,KAAK,CAACC,YAAY,CAAC;IACzC,MAAMO,IAAI,GAAGF,IAAI,CAACC,GAAG,CAACP,KAAK,CAACE,YAAY,CAAC;;IAEzC;IACA,IAAIG,IAAI,GAAGD,SAAS,IAAII,IAAI,GAAGJ,SAAS,EAAE;MACxC,IAAIC,IAAI,GAAGG,IAAI,EAAE;QACf;QACA,IAAIR,KAAK,CAACC,YAAY,GAAG,CAAC,EAAE;UAC1BtC,OAAO,CAACiB,OAAO,CAAC,CAAC,OAAO,CAAC;QAC3B,CAAC,MAAM;UACLjB,OAAO,CAACiB,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1B;MACF,CAAC,MAAM;QACL;QACA,IAAIoB,KAAK,CAACE,YAAY,GAAG,CAAC,EAAE;UAC1BvC,OAAO,CAACiB,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1B,CAAC,MAAM;UACLjB,OAAO,CAACiB,OAAO,CAAC,CAAC,IAAI,CAAC;QACxB;MACF;IACF;;IAEA;IACAC,UAAU,CAACU,KAAK,GAAG9B,UAAU,CAAC,CAAC,CAAC;IAChCqB,UAAU,CAACS,KAAK,GAAG9B,UAAU,CAAC,CAAC,CAAC;IAChCsB,KAAK,CAACQ,KAAK,GAAG9B,UAAU,CAAC,CAAC,CAAC;IAC3BwB,MAAM,CAACM,KAAK,GAAG7B,UAAU,CAAC,CAAC,EAAE;MAAE8B,QAAQ,EAAE;IAAI,CAAC,CAAC;EACjD,CAAC,CAAC;EAEJ,MAAMiB,UAAU,GAAGpC,WAAW,CAACqC,aAAa,CAACnC,KAAK,CAACoC,IAAI,CAAC;EACxD,MAAMC,YAAY,GAAG,CAAC,CAAC,CAAC;;EAExB;EACA,MAAMC,aAAa,GAAGrD,gBAAgB,CAAC,OAAO;IAC5CsD,SAAS,EAAE,CACT;MAAEjC,UAAU,EAAEA,UAAU,CAACU;IAAM,CAAC,EAChC;MAAET,UAAU,EAAEA,UAAU,CAACS;IAAM,CAAC,EAChC;MAAER,KAAK,EAAEA,KAAK,CAACQ;IAAM,CAAC,CACvB;IACDP,OAAO,EAAEA,OAAO,CAACO,KAAK;IACtBN,MAAM,EAAEA,MAAM,CAACM;EACjB,CAAC,CAAC,CAAC;EAEH,oBACErB,IAAA,CAACb,eAAe;IAAC0D,OAAO,EAAEnB,UAAW;IAAAoB,QAAA,eACnC9C,IAAA,CAACZ,QAAQ,CAAC2D,IAAI;MACZC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;QACEC,KAAK,EAAE7C,IAAI;QACX8C,MAAM,EAAE9C;MACV,CAAC,EACDqC,aAAa,CACb;MAAAG,QAAA,eAEF9C,IAAA,CAACN,MAAM;QAACsD,KAAK,EAAE;UAAEG,KAAK,EAAE7C,IAAI;UAAE8C,MAAM,EAAE9C;QAAK,CAAE;QAAAwC,QAAA,eAC7C5C,KAAA,CAACN,KAAK;UAAAkD,QAAA,gBAEJ9C,IAAA,CAACL,WAAW;YACV0D,CAAC,EAAE,CAAE;YACLC,CAAC,EAAE,CAAE;YACLH,KAAK,EAAE7C,IAAI,GAAG,CAAE;YAChB8C,MAAM,EAAE9C,IAAI,GAAG,CAAE;YACjBiD,CAAC,EAAEb,YAAa;YAChBc,KAAK,EAAEjB;UAAW,CACnB,CAAC,eAGFvC,IAAA,CAACL,WAAW;YACV0D,CAAC,EAAE/C,IAAI,GAAG,IAAK;YACfgD,CAAC,EAAEhD,IAAI,GAAG,IAAK;YACf6C,KAAK,EAAE7C,IAAI,GAAG,IAAK;YACnB8C,MAAM,EAAE9C,IAAI,GAAG,IAAK;YACpBiD,CAAC,EAAE,CAAE;YACLC,KAAK,EAAC;UAA0B,CACjC,CAAC,eAGFxD,IAAA,CAACL,WAAW;YACV0D,CAAC,EAAE,CAAE;YACLC,CAAC,EAAE,CAAE;YACLH,KAAK,EAAE7C,IAAI,GAAG,EAAG;YACjB8C,MAAM,EAAE9C,IAAI,GAAG,EAAG;YAClBiD,CAAC,EAAEb,YAAY,GAAG,CAAE;YACpBc,KAAK,EAAC;UAA0B,CACjC,CAAC,EAGDjD,UAAU,iBACTP,IAAA,CAACL,WAAW;YACV0D,CAAC,EAAE,CAAE;YACLC,CAAC,EAAE,CAAE;YACLH,KAAK,EAAE7C,IAAI,GAAG,CAAE;YAChB8C,MAAM,EAAE9C,IAAI,GAAG,CAAE;YACjBiD,CAAC,EAAEb,YAAY,GAAG,CAAE;YACpBc,KAAK,EAAC,aAAa;YACnBR,KAAK,EAAC,QAAQ;YACdS,WAAW,EAAE,CAAE;YAAAX,QAAA,eAEf9C,IAAA,CAACH,MAAM;cAAC6D,EAAE,EAAE,CAAE;cAACC,EAAE,EAAE,CAAE;cAACC,IAAI,EAAE,CAAE;cAACJ,KAAK,EAAC;YAAwB,CAAE;UAAC,CACrD,CACd;QAAA,CACI;MAAC,CACF;IAAC,CACM;EAAC,CACD,CAAC;AAEtB,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMK,SAAS,gBAAG/E,KAAK,CAACgF,IAAI,CAAC1D,kBAAkB,EAAE,CAAC2D,SAAS,EAAEC,SAAS,KAAK;EAChF,OACED,SAAS,CAAC1D,KAAK,CAAC4D,EAAE,KAAKD,SAAS,CAAC3D,KAAK,CAAC4D,EAAE,IACzCF,SAAS,CAAC1D,KAAK,CAACoC,IAAI,KAAKuB,SAAS,CAAC3D,KAAK,CAACoC,IAAI,IAC7CsB,SAAS,CAAC1D,KAAK,CAACc,GAAG,KAAK6C,SAAS,CAAC3D,KAAK,CAACc,GAAG,IAC3C4C,SAAS,CAAC1D,KAAK,CAAC6D,GAAG,KAAKF,SAAS,CAAC3D,KAAK,CAAC6D,GAAG,IAC3CH,SAAS,CAACvD,SAAS,KAAKwD,SAAS,CAACxD,SAAS,IAC3CuD,SAAS,CAACtD,SAAS,KAAKuD,SAAS,CAACvD,SAAS,IAC3CsD,SAAS,CAACxD,UAAU,KAAKyD,SAAS,CAACzD,UAAU,IAC7CwD,SAAS,CAACzD,IAAI,KAAK0D,SAAS,CAAC1D,IAAI;AAErC,CAAC,CAAC;AAEFuD,SAAS,CAACM,WAAW,GAAG,WAAW;AAEnC,MAAMlB,MAAM,GAAGhE,UAAU,CAACmF,MAAM,CAAC;EAC/BlB,SAAS,EAAE;IACTmB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Canvas, Rect, LinearGradient, vec, Circle, Path, Skia } from '@shopify/react-native-skia';
5
+ import { Dimensions } from 'react-native';
6
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ const {
8
+ width,
9
+ height
10
+ } = Dimensions.get('window');
11
+
12
+ // Memoize star paths outside component for better performance
13
+ const createStarPaths = () => {
14
+ return [...Array(15)].map((_, i) => {
15
+ const x = width * (i * 7 + 3) % width;
16
+ const y = height * (i * 11 + 5) % height;
17
+ const size = 3 + i % 3;
18
+ const starPath = Skia.Path.Make();
19
+ starPath.moveTo(x, y - size);
20
+ starPath.lineTo(x + size * 0.3, y + size * 0.3);
21
+ starPath.lineTo(x + size, y + size * 0.3);
22
+ starPath.lineTo(x + size * 0.5, y + size * 0.8);
23
+ starPath.lineTo(x + size * 0.7, y + size * 1.5);
24
+ starPath.lineTo(x, y + size);
25
+ starPath.lineTo(x - size * 0.7, y + size * 1.5);
26
+ starPath.lineTo(x - size * 0.5, y + size * 0.8);
27
+ starPath.lineTo(x - size, y + size * 0.3);
28
+ starPath.lineTo(x - size * 0.3, y + size * 0.3);
29
+ starPath.close();
30
+ return {
31
+ path: starPath,
32
+ opacity: 0.1 + i % 3 * 0.05
33
+ };
34
+ });
35
+ };
36
+ const starPaths = createStarPaths();
37
+ export const GameBackground = /*#__PURE__*/React.memo(({
38
+ children
39
+ }) => {
40
+ return /*#__PURE__*/_jsxs(_Fragment, {
41
+ children: [/*#__PURE__*/_jsxs(Canvas, {
42
+ style: {
43
+ position: 'absolute',
44
+ width,
45
+ height
46
+ },
47
+ children: [/*#__PURE__*/_jsx(Rect, {
48
+ x: 0,
49
+ y: 0,
50
+ width: width,
51
+ height: height,
52
+ children: /*#__PURE__*/_jsx(LinearGradient, {
53
+ start: vec(0, 0),
54
+ end: vec(0, height),
55
+ colors: ['#667eea', '#764ba2', '#f093fb']
56
+ })
57
+ }), /*#__PURE__*/_jsx(Circle, {
58
+ cx: width * 0.1,
59
+ cy: height * 0.15,
60
+ r: 60,
61
+ color: "rgba(255, 255, 255, 0.05)"
62
+ }), /*#__PURE__*/_jsx(Circle, {
63
+ cx: width * 0.85,
64
+ cy: height * 0.25,
65
+ r: 80,
66
+ color: "rgba(255, 255, 255, 0.05)"
67
+ }), /*#__PURE__*/_jsx(Circle, {
68
+ cx: width * 0.2,
69
+ cy: height * 0.7,
70
+ r: 50,
71
+ color: "rgba(255, 255, 255, 0.05)"
72
+ }), /*#__PURE__*/_jsx(Circle, {
73
+ cx: width * 0.9,
74
+ cy: height * 0.8,
75
+ r: 70,
76
+ color: "rgba(255, 255, 255, 0.05)"
77
+ }), starPaths.map((star, i) => /*#__PURE__*/_jsx(Path, {
78
+ path: star.path,
79
+ color: `rgba(255, 255, 255, ${star.opacity})`
80
+ }, i))]
81
+ }), children]
82
+ });
83
+ });
84
+ GameBackground.displayName = 'GameBackground';
85
+ //# sourceMappingURL=GameBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Canvas","Rect","LinearGradient","vec","Circle","Path","Skia","Dimensions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","width","height","get","createStarPaths","Array","map","_","i","x","y","size","starPath","Make","moveTo","lineTo","close","path","opacity","starPaths","GameBackground","memo","children","style","position","start","end","colors","cx","cy","r","color","star","displayName"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useRef, useEffect } from 'react';
4
+ import { View, StyleSheet, Dimensions } from 'react-native';
5
+ import { Canvas, RoundedRect, LinearGradient, vec, Shadow, Circle, Group } from '@shopify/react-native-skia';
6
+ import { useGrid, useSelectedCandy, useCandyCrushStore, useMatchedCandyIds, useFallingCandyIds } from "../CandyCrushStore.js";
7
+ import { CandyItem } from "./CandyItem.js";
8
+ import { CANDY_CRUSH_GAME_CONFIG, CANDY_CRUSH_COLORS } from "../CandyCrushConstants.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const {
11
+ width: screenWidth
12
+ } = Dimensions.get('window');
13
+
14
+ // Memoized GridRow component to prevent unnecessary re-renders
15
+
16
+ const GridRow = /*#__PURE__*/React.memo(({
17
+ row,
18
+ rowIndex,
19
+ candySize,
20
+ gap,
21
+ selectedCandyId,
22
+ matchedCandyIds,
23
+ fallingCandyIds,
24
+ onSwipe
25
+ }) => {
26
+ return /*#__PURE__*/_jsx(View, {
27
+ style: [styles.row, {
28
+ gap
29
+ }],
30
+ children: row.map((candy, colIndex) => {
31
+ if (!candy) {
32
+ return /*#__PURE__*/_jsx(View, {
33
+ style: [styles.cell, {
34
+ width: candySize,
35
+ height: candySize
36
+ }]
37
+ }, `empty-${rowIndex}-${colIndex}`);
38
+ }
39
+ const isSelected = selectedCandyId === candy.id;
40
+ const isMatched = matchedCandyIds.has(candy.id);
41
+ const isFalling = fallingCandyIds.has(candy.id);
42
+ const handleSwipe = direction => {
43
+ onSwipe(candy, direction);
44
+ };
45
+ return /*#__PURE__*/_jsx(View, {
46
+ style: [styles.cell, {
47
+ width: candySize,
48
+ height: candySize
49
+ }],
50
+ children: /*#__PURE__*/_jsx(CandyItem, {
51
+ candy: candy,
52
+ size: candySize,
53
+ isSelected: isSelected,
54
+ isMatched: isMatched,
55
+ isFalling: isFalling,
56
+ onSwipe: handleSwipe
57
+ })
58
+ }, candy.id);
59
+ })
60
+ }, `row-${rowIndex}`);
61
+ }, (prevProps, nextProps) => {
62
+ // If row array reference is the same, skip all checks (FASTEST PATH)
63
+ if (prevProps.row === nextProps.row) {
64
+ return true;
65
+ }
66
+
67
+ // Only re-render if row content actually changed
68
+ if (prevProps.row.length !== nextProps.row.length) return false;
69
+ if (prevProps.candySize !== nextProps.candySize) return false;
70
+ if (prevProps.gap !== nextProps.gap) return false;
71
+
72
+ // Only re-render if THIS ROW has the selected candy
73
+ const hadSelectedCandy = prevProps.row.some(c => c?.id === prevProps.selectedCandyId);
74
+ const hasSelectedCandy = nextProps.row.some(c => c?.id === nextProps.selectedCandyId);
75
+ if (hadSelectedCandy !== hasSelectedCandy || hadSelectedCandy && prevProps.selectedCandyId !== nextProps.selectedCandyId) {
76
+ return false;
77
+ }
78
+
79
+ // Check if any candy in THIS ROW is affected by matched/falling states
80
+ for (let i = 0; i < prevProps.row.length; i++) {
81
+ const candy = prevProps.row[i];
82
+ if (candy) {
83
+ const wasMatched = prevProps.matchedCandyIds.has(candy.id);
84
+ const isMatched = nextProps.matchedCandyIds.has(candy.id);
85
+ const wasFalling = prevProps.fallingCandyIds.has(candy.id);
86
+ const isFalling = nextProps.fallingCandyIds.has(candy.id);
87
+ if (wasMatched !== isMatched || wasFalling !== isFalling) {
88
+ return false;
89
+ }
90
+ }
91
+ }
92
+
93
+ // Check if any candy in the row changed
94
+ for (let i = 0; i < prevProps.row.length; i++) {
95
+ const prevCandy = prevProps.row[i];
96
+ const nextCandy = nextProps.row[i];
97
+ if (prevCandy?.id !== nextCandy?.id) return false;
98
+ if (prevCandy?.type !== nextCandy?.type) return false;
99
+ if (prevCandy?.row !== nextCandy?.row) return false;
100
+ if (prevCandy?.col !== nextCandy?.col) return false;
101
+ }
102
+ return true;
103
+ });
104
+ export const GameGrid = /*#__PURE__*/React.memo(() => {
105
+ const grid = useGrid();
106
+ const selectedCandy = useSelectedCandy();
107
+ const matchedCandyIds = useMatchedCandyIds();
108
+ const fallingCandyIds = useFallingCandyIds();
109
+ const selectCandy = useCandyCrushStore(state => state.selectCandy);
110
+ const selectedCandyId = selectedCandy?.id || null;
111
+
112
+ // Use ref to store grid without causing re-renders
113
+ const gridRef = useRef(grid);
114
+ useEffect(() => {
115
+ gridRef.current = grid;
116
+ }, [grid]);
117
+
118
+ // Handle swipe with stable reference (doesn't change on grid updates)
119
+ const handleSwipe = React.useCallback((candy, direction) => {
120
+ const currentGrid = gridRef.current;
121
+ let targetRow = candy.row;
122
+ let targetCol = candy.col;
123
+ switch (direction) {
124
+ case 'up':
125
+ targetRow = candy.row - 1;
126
+ break;
127
+ case 'down':
128
+ targetRow = candy.row + 1;
129
+ break;
130
+ case 'left':
131
+ targetCol = candy.col - 1;
132
+ break;
133
+ case 'right':
134
+ targetCol = candy.col + 1;
135
+ break;
136
+ }
137
+
138
+ // Check if target is within bounds
139
+ if (targetRow >= 0 && targetRow < currentGrid.length && targetCol >= 0 && currentGrid[0] && targetCol < currentGrid[0].length) {
140
+ const targetRowData = currentGrid[targetRow];
141
+ if (targetRowData) {
142
+ const targetCandy = targetRowData[targetCol];
143
+ if (targetCandy) {
144
+ // Simulate selecting source candy then target candy
145
+ selectCandy(candy);
146
+ setTimeout(() => selectCandy(targetCandy), 50);
147
+ }
148
+ }
149
+ }
150
+ }, [selectCandy]);
151
+
152
+ // Calculate grid dimensions (memoized once)
153
+ const gridCalculations = useMemo(() => {
154
+ const horizontalPadding = 40;
155
+ const availableWidth = screenWidth - horizontalPadding;
156
+ const gridSize = CANDY_CRUSH_GAME_CONFIG.GRID_SIZE;
157
+ const gap = 2;
158
+ const totalGaps = (gridSize - 1) * gap;
159
+ const candySize = (availableWidth - totalGaps) / gridSize;
160
+ const padding = 10; // Adjusted padding
161
+
162
+ // Calculate actual content dimensions
163
+ const contentWidth = Math.floor(candySize) * gridSize + totalGaps;
164
+ const contentHeight = Math.floor(candySize) * gridSize + totalGaps;
165
+
166
+ // Grid dimensions including padding and border
167
+ const gridWidth = contentWidth + padding * 2;
168
+ const gridHeight = contentHeight + padding * 2;
169
+ return {
170
+ candySize: Math.floor(candySize),
171
+ gap,
172
+ gridSize,
173
+ gridWidth,
174
+ gridHeight
175
+ };
176
+ }, []);
177
+ const {
178
+ candySize,
179
+ gap,
180
+ gridWidth,
181
+ gridHeight
182
+ } = gridCalculations;
183
+
184
+ // Generate jelly bubbles
185
+ const jellyBubbles = useMemo(() => {
186
+ const bubbles = [];
187
+ const bubbleCount = 25;
188
+ for (let i = 0; i < bubbleCount; i++) {
189
+ bubbles.push({
190
+ x: Math.random() * gridWidth,
191
+ y: Math.random() * gridHeight,
192
+ radius: Math.random() * 15 + 5,
193
+ opacity: Math.random() * 0.15 + 0.05
194
+ });
195
+ }
196
+ return bubbles;
197
+ }, [gridWidth, gridHeight]);
198
+ return /*#__PURE__*/_jsxs(View, {
199
+ style: styles.container,
200
+ children: [/*#__PURE__*/_jsx(View, {
201
+ style: [styles.jellyContainer, {
202
+ width: gridWidth,
203
+ height: gridHeight
204
+ }],
205
+ children: /*#__PURE__*/_jsxs(Canvas, {
206
+ style: {
207
+ width: gridWidth,
208
+ height: gridHeight
209
+ },
210
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
211
+ x: 0,
212
+ y: 0,
213
+ width: gridWidth,
214
+ height: gridHeight,
215
+ r: 15,
216
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
217
+ start: vec(0, 0),
218
+ end: vec(gridWidth, gridHeight),
219
+ colors: ['rgba(255, 149, 0, 0.35)', 'rgba(255, 120, 0, 0.25)', 'rgba(255, 149, 0, 0.3)']
220
+ }), /*#__PURE__*/_jsx(Shadow, {
221
+ dx: 0,
222
+ dy: 6,
223
+ blur: 12,
224
+ color: "rgba(255, 100, 0, 0.4)",
225
+ inner: true
226
+ })]
227
+ }), /*#__PURE__*/_jsx(Group, {
228
+ children: jellyBubbles.map((bubble, index) => /*#__PURE__*/_jsx(Circle, {
229
+ cx: bubble.x,
230
+ cy: bubble.y,
231
+ r: bubble.radius,
232
+ color: `rgba(255, 255, 255, ${bubble.opacity})`
233
+ }, index))
234
+ }), /*#__PURE__*/_jsx(RoundedRect, {
235
+ x: 5,
236
+ y: 5,
237
+ width: gridWidth - 10,
238
+ height: gridHeight - 10,
239
+ r: 12,
240
+ children: /*#__PURE__*/_jsx(LinearGradient, {
241
+ start: vec(0, 0),
242
+ end: vec(0, gridHeight),
243
+ colors: ['rgba(255, 200, 100, 0.3)', 'rgba(255, 149, 0, 0)', 'rgba(255, 180, 80, 0.2)']
244
+ })
245
+ }), /*#__PURE__*/_jsx(RoundedRect, {
246
+ x: 15,
247
+ y: 15,
248
+ width: gridWidth - 30,
249
+ height: gridHeight * 0.25,
250
+ r: 8,
251
+ children: /*#__PURE__*/_jsx(LinearGradient, {
252
+ start: vec(0, 0),
253
+ end: vec(0, gridHeight * 0.25),
254
+ colors: ['rgba(255, 255, 255, 0.5)', 'rgba(255, 255, 255, 0)']
255
+ })
256
+ }), /*#__PURE__*/_jsx(RoundedRect, {
257
+ x: 15,
258
+ y: gridHeight * 0.75,
259
+ width: gridWidth - 30,
260
+ height: gridHeight * 0.2,
261
+ r: 8,
262
+ children: /*#__PURE__*/_jsx(LinearGradient, {
263
+ start: vec(0, 0),
264
+ end: vec(0, gridHeight * 0.2),
265
+ colors: ['rgba(0, 0, 0, 0)', 'rgba(255, 100, 0, 0.2)']
266
+ })
267
+ })]
268
+ })
269
+ }), /*#__PURE__*/_jsx(View, {
270
+ style: [styles.grid, {
271
+ gap
272
+ }],
273
+ children: grid.map((row, rowIndex) => /*#__PURE__*/_jsx(GridRow, {
274
+ row: row,
275
+ rowIndex: rowIndex,
276
+ candySize: candySize,
277
+ gap: gap,
278
+ selectedCandyId: selectedCandyId,
279
+ matchedCandyIds: matchedCandyIds,
280
+ fallingCandyIds: fallingCandyIds,
281
+ onSwipe: handleSwipe
282
+ }, rowIndex))
283
+ })]
284
+ });
285
+ });
286
+ GameGrid.displayName = 'GameGrid';
287
+ const styles = StyleSheet.create({
288
+ container: {
289
+ flex: 1,
290
+ justifyContent: 'center',
291
+ alignItems: 'center',
292
+ position: 'relative'
293
+ },
294
+ jellyContainer: {
295
+ position: 'absolute',
296
+ borderRadius: 15,
297
+ borderWidth: 3,
298
+ borderColor: CANDY_CRUSH_COLORS.GRID_BORDER,
299
+ overflow: 'hidden'
300
+ },
301
+ grid: {
302
+ padding: 13,
303
+ // 10px padding + 3px border
304
+ zIndex: 1
305
+ },
306
+ row: {
307
+ flexDirection: 'row'
308
+ },
309
+ cell: {
310
+ justifyContent: 'center',
311
+ alignItems: 'center'
312
+ }
313
+ });
314
+ //# sourceMappingURL=GameGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useRef","useEffect","View","StyleSheet","Dimensions","Canvas","RoundedRect","LinearGradient","vec","Shadow","Circle","Group","useGrid","useSelectedCandy","useCandyCrushStore","useMatchedCandyIds","useFallingCandyIds","CandyItem","CANDY_CRUSH_GAME_CONFIG","CANDY_CRUSH_COLORS","jsx","_jsx","jsxs","_jsxs","width","screenWidth","get","GridRow","memo","row","rowIndex","candySize","gap","selectedCandyId","matchedCandyIds","fallingCandyIds","onSwipe","style","styles","children","map","candy","colIndex","cell","height","isSelected","id","isMatched","has","isFalling","handleSwipe","direction","size","prevProps","nextProps","length","hadSelectedCandy","some","c","hasSelectedCandy","i","wasMatched","wasFalling","prevCandy","nextCandy","type","col","GameGrid","grid","selectedCandy","selectCandy","state","gridRef","current","useCallback","currentGrid","targetRow","targetCol","targetRowData","targetCandy","setTimeout","gridCalculations","horizontalPadding","availableWidth","gridSize","GRID_SIZE","totalGaps","padding","contentWidth","Math","floor","contentHeight","gridWidth","gridHeight","jellyBubbles","bubbles","bubbleCount","push","x","random","y","radius","opacity","container","jellyContainer","r","start","end","colors","dx","dy","blur","color","inner","bubble","index","cx","cy","displayName","create","flex","justifyContent","alignItems","position","borderRadius","borderWidth","borderColor","GRID_BORDER","overflow","zIndex","flexDirection"],"sourceRoot":"../../../../../src","sources":["games/candy-crush/components/GameGrid.tsx"],"mappings":"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","ignoreList":[]}