react-native-games 0.7.0 → 1.0.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 (459) hide show
  1. package/README.md +507 -84
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +13 -21
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  5. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  6. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/components/GameBackground.js +24 -17
  8. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +47 -47
  10. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  11. package/lib/module/games/candy-crush/CandyCrush.js +131 -0
  12. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
  13. package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
  14. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
  15. package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
  16. package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
  17. package/lib/module/games/candy-crush/CandyCrushStore.js +303 -0
  18. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
  19. package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
  20. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
  21. package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
  22. package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
  23. package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
  24. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
  25. package/lib/module/games/candy-crush/components/ScoreBoard.js +79 -0
  26. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
  27. package/lib/module/games/candy-crush/components/index.js +7 -0
  28. package/lib/module/games/candy-crush/components/index.js.map +1 -0
  29. package/lib/module/games/candy-crush/index.js +6 -0
  30. package/lib/module/games/candy-crush/index.js.map +1 -0
  31. package/lib/module/games/colors-sort/ColorsSort.js +143 -0
  32. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -0
  33. package/lib/module/games/colors-sort/ColorsSortConstants.js +72 -0
  34. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -0
  35. package/lib/module/games/colors-sort/ColorsSortService.js +255 -0
  36. package/lib/module/games/colors-sort/ColorsSortService.js.map +1 -0
  37. package/lib/module/games/colors-sort/ColorsSortStore.js +257 -0
  38. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -0
  39. package/lib/module/games/colors-sort/components/ColorContainer.js +140 -0
  40. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -0
  41. package/lib/module/games/colors-sort/components/GameBackground.js +135 -0
  42. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -0
  43. package/lib/module/games/colors-sort/components/ScoreBoard.js +70 -0
  44. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -0
  45. package/lib/module/games/colors-sort/components/index.js +6 -0
  46. package/lib/module/games/colors-sort/components/index.js.map +1 -0
  47. package/lib/module/games/dino-jump/DinoJump.js +209 -0
  48. package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
  49. package/lib/module/games/dino-jump/DinoJumpConstants.js +189 -0
  50. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
  51. package/lib/module/games/dino-jump/DinoJumpService.js +270 -0
  52. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
  53. package/lib/module/games/dino-jump/DinoJumpStore.js +381 -0
  54. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
  55. package/lib/module/games/dino-jump/components/DinoSprite.js +418 -0
  56. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
  57. package/lib/module/games/dino-jump/components/GameArea.js +68 -0
  58. package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
  59. package/lib/module/games/dino-jump/components/GameBackground.js +444 -0
  60. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
  61. package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
  62. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
  63. package/lib/module/games/dino-jump/components/ScoreBoard.js +105 -0
  64. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
  65. package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
  66. package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
  67. package/lib/module/games/dino-jump/components/index.js +9 -0
  68. package/lib/module/games/dino-jump/components/index.js.map +1 -0
  69. package/lib/module/games/flappy-bird/FlappyBird.js +126 -0
  70. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
  71. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
  72. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
  73. package/lib/module/games/flappy-bird/FlappyBirdStore.js +300 -0
  74. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
  75. package/lib/module/games/flappy-bird/components/Bird.js +87 -0
  76. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
  77. package/lib/module/games/flappy-bird/components/GameArea.js +87 -0
  78. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
  79. package/lib/module/games/flappy-bird/components/GameBackground.js +79 -0
  80. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
  81. package/lib/module/games/flappy-bird/components/Pipes.js +172 -0
  82. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
  83. package/lib/module/games/flappy-bird/components/ScoreBoard.js +73 -0
  84. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
  85. package/lib/module/games/flappy-bird/components/index.js +8 -0
  86. package/lib/module/games/flappy-bird/components/index.js.map +1 -0
  87. package/lib/module/games/fruit-merger/FruitMerger.js +120 -0
  88. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
  89. package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
  90. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
  91. package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
  92. package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
  93. package/lib/module/games/fruit-merger/FruitMergerStore.js +315 -0
  94. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
  95. package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
  96. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
  97. package/lib/module/games/fruit-merger/components/GameArea.js +103 -0
  98. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
  99. package/lib/module/games/fruit-merger/components/GameBackground.js +498 -0
  100. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
  101. package/lib/module/games/fruit-merger/components/ScoreBoard.js +58 -0
  102. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
  103. package/lib/module/games/fruit-merger/components/index.js +7 -0
  104. package/lib/module/games/fruit-merger/components/index.js.map +1 -0
  105. package/lib/module/games/fruit-ninja/FruitNinja.js +14 -22
  106. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  107. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  108. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  109. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  110. package/lib/module/games/fruit-ninja/components/GameBackground.js +70 -45
  111. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  112. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +47 -46
  113. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/game-2048/Game2048.js +149 -0
  115. package/lib/module/games/game-2048/Game2048.js.map +1 -0
  116. package/lib/module/games/game-2048/Game2048Constants.js +263 -0
  117. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
  118. package/lib/module/games/game-2048/Game2048Service.js +457 -0
  119. package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
  120. package/lib/module/games/game-2048/Game2048Store.js +236 -0
  121. package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
  122. package/lib/module/games/game-2048/components/GameBackground.js +247 -0
  123. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
  124. package/lib/module/games/game-2048/components/GameGrid.js +139 -0
  125. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
  126. package/lib/module/games/game-2048/components/GameTile.js +72 -0
  127. package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
  128. package/lib/module/games/game-2048/components/ScoreBoard.js +52 -0
  129. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
  130. package/lib/module/games/game-2048/components/index.js +7 -0
  131. package/lib/module/games/game-2048/components/index.js.map +1 -0
  132. package/lib/module/games/maze-runner/MazeRunner.js +51 -41
  133. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  134. package/lib/module/games/maze-runner/MazeRunnerService.js +19 -17
  135. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  136. package/lib/module/games/maze-runner/components/ScoreBoard.js +32 -42
  137. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  138. package/lib/module/games/popit-fidget/PopitFidget.js +57 -66
  139. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  140. package/lib/module/games/popit-fidget/PopitFidgetStore.js +6 -44
  141. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  142. package/lib/module/games/popit-fidget/components/ScoreBoard.js +31 -45
  143. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  144. package/lib/module/games/sliding-numbers/SlidingNumbers.js +159 -0
  145. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
  146. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
  147. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
  148. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
  149. package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
  150. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +274 -0
  151. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
  152. package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
  153. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
  154. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
  155. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
  156. package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
  157. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
  158. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +64 -0
  159. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
  160. package/lib/module/games/sliding-numbers/components/index.js +7 -0
  161. package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
  162. package/lib/module/games/snake/Snake.js +189 -0
  163. package/lib/module/games/snake/Snake.js.map +1 -0
  164. package/lib/module/games/snake/SnakeConstants.js +138 -0
  165. package/lib/module/games/snake/SnakeConstants.js.map +1 -0
  166. package/lib/module/games/snake/SnakeService.js +148 -0
  167. package/lib/module/games/snake/SnakeService.js.map +1 -0
  168. package/lib/module/games/snake/SnakeStore.js +182 -0
  169. package/lib/module/games/snake/SnakeStore.js.map +1 -0
  170. package/lib/module/games/snake/components/GameBackground.js +221 -0
  171. package/lib/module/games/snake/components/GameBackground.js.map +1 -0
  172. package/lib/module/games/snake/components/GameGrid.js +153 -0
  173. package/lib/module/games/snake/components/GameGrid.js.map +1 -0
  174. package/lib/module/games/snake/components/ScoreBoard.js +51 -0
  175. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
  176. package/lib/module/games/snake/components/index.js +6 -0
  177. package/lib/module/games/snake/components/index.js.map +1 -0
  178. package/lib/module/games/snake/index.js +6 -0
  179. package/lib/module/games/snake/index.js.map +1 -0
  180. package/lib/module/games/space-fighter/SpaceFighter.js +22 -26
  181. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  182. package/lib/module/games/space-fighter/SpaceFighterService.js +7 -6
  183. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  184. package/lib/module/games/space-fighter/SpaceFighterStore.js +25 -11
  185. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  186. package/lib/module/games/space-fighter/components/GameArea.js +1 -7
  187. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  188. package/lib/module/games/space-fighter/components/ScoreBoard.js +47 -48
  189. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  190. package/lib/module/games/whack-a-mole/WhackAMole.js +17 -10
  191. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  192. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  193. package/lib/module/games/whack-a-mole/components/GameBackground.js +37 -30
  194. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  195. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +32 -38
  196. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  197. package/lib/module/helpers/AnimationFrame.js.map +1 -0
  198. package/lib/module/helpers/AnimationTracker.js.map +1 -0
  199. package/lib/module/helpers/ErrorHandler.js.map +1 -0
  200. package/lib/module/helpers/GameControlButton.js.map +1 -0
  201. package/lib/module/{shared/helpers → helpers}/GameOverModal.js +6 -3
  202. package/lib/module/helpers/GameOverModal.js.map +1 -0
  203. package/lib/module/{shared/helpers → helpers}/GameSettingsModal.js +5 -5
  204. package/lib/module/helpers/GameSettingsModal.js.map +1 -0
  205. package/lib/module/{shared/helpers → helpers}/ParticleBlast.js +3 -2
  206. package/lib/module/helpers/ParticleBlast.js.map +1 -0
  207. package/lib/module/helpers/ScoreBoardContainer.js +34 -0
  208. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -0
  209. package/lib/module/{shared/helpers → helpers}/index.js +1 -1
  210. package/lib/module/helpers/index.js.map +1 -0
  211. package/lib/module/index.js +9 -0
  212. package/lib/module/index.js.map +1 -1
  213. package/lib/module/services/GamesConstants.js +100 -5
  214. package/lib/module/services/GamesConstants.js.map +1 -1
  215. package/lib/module/services/GamesService.js +108 -42
  216. package/lib/module/services/GamesService.js.map +1 -1
  217. package/lib/module/services/SoundsService.js +132 -1
  218. package/lib/module/services/SoundsService.js.map +1 -1
  219. package/lib/module/services/UtilsService.js +32 -0
  220. package/lib/module/services/UtilsService.js.map +1 -0
  221. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -1
  222. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  223. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +1 -0
  224. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  225. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +5 -1
  226. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  227. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
  228. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
  229. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
  230. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
  231. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
  232. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
  233. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
  234. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
  235. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
  236. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
  237. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
  238. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
  239. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
  240. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
  241. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +6 -0
  242. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
  243. package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
  244. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
  245. package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
  246. package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
  247. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +4 -0
  248. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -0
  249. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +54 -0
  250. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -0
  251. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +66 -0
  252. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts.map +1 -0
  253. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +48 -0
  254. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -0
  255. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +11 -0
  256. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -0
  257. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts +7 -0
  258. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts.map +1 -0
  259. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +7 -0
  260. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -0
  261. package/lib/typescript/src/games/colors-sort/components/index.d.ts +4 -0
  262. package/lib/typescript/src/games/colors-sort/components/index.d.ts.map +1 -0
  263. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
  264. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
  265. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +97 -0
  266. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
  267. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
  268. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
  269. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
  270. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
  271. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
  272. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
  273. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
  274. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
  275. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +8 -0
  276. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
  277. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
  278. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
  279. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +7 -0
  280. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
  281. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
  282. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
  283. package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
  284. package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
  285. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
  286. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
  287. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
  288. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
  289. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
  290. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
  291. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
  292. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
  293. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
  294. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
  295. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +8 -0
  296. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
  297. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +9 -0
  298. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
  299. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +7 -0
  300. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
  301. package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
  302. package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
  303. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
  304. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
  305. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
  306. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
  307. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
  308. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
  309. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
  310. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
  311. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
  312. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
  313. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
  314. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
  315. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +8 -0
  316. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
  317. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +7 -0
  318. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
  319. package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
  320. package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
  321. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -1
  322. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  323. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +1 -0
  324. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  325. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +5 -1
  326. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  327. package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
  328. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
  329. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
  330. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
  331. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
  332. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
  333. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
  334. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
  335. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
  336. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
  337. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
  338. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
  339. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
  340. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
  341. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +7 -0
  342. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
  343. package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
  344. package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
  345. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -1
  346. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  347. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +1 -0
  348. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  349. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  350. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  351. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -1
  352. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  353. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +2 -5
  354. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  355. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  356. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  357. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
  358. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
  359. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
  360. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
  361. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
  362. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
  363. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
  364. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
  365. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
  366. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
  367. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
  368. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
  369. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
  370. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
  371. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +7 -0
  372. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
  373. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
  374. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
  375. package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
  376. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
  377. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
  378. package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
  379. package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
  380. package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
  381. package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
  382. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
  383. package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
  384. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
  385. package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
  386. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
  387. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +7 -0
  388. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
  389. package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
  390. package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
  391. package/lib/typescript/src/games/snake/index.d.ts +4 -0
  392. package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
  393. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -1
  394. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  395. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  396. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +2 -0
  397. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  398. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  399. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +5 -1
  400. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  401. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -1
  402. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  403. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +1 -0
  404. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  405. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +1 -0
  406. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  407. package/lib/typescript/src/helpers/AnimationFrame.d.ts.map +1 -0
  408. package/lib/typescript/src/helpers/AnimationTracker.d.ts.map +1 -0
  409. package/lib/typescript/src/helpers/ErrorHandler.d.ts.map +1 -0
  410. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -0
  411. package/lib/typescript/src/{shared/helpers → helpers}/GameOverModal.d.ts +2 -0
  412. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -0
  413. package/lib/typescript/src/{shared/helpers → helpers}/GameSettingsModal.d.ts +1 -1
  414. package/lib/typescript/src/helpers/GameSettingsModal.d.ts.map +1 -0
  415. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -0
  416. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +9 -0
  417. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -0
  418. package/lib/typescript/src/{shared/helpers → helpers}/index.d.ts +2 -1
  419. package/lib/typescript/src/helpers/index.d.ts.map +1 -0
  420. package/lib/typescript/src/index.d.ts +9 -0
  421. package/lib/typescript/src/index.d.ts.map +1 -1
  422. package/lib/typescript/src/services/GamesConstants.d.ts +162 -0
  423. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  424. package/lib/typescript/src/services/GamesService.d.ts +3 -25
  425. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  426. package/lib/typescript/src/services/SoundsService.d.ts +103 -0
  427. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  428. package/lib/typescript/src/services/UtilsService.d.ts +38 -0
  429. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -0
  430. package/package.json +1 -1
  431. package/lib/module/shared/helpers/AnimationFrame.js.map +0 -1
  432. package/lib/module/shared/helpers/AnimationTracker.js.map +0 -1
  433. package/lib/module/shared/helpers/ErrorHandler.js.map +0 -1
  434. package/lib/module/shared/helpers/GameControlButton.js.map +0 -1
  435. package/lib/module/shared/helpers/GameOverModal.js.map +0 -1
  436. package/lib/module/shared/helpers/GameSettingsModal.js.map +0 -1
  437. package/lib/module/shared/helpers/ParticleBlast.js.map +0 -1
  438. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +0 -81
  439. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +0 -1
  440. package/lib/module/shared/helpers/index.js.map +0 -1
  441. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +0 -1
  442. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +0 -1
  443. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +0 -1
  444. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +0 -1
  445. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +0 -1
  446. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +0 -1
  447. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +0 -1
  448. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +0 -42
  449. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +0 -1
  450. package/lib/typescript/src/shared/helpers/index.d.ts.map +0 -1
  451. /package/lib/module/{shared/helpers → helpers}/AnimationFrame.js +0 -0
  452. /package/lib/module/{shared/helpers → helpers}/AnimationTracker.js +0 -0
  453. /package/lib/module/{shared/helpers → helpers}/ErrorHandler.js +0 -0
  454. /package/lib/module/{shared/helpers → helpers}/GameControlButton.js +0 -0
  455. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationFrame.d.ts +0 -0
  456. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationTracker.d.ts +0 -0
  457. /package/lib/typescript/src/{shared/helpers → helpers}/ErrorHandler.d.ts +0 -0
  458. /package/lib/typescript/src/{shared/helpers → helpers}/GameControlButton.d.ts +0 -0
  459. /package/lib/typescript/src/{shared/helpers → helpers}/ParticleBlast.d.ts +0 -0
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { TouchableOpacity, View, StyleSheet } from 'react-native';
5
+ import Animated, { useAnimatedStyle, withTiming } from 'react-native-reanimated';
6
+ import { COLORS_SORT_COLORS, COLORS_SORT_GAME_CONFIG } from "../ColorsSortConstants.js";
7
+ import { getPieceHeight } from "../ColorsSortService.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const AnimatedPiece = /*#__PURE__*/React.memo(({
10
+ piece,
11
+ isTopPiece,
12
+ isSelected,
13
+ marginTop,
14
+ size,
15
+ height
16
+ }) => {
17
+ const pieceAnimatedStyle = useAnimatedStyle(() => ({
18
+ transform: [{
19
+ translateY: withTiming(isSelected && isTopPiece ? -15 : 0, {
20
+ duration: 200
21
+ })
22
+ }]
23
+ }), [isSelected, isTopPiece]);
24
+ return /*#__PURE__*/_jsx(Animated.View, {
25
+ style: [{
26
+ marginTop
27
+ }, isTopPiece && pieceAnimatedStyle],
28
+ children: /*#__PURE__*/_jsxs(View, {
29
+ style: [styles.piece, {
30
+ backgroundColor: piece.color,
31
+ width: size,
32
+ height
33
+ }],
34
+ children: [/*#__PURE__*/_jsx(View, {
35
+ style: styles.pieceShine
36
+ }), /*#__PURE__*/_jsx(View, {
37
+ style: styles.pieceDepth
38
+ })]
39
+ })
40
+ });
41
+ });
42
+ AnimatedPiece.displayName = 'AnimatedPiece';
43
+ export const ColorContainer = /*#__PURE__*/React.memo(({
44
+ container,
45
+ isSelected,
46
+ onPress,
47
+ difficulty
48
+ }) => {
49
+ const {
50
+ PIECE_SIZE,
51
+ PIECE_SPACING
52
+ } = COLORS_SORT_GAME_CONFIG;
53
+ const pieceHeight = useMemo(() => getPieceHeight(difficulty, PIECE_SIZE), [difficulty, PIECE_SIZE]);
54
+
55
+ // Memoize container style to prevent recreation
56
+ const containerStyle = useMemo(() => [styles.container, {
57
+ borderWidth: isSelected ? 3 : 2,
58
+ borderColor: isSelected ? COLORS_SORT_COLORS.BUTTON_PRIMARY : COLORS_SORT_COLORS.BASE_DARK
59
+ }], [isSelected]);
60
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
61
+ onPress: onPress,
62
+ activeOpacity: 0.7,
63
+ children: /*#__PURE__*/_jsx(View, {
64
+ style: containerStyle,
65
+ children: /*#__PURE__*/_jsx(View, {
66
+ style: styles.pieceStack,
67
+ children: [...container.pieces].reverse().map((piece, index) => /*#__PURE__*/_jsx(AnimatedPiece, {
68
+ piece: piece,
69
+ isTopPiece: index === 0,
70
+ isSelected: isSelected,
71
+ marginTop: index === 0 ? 0 : PIECE_SPACING,
72
+ size: 70,
73
+ height: pieceHeight
74
+ }, piece.id))
75
+ })
76
+ })
77
+ });
78
+ });
79
+ ColorContainer.displayName = 'ColorContainer';
80
+ const styles = StyleSheet.create({
81
+ container: {
82
+ alignItems: 'center',
83
+ justifyContent: 'flex-end',
84
+ width: 80,
85
+ height: 225,
86
+ borderRadius: 15,
87
+ backgroundColor: 'rgba(192, 192, 192, 0.6)',
88
+ paddingHorizontal: 5,
89
+ paddingTop: 10,
90
+ paddingBottom: 5,
91
+ shadowColor: '#000',
92
+ shadowOffset: {
93
+ width: 0,
94
+ height: 4
95
+ },
96
+ shadowOpacity: 0.3,
97
+ shadowRadius: 5,
98
+ elevation: 5
99
+ },
100
+ pieceStack: {
101
+ alignItems: 'center',
102
+ justifyContent: 'flex-end',
103
+ flex: 1
104
+ },
105
+ piece: {
106
+ borderRadius: 10,
107
+ borderLeftWidth: 2,
108
+ borderRightWidth: 2,
109
+ borderBottomWidth: 2,
110
+ borderTopWidth: 0,
111
+ borderColor: 'rgba(0, 0, 0, 0.3)',
112
+ overflow: 'hidden',
113
+ shadowColor: '#000',
114
+ shadowOffset: {
115
+ width: 0,
116
+ height: 3
117
+ },
118
+ shadowOpacity: 0.4,
119
+ shadowRadius: 4,
120
+ elevation: 5
121
+ },
122
+ pieceShine: {
123
+ position: 'absolute',
124
+ top: 2,
125
+ left: 2,
126
+ right: '50%',
127
+ height: '30%',
128
+ backgroundColor: 'rgba(255, 255, 255, 0.3)',
129
+ borderRadius: 6
130
+ },
131
+ pieceDepth: {
132
+ position: 'absolute',
133
+ bottom: 0,
134
+ left: 0,
135
+ right: 0,
136
+ height: 4,
137
+ backgroundColor: 'rgba(0, 0, 0, 0.2)'
138
+ }
139
+ });
140
+ //# sourceMappingURL=ColorContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","TouchableOpacity","View","StyleSheet","Animated","useAnimatedStyle","withTiming","COLORS_SORT_COLORS","COLORS_SORT_GAME_CONFIG","getPieceHeight","jsx","_jsx","jsxs","_jsxs","AnimatedPiece","memo","piece","isTopPiece","isSelected","marginTop","size","height","pieceAnimatedStyle","transform","translateY","duration","style","children","styles","backgroundColor","color","width","pieceShine","pieceDepth","displayName","ColorContainer","container","onPress","difficulty","PIECE_SIZE","PIECE_SPACING","pieceHeight","containerStyle","borderWidth","borderColor","BUTTON_PRIMARY","BASE_DARK","activeOpacity","pieceStack","pieces","reverse","map","index","id","create","alignItems","justifyContent","borderRadius","paddingHorizontal","paddingTop","paddingBottom","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","borderLeftWidth","borderRightWidth","borderBottomWidth","borderTopWidth","overflow","position","top","left","right","bottom"],"sourceRoot":"../../../../../src","sources":["games/colors-sort/components/ColorContainer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACjE,OAAOC,QAAQ,IAAIC,gBAAgB,EAAEC,UAAU,QAAQ,yBAAyB;AAEhF,SAASC,kBAAkB,EAAEC,uBAAuB,QAAQ,2BAAwB;AACpF,SAASC,cAAc,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAStD,MAAMC,aAOJ,gBAAGf,KAAK,CAACgB,IAAI,CAAC,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC,UAAU;EAAEC,SAAS;EAAEC,IAAI;EAAEC;AAAO,CAAC,KAAK;EAC9E,MAAMC,kBAAkB,GAAGjB,gBAAgB,CAAC,OAAO;IACjDkB,SAAS,EAAE,CAAC;MACVC,UAAU,EAAElB,UAAU,CACpBY,UAAU,IAAID,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,EAClC;QAAEQ,QAAQ,EAAE;MAAI,CAClB;IACF,CAAC;EACH,CAAC,CAAC,EAAE,CAACP,UAAU,EAAED,UAAU,CAAC,CAAC;EAE7B,oBACEN,IAAA,CAACP,QAAQ,CAACF,IAAI;IAACwB,KAAK,EAAE,CAAC;MAAEP;IAAU,CAAC,EAAEF,UAAU,IAAIK,kBAAkB,CAAE;IAAAK,QAAA,eACtEd,KAAA,CAACX,IAAI;MAACwB,KAAK,EAAE,CAACE,MAAM,CAACZ,KAAK,EAAE;QAAEa,eAAe,EAAEb,KAAK,CAACc,KAAK;QAAEC,KAAK,EAAEX,IAAI;QAAEC;MAAO,CAAC,CAAE;MAAAM,QAAA,gBACjFhB,IAAA,CAACT,IAAI;QAACwB,KAAK,EAAEE,MAAM,CAACI;MAAW,CAAE,CAAC,eAClCrB,IAAA,CAACT,IAAI;QAACwB,KAAK,EAAEE,MAAM,CAACK;MAAW,CAAE,CAAC;IAAA,CAC9B;EAAC,CACM,CAAC;AAEpB,CAAC,CAAC;AAEFnB,aAAa,CAACoB,WAAW,GAAG,eAAe;AAE3C,OAAO,MAAMC,cAA6C,gBAAGpC,KAAK,CAACgB,IAAI,CAAC,CAAC;EAAEqB,SAAS;EAAElB,UAAU;EAAEmB,OAAO;EAAEC;AAAW,CAAC,KAAK;EAC1H,MAAM;IAAEC,UAAU;IAAEC;EAAc,CAAC,GAAGhC,uBAAuB;EAE7D,MAAMiC,WAAW,GAAGzC,OAAO,CACzB,MAAMS,cAAc,CAAC6B,UAAU,EAAEC,UAAU,CAAC,EAC5C,CAACD,UAAU,EAAEC,UAAU,CACzB,CAAC;;EAED;EACA,MAAMG,cAAc,GAAG1C,OAAO,CAAC,MAAM,CACnC4B,MAAM,CAACQ,SAAS,EAChB;IACEO,WAAW,EAAEzB,UAAU,GAAG,CAAC,GAAG,CAAC;IAC/B0B,WAAW,EAAE1B,UAAU,GAAGX,kBAAkB,CAACsC,cAAc,GAAGtC,kBAAkB,CAACuC;EACnF,CAAC,CACF,EAAE,CAAC5B,UAAU,CAAC,CAAC;EAEhB,oBACEP,IAAA,CAACV,gBAAgB;IAACoC,OAAO,EAAEA,OAAQ;IAACU,aAAa,EAAE,GAAI;IAAApB,QAAA,eACrDhB,IAAA,CAACT,IAAI;MAACwB,KAAK,EAAEgB,cAAe;MAAAf,QAAA,eAC1BhB,IAAA,CAACT,IAAI;QAACwB,KAAK,EAAEE,MAAM,CAACoB,UAAW;QAAArB,QAAA,EAC5B,CAAC,GAAGS,SAAS,CAACa,MAAM,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,GAAG,CAAC,CAACnC,KAAK,EAAEoC,KAAK,kBAChDzC,IAAA,CAACG,aAAa;UAEZE,KAAK,EAAEA,KAAM;UACbC,UAAU,EAAEmC,KAAK,KAAK,CAAE;UACxBlC,UAAU,EAAEA,UAAW;UACvBC,SAAS,EAAEiC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGZ,aAAc;UAC3CpB,IAAI,EAAE,EAAG;UACTC,MAAM,EAAEoB;QAAY,GANfzB,KAAK,CAACqC,EAOZ,CACF;MAAC,CACE;IAAC,CACH;EAAC,CACS,CAAC;AAEvB,CAAC,CAAC;AAEFlB,cAAc,CAACD,WAAW,GAAG,gBAAgB;AAE7C,MAAMN,MAAM,GAAGzB,UAAU,CAACmD,MAAM,CAAC;EAC/BlB,SAAS,EAAE;IACTmB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,UAAU;IAC1BzB,KAAK,EAAE,EAAE;IACTV,MAAM,EAAE,GAAG;IACXoC,YAAY,EAAE,EAAE;IAChB5B,eAAe,EAAE,0BAA0B;IAC3C6B,iBAAiB,EAAE,CAAC;IACpBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE,CAAC;IAChBC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAE/B,KAAK,EAAE,CAAC;MAAEV,MAAM,EAAE;IAAE,CAAC;IACrC0C,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDjB,UAAU,EAAE;IACVO,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,UAAU;IAC1BU,IAAI,EAAE;EACR,CAAC;EACDlD,KAAK,EAAE;IACLyC,YAAY,EAAE,EAAE;IAChBU,eAAe,EAAE,CAAC;IAClBC,gBAAgB,EAAE,CAAC;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,cAAc,EAAE,CAAC;IACjB1B,WAAW,EAAE,oBAAoB;IACjC2B,QAAQ,EAAE,QAAQ;IAClBV,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAE/B,KAAK,EAAE,CAAC;MAAEV,MAAM,EAAE;IAAE,CAAC;IACrC0C,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDjC,UAAU,EAAE;IACVwC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,KAAK;IACZtD,MAAM,EAAE,KAAK;IACbQ,eAAe,EAAE,0BAA0B;IAC3C4B,YAAY,EAAE;EAChB,CAAC;EACDxB,UAAU,EAAE;IACVuC,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,CAAC;IACTF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRtD,MAAM,EAAE,CAAC;IACTQ,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { View, Dimensions } from 'react-native';
5
+ import { Canvas, LinearGradient, Rect, vec, Circle, RoundedRect } from '@shopify/react-native-skia';
6
+ import { generateFloatingBlocks, getDecorativeBlocks, getDecorativeCircles, getGradientColors } from "../ColorsSortService.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const {
9
+ width,
10
+ height
11
+ } = Dimensions.get('window');
12
+ export const GameBackground = /*#__PURE__*/React.memo(({
13
+ children
14
+ }) => {
15
+ const floatingBlocks = useMemo(() => generateFloatingBlocks(), []);
16
+ const decorativeBlocks = useMemo(() => getDecorativeBlocks(), []);
17
+ const decorativeCircles = useMemo(() => getDecorativeCircles(), []);
18
+ const gradients = useMemo(() => getGradientColors(), []);
19
+ const renderFloatingBlocks = useMemo(() => {
20
+ return floatingBlocks.map(block => {
21
+ if (block.type === 'square') {
22
+ return /*#__PURE__*/_jsx(RoundedRect, {
23
+ x: block.x,
24
+ y: block.y,
25
+ width: block.size,
26
+ height: block.size,
27
+ r: block.size * 0.2,
28
+ color: block.color
29
+ }, block.key);
30
+ } else if (block.type === 'rect') {
31
+ return /*#__PURE__*/_jsx(RoundedRect, {
32
+ x: block.x,
33
+ y: block.y,
34
+ width: block.size * 0.6,
35
+ height: block.size,
36
+ r: block.size * 0.15,
37
+ color: block.color
38
+ }, block.key);
39
+ } else if (block.type === 'wide') {
40
+ return /*#__PURE__*/_jsx(RoundedRect, {
41
+ x: block.x,
42
+ y: block.y,
43
+ width: block.size * 1.2,
44
+ height: block.size * 0.8,
45
+ r: block.size * 0.1,
46
+ color: block.color
47
+ }, block.key);
48
+ } else {
49
+ return /*#__PURE__*/_jsx(Circle, {
50
+ cx: block.x + block.size / 2,
51
+ cy: block.y + block.size / 2,
52
+ r: block.size / 2,
53
+ color: block.color
54
+ }, block.key);
55
+ }
56
+ });
57
+ }, [floatingBlocks]);
58
+ return /*#__PURE__*/_jsxs(View, {
59
+ style: {
60
+ flex: 1
61
+ },
62
+ children: [/*#__PURE__*/_jsxs(Canvas, {
63
+ style: {
64
+ position: 'absolute',
65
+ top: 0,
66
+ left: 0,
67
+ right: 0,
68
+ bottom: 0,
69
+ width,
70
+ height
71
+ },
72
+ children: [/*#__PURE__*/_jsx(Rect, {
73
+ x: 0,
74
+ y: 0,
75
+ width: width,
76
+ height: height,
77
+ children: /*#__PURE__*/_jsx(LinearGradient, {
78
+ start: vec(0, 0),
79
+ end: vec(width, height),
80
+ colors: gradients.main
81
+ })
82
+ }), /*#__PURE__*/_jsx(Rect, {
83
+ x: 0,
84
+ y: 0,
85
+ width: width,
86
+ height: height,
87
+ children: /*#__PURE__*/_jsx(LinearGradient, {
88
+ start: vec(0, 0),
89
+ end: vec(width / 2, height / 2),
90
+ colors: gradients.overlay
91
+ })
92
+ }), /*#__PURE__*/_jsx(Rect, {
93
+ x: 0,
94
+ y: 0,
95
+ width: width,
96
+ height: height,
97
+ children: /*#__PURE__*/_jsx(LinearGradient, {
98
+ start: vec(width, 0),
99
+ end: vec(0, height),
100
+ colors: gradients.diagonal
101
+ })
102
+ }), renderFloatingBlocks, decorativeBlocks.map(block => /*#__PURE__*/_jsx(RoundedRect, {
103
+ x: block.x,
104
+ y: block.y,
105
+ width: block.size,
106
+ height: block.size,
107
+ r: block.r,
108
+ color: block.color
109
+ }, block.key)), decorativeCircles.map(circle => /*#__PURE__*/_jsx(Circle, {
110
+ cx: circle.cx,
111
+ cy: circle.cy,
112
+ r: circle.r,
113
+ color: circle.color
114
+ }, circle.key)), Array.from({
115
+ length: Math.floor(width / 60)
116
+ }, (_, i) => /*#__PURE__*/_jsx(Rect, {
117
+ x: i * 60,
118
+ y: 0,
119
+ width: 1,
120
+ height: height,
121
+ color: "rgba(255, 255, 255, 0.05)"
122
+ }, `grid-v-${i}`)), Array.from({
123
+ length: Math.floor(height / 60)
124
+ }, (_, i) => /*#__PURE__*/_jsx(Rect, {
125
+ x: 0,
126
+ y: i * 60,
127
+ width: width,
128
+ height: 1,
129
+ color: "rgba(255, 255, 255, 0.05)"
130
+ }, `grid-h-${i}`))]
131
+ }), children]
132
+ });
133
+ });
134
+ GameBackground.displayName = 'GameBackground';
135
+ //# sourceMappingURL=GameBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Dimensions","Canvas","LinearGradient","Rect","vec","Circle","RoundedRect","generateFloatingBlocks","getDecorativeBlocks","getDecorativeCircles","getGradientColors","jsx","_jsx","jsxs","_jsxs","width","height","get","GameBackground","memo","children","floatingBlocks","decorativeBlocks","decorativeCircles","gradients","renderFloatingBlocks","map","block","type","x","y","size","r","color","key","cx","cy","style","flex","position","top","left","right","bottom","start","end","colors","main","overlay","diagonal","circle","Array","from","length","Math","floor","_","i","displayName"],"sourceRoot":"../../../../../src","sources":["games/colors-sort/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
5
+ import { useTime } from "../ColorsSortStore.js";
6
+ import { COLORS_SORT_COLORS } from "../ColorsSortConstants.js";
7
+ import { formatTime } from "../ColorsSortService.js";
8
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
11
+ offset = 0
12
+ }) => {
13
+ const time = useTime();
14
+ const formattedTime = useMemo(() => formatTime(time), [time]);
15
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
16
+ offset: offset,
17
+ backgroundColor: COLORS_SORT_COLORS.SCORE_BACKGROUND,
18
+ borderColor: COLORS_SORT_COLORS.SCORE_BORDER,
19
+ children: /*#__PURE__*/_jsx(View, {
20
+ style: styles.scoreBoard,
21
+ children: /*#__PURE__*/_jsxs(View, {
22
+ style: styles.scoreItem,
23
+ children: [/*#__PURE__*/_jsx(Text, {
24
+ style: styles.scoreLabel,
25
+ children: "TIME"
26
+ }), /*#__PURE__*/_jsx(Text, {
27
+ style: styles.scoreValue,
28
+ children: formattedTime
29
+ })]
30
+ })
31
+ })
32
+ });
33
+ });
34
+ const styles = StyleSheet.create({
35
+ scoreBoard: {
36
+ flexDirection: 'row',
37
+ justifyContent: 'space-around',
38
+ alignItems: 'center'
39
+ },
40
+ scoreItem: {
41
+ alignItems: 'center',
42
+ flex: 1
43
+ },
44
+ scoreLabel: {
45
+ fontSize: 12,
46
+ fontWeight: '700',
47
+ color: COLORS_SORT_COLORS.SCORE_TEXT,
48
+ marginBottom: 4,
49
+ letterSpacing: 1,
50
+ textShadowColor: 'rgba(0, 0, 0, 0.5)',
51
+ textShadowOffset: {
52
+ width: 1,
53
+ height: 1
54
+ },
55
+ textShadowRadius: 2
56
+ },
57
+ scoreValue: {
58
+ fontSize: 24,
59
+ fontWeight: '900',
60
+ color: COLORS_SORT_COLORS.SCORE_TEXT,
61
+ textShadowColor: 'rgba(0, 0, 0, 0.8)',
62
+ textShadowOffset: {
63
+ width: 1,
64
+ height: 1
65
+ },
66
+ textShadowRadius: 2
67
+ }
68
+ });
69
+ ScoreBoard.displayName = 'ScoreBoard';
70
+ //# sourceMappingURL=ScoreBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTime","COLORS_SORT_COLORS","formatTime","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","time","formattedTime","backgroundColor","SCORE_BACKGROUND","borderColor","SCORE_BORDER","children","style","styles","scoreBoard","scoreItem","scoreLabel","scoreValue","create","flexDirection","justifyContent","alignItems","flex","fontSize","fontWeight","color","SCORE_TEXT","marginBottom","letterSpacing","textShadowColor","textShadowOffset","width","height","textShadowRadius","displayName"],"sourceRoot":"../../../../../src","sources":["games/colors-sort/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,uBAAoB;AAC5C,SAASC,kBAAkB,QAAQ,2BAAwB;AAC3D,SAASC,UAAU,QAAQ,yBAAsB;AACjD,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGb,KAAK,CAACc,IAAI,CAAC,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,KAAK;EAClF,MAAMC,IAAI,GAAGX,OAAO,CAAC,CAAC;EACtB,MAAMY,aAAa,GAAGhB,OAAO,CAAC,MAAMM,UAAU,CAACS,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE7D,oBACEN,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfG,eAAe,EAAEZ,kBAAkB,CAACa,gBAAiB;IACrDC,WAAW,EAAEd,kBAAkB,CAACe,YAAa;IAAAC,QAAA,eAE7CZ,IAAA,CAACR,IAAI;MAACqB,KAAK,EAAEC,MAAM,CAACC,UAAW;MAAAH,QAAA,eAC7BV,KAAA,CAACV,IAAI;QAACqB,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAJ,QAAA,gBAC5BZ,IAAA,CAACP,IAAI;UAACoB,KAAK,EAAEC,MAAM,CAACG,UAAW;UAAAL,QAAA,EAAC;QAAI,CAAM,CAAC,eAC3CZ,IAAA,CAACP,IAAI;UAACoB,KAAK,EAAEC,MAAM,CAACI,UAAW;UAAAN,QAAA,EAAEL;QAAa,CAAO,CAAC;MAAA,CAClD;IAAC,CACH;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC;AAEF,MAAMO,MAAM,GAAGpB,UAAU,CAACyB,MAAM,CAAC;EAC/BJ,UAAU,EAAE;IACVK,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,UAAU,EAAE;EACd,CAAC;EACDN,SAAS,EAAE;IACTM,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE;EACR,CAAC;EACDN,UAAU,EAAE;IACVO,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE9B,kBAAkB,CAAC+B,UAAU;IACpCC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAE,oBAAoB;IACrCC,gBAAgB,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACzCC,gBAAgB,EAAE;EACpB,CAAC;EACDhB,UAAU,EAAE;IACVM,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE9B,kBAAkB,CAAC+B,UAAU;IACpCG,eAAe,EAAE,oBAAoB;IACrCC,gBAAgB,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACzCC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF/B,UAAU,CAACgC,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export * from "./ColorContainer.js";
4
+ export * from "./ScoreBoard.js";
5
+ export * from "./GameBackground.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["games/colors-sort/components/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,iBAAc;AAC5B,cAAc,qBAAkB","ignoreList":[]}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useMemo, useCallback, useRef } from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
+ import { useDinoJumpStore, useIsPlaying, useIsGameOver, useScore } from "./DinoJumpStore.js";
7
+ import { DinoJumpService } from "./DinoJumpService.js";
8
+ import { GameBackground, GameArea, ScoreBoard } from "./components/index.js";
9
+ import { GameControlButton, GameOverModal, ParticleBlast } from "../../helpers/index.js";
10
+ import { GameSettingsModal } from "../../helpers/index.js";
11
+ import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
12
+ import { playSound, GAME_SOUNDS } from "../../services/SoundsService.js";
13
+ import { playHaptic, HapticType } from "../../services/HapticsService.js";
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ export const DinoJump = /*#__PURE__*/React.memo(({
16
+ settings = DEFAULT_GAME_SETTINGS,
17
+ onSettingsChange
18
+ }) => {
19
+ // ==================== STATE ====================
20
+ const isPlaying = useIsPlaying();
21
+ const isGameOver = useIsGameOver();
22
+ const score = useScore();
23
+
24
+ // ==================== STORE ACTIONS ====================
25
+ const setOffset = useDinoJumpStore(state => state.setOffset);
26
+ const initializeGame = useDinoJumpStore(state => state.initializeGame);
27
+ const startGame = useDinoJumpStore(state => state.startGame);
28
+ const stopGame = useDinoJumpStore(state => state.stopGame);
29
+ const resetGame = useDinoJumpStore(state => state.resetGame);
30
+
31
+ // Get offset from settings
32
+ const offset = settings?.offset ?? 0;
33
+
34
+ // Update offset in store when it changes
35
+ useEffect(() => {
36
+ setOffset(offset);
37
+ }, [offset, setOffset]);
38
+ const decrementTime = useDinoJumpStore(state => state.decrementTime);
39
+ const updateDinosaur = useDinoJumpStore(state => state.updateDinosaur);
40
+ const updateObstacles = useDinoJumpStore(state => state.updateObstacles);
41
+ const updateClouds = useDinoJumpStore(state => state.updateClouds);
42
+ const updateStars = useDinoJumpStore(state => state.updateStars);
43
+ const updateGround = useDinoJumpStore(state => state.updateGround);
44
+ const updateScore = useDinoJumpStore(state => state.updateScore);
45
+ const updateSpeed = useDinoJumpStore(state => state.updateSpeed);
46
+ const addObstacle = useDinoJumpStore(state => state.addObstacle);
47
+ const addCloud = useDinoJumpStore(state => state.addCloud);
48
+ const addStar = useDinoJumpStore(state => state.addStar);
49
+ const checkCollisionsAction = useDinoJumpStore(state => state.checkCollisions);
50
+ const collisionBlasts = useDinoJumpStore(state => state.collisionBlasts);
51
+ const removeCollisionBlast = useDinoJumpStore(state => state.removeCollisionBlast);
52
+
53
+ // Use ref to keep settings stable
54
+ const settingsRef = useRef(settings);
55
+ settingsRef.current = settings;
56
+
57
+ // Wrap checkCollisions to pass settings
58
+ const checkCollisions = useCallback(() => checkCollisionsAction(settingsRef.current), [checkCollisionsAction]);
59
+
60
+ // ==================== CONFIGURATION ====================
61
+ const difficulty = settings.difficulty;
62
+ const gameService = useMemo(() => new DinoJumpService(), []);
63
+
64
+ // ==================== EFFECTS ====================
65
+ // Initialize game when difficulty changes
66
+ useEffect(() => {
67
+ initializeGame(difficulty);
68
+ }, [difficulty, initializeGame]);
69
+
70
+ // Game timer effect
71
+ useEffect(() => {
72
+ if (isPlaying) {
73
+ gameService.startTimer(() => {
74
+ decrementTime();
75
+ });
76
+ } else {
77
+ gameService.stopTimer();
78
+ }
79
+ return () => {
80
+ gameService.stopTimer();
81
+ };
82
+ }, [isPlaying, gameService, decrementTime]);
83
+
84
+ // Physics loop effect
85
+ useEffect(() => {
86
+ // Always cleanup first to prevent multiple loops
87
+ gameService.stopPhysicsLoop();
88
+ gameService.stopObstacleSpawning();
89
+ gameService.stopCloudSpawning();
90
+ if (isPlaying && !isGameOver) {
91
+ // Small delay to ensure cleanup is complete
92
+ const startTimeout = setTimeout(() => {
93
+ try {
94
+ gameService.startPhysicsLoop(updateDinosaur, updateObstacles, updateClouds, updateStars, updateGround, updateScore, updateSpeed, checkCollisions, stopGame);
95
+ gameService.startObstacleSpawning(addObstacle, difficulty, () => offset);
96
+ gameService.startCloudSpawning(addCloud);
97
+ gameService.startStarSpawning(addStar, () => offset);
98
+ } catch (error) {
99
+ console.error('Failed to start game loops:', error);
100
+ stopGame();
101
+ }
102
+ }, 50);
103
+ return () => {
104
+ clearTimeout(startTimeout);
105
+ gameService.stopPhysicsLoop();
106
+ gameService.stopObstacleSpawning();
107
+ gameService.stopCloudSpawning();
108
+ };
109
+ }
110
+ return () => {
111
+ gameService.stopPhysicsLoop();
112
+ gameService.stopObstacleSpawning();
113
+ gameService.stopCloudSpawning();
114
+ };
115
+ }, [isPlaying, isGameOver, gameService, updateDinosaur, updateObstacles, updateClouds, updateStars, updateGround, updateScore, updateSpeed, checkCollisions, stopGame, addObstacle, addCloud, addStar, difficulty]);
116
+
117
+ // Cleanup on unmount
118
+ useEffect(() => {
119
+ return () => {
120
+ gameService.cleanup();
121
+ };
122
+ }, [gameService]);
123
+
124
+ // ==================== HANDLERS ====================
125
+ const handleStartGame = useCallback(() => {
126
+ startGame();
127
+ playSound(GAME_SOUNDS.DINO_JUMP.START, settingsRef.current.enableSounds);
128
+ playHaptic(HapticType.MEDIUM, settingsRef.current.enableHaptics);
129
+ }, [startGame]);
130
+ const handleStopGame = useCallback(() => {
131
+ stopGame();
132
+ }, [stopGame]);
133
+ const handleResetGame = useCallback(() => {
134
+ resetGame();
135
+ initializeGame(difficulty);
136
+ playHaptic(HapticType.LIGHT, settingsRef.current.enableHaptics);
137
+ }, [resetGame, initializeGame, difficulty]);
138
+
139
+ // Memoize GameControlButton props to prevent re-renders (CRITICAL)
140
+ const gameControlButtonProps = useMemo(() => ({
141
+ isPlaying,
142
+ gameOver: isGameOver,
143
+ onStartGame: handleStartGame,
144
+ onStopGame: handleStopGame,
145
+ startButtonText: "START RUNNING",
146
+ stopButtonText: "STOP GAME",
147
+ startButtonSubtext: "Tap to jump over cacti!",
148
+ stopButtonSubtext: "End current game",
149
+ startButtonColor: "#FF6347",
150
+ stopButtonColor: "#dc2626",
151
+ startButtonBorderColor: "#FF4500",
152
+ stopButtonBorderColor: "#f87171"
153
+ }), [isPlaying, isGameOver, handleStartGame, handleStopGame]);
154
+
155
+ // Memoize GameOverModal props
156
+ const gameOverModalProps = useMemo(() => ({
157
+ isVisible: isGameOver,
158
+ score,
159
+ onPlayAgain: handleResetGame,
160
+ buttonText: "Run Again!",
161
+ primaryColor: "rgba(255, 99, 71, 0.95)",
162
+ borderColor: "rgba(255, 99, 71, 0.9)",
163
+ buttonColor: "#FF6347",
164
+ buttonBorderColor: "#FF4500"
165
+ }), [isGameOver, score, handleResetGame]);
166
+
167
+ // Memoize GameSettingsModal props
168
+ const gameSettingsModalProps = useMemo(() => ({
169
+ gameId: GAME_IDS.DINO_JUMP,
170
+ settings,
171
+ onSettingsChange
172
+ }), [settings, onSettingsChange]);
173
+
174
+ // ==================== RENDER ====================
175
+ return /*#__PURE__*/_jsx(View, {
176
+ style: styles.container,
177
+ children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
178
+ children: /*#__PURE__*/_jsxs(GameBackground, {
179
+ offset: offset,
180
+ children: [/*#__PURE__*/_jsx(GameArea, {
181
+ settings: settings
182
+ }), collisionBlasts.map(blast => /*#__PURE__*/_jsx(ParticleBlast, {
183
+ x: blast.x,
184
+ y: blast.y,
185
+ particleCount: 15,
186
+ colors: ['#FF6B35', '#FFA500', '#FFD700', '#FF8C42', '#32CD32'],
187
+ duration: 800,
188
+ onComplete: () => removeCollisionBlast(blast.id)
189
+ }, blast.id)), /*#__PURE__*/_jsx(ScoreBoard, {
190
+ offset: offset
191
+ }), /*#__PURE__*/_jsx(GameControlButton, {
192
+ ...gameControlButtonProps
193
+ }), /*#__PURE__*/_jsx(GameOverModal, {
194
+ ...gameOverModalProps
195
+ }), /*#__PURE__*/_jsx(GameSettingsModal, {
196
+ ...gameSettingsModalProps
197
+ })]
198
+ })
199
+ })
200
+ });
201
+ });
202
+ const styles = StyleSheet.create({
203
+ container: {
204
+ flex: 1
205
+ // backgroundColor: DINO_JUMP_COLORS.SKY_BOTTOM,
206
+ }
207
+ });
208
+ DinoJump.displayName = 'DinoJump';
209
+ //# sourceMappingURL=DinoJump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useMemo","useCallback","useRef","View","StyleSheet","GestureHandlerRootView","useDinoJumpStore","useIsPlaying","useIsGameOver","useScore","DinoJumpService","GameBackground","GameArea","ScoreBoard","GameControlButton","GameOverModal","ParticleBlast","GameSettingsModal","GAME_IDS","DEFAULT_GAME_SETTINGS","playSound","GAME_SOUNDS","playHaptic","HapticType","jsx","_jsx","jsxs","_jsxs","DinoJump","memo","settings","onSettingsChange","isPlaying","isGameOver","score","setOffset","state","initializeGame","startGame","stopGame","resetGame","offset","decrementTime","updateDinosaur","updateObstacles","updateClouds","updateStars","updateGround","updateScore","updateSpeed","addObstacle","addCloud","addStar","checkCollisionsAction","checkCollisions","collisionBlasts","removeCollisionBlast","settingsRef","current","difficulty","gameService","startTimer","stopTimer","stopPhysicsLoop","stopObstacleSpawning","stopCloudSpawning","startTimeout","setTimeout","startPhysicsLoop","startObstacleSpawning","startCloudSpawning","startStarSpawning","error","console","clearTimeout","cleanup","handleStartGame","DINO_JUMP","START","enableSounds","MEDIUM","enableHaptics","handleStopGame","handleResetGame","LIGHT","gameControlButtonProps","gameOver","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","gameSettingsModalProps","gameId","style","styles","container","children","map","blast","x","y","particleCount","colors","duration","onComplete","id","create","flex","displayName"],"sourceRoot":"../../../../src","sources":["games/dino-jump/DinoJump.tsx"],"mappings":"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","ignoreList":[]}