react-native-games 1.1.0 → 1.3.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 (419) hide show
  1. package/README.md +101 -30
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -167
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -182
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -318
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -183
  8. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -237
  9. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -156
  10. package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -476
  11. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -112
  12. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  13. package/lib/module/games/balloon-blaster/components/index.js +1 -7
  14. package/lib/module/games/bike-racing/BikeRacing.js +1 -0
  15. package/lib/module/games/bike-racing/BikeRacing.js.map +1 -0
  16. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -0
  17. package/lib/module/games/bike-racing/BikeRacingConstants.js.map +1 -0
  18. package/lib/module/games/bike-racing/BikeRacingService.js +1 -0
  19. package/lib/module/games/bike-racing/BikeRacingService.js.map +1 -0
  20. package/lib/module/games/bike-racing/BikeRacingStore.js +1 -0
  21. package/lib/module/games/bike-racing/BikeRacingStore.js.map +1 -0
  22. package/lib/module/games/bike-racing/components/BikeComponent.js +1 -0
  23. package/lib/module/games/bike-racing/components/BikeComponent.js.map +1 -0
  24. package/lib/module/games/bike-racing/components/GameBackground.js +1 -0
  25. package/lib/module/games/bike-racing/components/GameBackground.js.map +1 -0
  26. package/lib/module/games/bike-racing/components/ScoreBoard.js +1 -0
  27. package/lib/module/games/bike-racing/components/ScoreBoard.js.map +1 -0
  28. package/lib/module/games/bike-racing/components/index.js +1 -0
  29. package/lib/module/games/bike-racing/components/index.js.map +1 -0
  30. package/lib/module/games/bike-racing/index.js +1 -0
  31. package/lib/module/games/bike-racing/index.js.map +1 -0
  32. package/lib/module/games/block-blast/BlockBlast.js +1 -0
  33. package/lib/module/games/block-blast/BlockBlast.js.map +1 -0
  34. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -0
  35. package/lib/module/games/block-blast/BlockBlastConstants.js.map +1 -0
  36. package/lib/module/games/block-blast/BlockBlastService.js +1 -0
  37. package/lib/module/games/block-blast/BlockBlastService.js.map +1 -0
  38. package/lib/module/games/block-blast/BlockBlastStore.js +1 -0
  39. package/lib/module/games/block-blast/BlockBlastStore.js.map +1 -0
  40. package/lib/module/games/block-blast/components/BlockPieceComponent.js +1 -0
  41. package/lib/module/games/block-blast/components/BlockPieceComponent.js.map +1 -0
  42. package/lib/module/games/block-blast/components/GameArea.js +1 -0
  43. package/lib/module/games/block-blast/components/GameArea.js.map +1 -0
  44. package/lib/module/games/block-blast/components/GameBackground.js +1 -0
  45. package/lib/module/games/block-blast/components/GameBackground.js.map +1 -0
  46. package/lib/module/games/block-blast/components/GridComponent.js +1 -0
  47. package/lib/module/games/block-blast/components/GridComponent.js.map +1 -0
  48. package/lib/module/games/block-blast/components/ScoreBoard.js +1 -0
  49. package/lib/module/games/block-blast/components/ScoreBoard.js.map +1 -0
  50. package/lib/module/games/block-blast/components/index.js +1 -0
  51. package/lib/module/games/block-blast/components/index.js.map +1 -0
  52. package/lib/module/games/block-blast/index.js +1 -0
  53. package/lib/module/games/block-blast/index.js.map +1 -0
  54. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -0
  55. package/lib/module/games/bubble-shooter/BubbleShooter.js.map +1 -0
  56. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -0
  57. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js.map +1 -0
  58. package/lib/module/games/bubble-shooter/BubbleShooterService.js +1 -0
  59. package/lib/module/games/bubble-shooter/BubbleShooterService.js.map +1 -0
  60. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +1 -0
  61. package/lib/module/games/bubble-shooter/BubbleShooterStore.js.map +1 -0
  62. package/lib/module/games/bubble-shooter/components/GameArea.js +1 -0
  63. package/lib/module/games/bubble-shooter/components/GameArea.js.map +1 -0
  64. package/lib/module/games/bubble-shooter/components/GameBackground.js +1 -0
  65. package/lib/module/games/bubble-shooter/components/GameBackground.js.map +1 -0
  66. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +1 -0
  67. package/lib/module/games/bubble-shooter/components/ScoreBoard.js.map +1 -0
  68. package/lib/module/games/bubble-shooter/components/index.js +1 -0
  69. package/lib/module/games/bubble-shooter/components/index.js.map +1 -0
  70. package/lib/module/games/bubble-shooter/index.js +1 -0
  71. package/lib/module/games/bubble-shooter/index.js.map +1 -0
  72. package/lib/module/games/candy-crush/CandyCrush.js +1 -131
  73. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  74. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -125
  75. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -1
  76. package/lib/module/games/candy-crush/CandyCrushService.js +1 -370
  77. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -303
  78. package/lib/module/games/candy-crush/components/CandyItem.js +1 -191
  79. package/lib/module/games/candy-crush/components/GameBackground.js +1 -85
  80. package/lib/module/games/candy-crush/components/GameGrid.js +1 -314
  81. package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -79
  82. package/lib/module/games/candy-crush/components/index.js +1 -7
  83. package/lib/module/games/candy-crush/index.js +1 -6
  84. package/lib/module/games/car-racing/CarRacing.js +1 -0
  85. package/lib/module/games/car-racing/CarRacing.js.map +1 -0
  86. package/lib/module/games/car-racing/CarRacingConstants.js +1 -0
  87. package/lib/module/games/car-racing/CarRacingConstants.js.map +1 -0
  88. package/lib/module/games/car-racing/CarRacingService.js +1 -0
  89. package/lib/module/games/car-racing/CarRacingService.js.map +1 -0
  90. package/lib/module/games/car-racing/CarRacingStore.js +1 -0
  91. package/lib/module/games/car-racing/CarRacingStore.js.map +1 -0
  92. package/lib/module/games/car-racing/components/CarComponent.js +1 -0
  93. package/lib/module/games/car-racing/components/CarComponent.js.map +1 -0
  94. package/lib/module/games/car-racing/components/GameBackground.js +1 -0
  95. package/lib/module/games/car-racing/components/GameBackground.js.map +1 -0
  96. package/lib/module/games/car-racing/components/ScoreBoard.js +1 -0
  97. package/lib/module/games/car-racing/components/ScoreBoard.js.map +1 -0
  98. package/lib/module/games/car-racing/components/index.js +1 -0
  99. package/lib/module/games/car-racing/components/index.js.map +1 -0
  100. package/lib/module/games/colors-sort/ColorsSort.js +1 -143
  101. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  102. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -72
  103. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  104. package/lib/module/games/colors-sort/ColorsSortService.js +1 -255
  105. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -257
  106. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  107. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -140
  108. package/lib/module/games/colors-sort/components/GameBackground.js +1 -135
  109. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -70
  110. package/lib/module/games/colors-sort/components/index.js +1 -6
  111. package/lib/module/games/dino-jump/DinoJump.js +1 -209
  112. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  113. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -189
  114. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  115. package/lib/module/games/dino-jump/DinoJumpService.js +1 -270
  116. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -381
  117. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -418
  118. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  119. package/lib/module/games/dino-jump/components/GameArea.js +1 -68
  120. package/lib/module/games/dino-jump/components/GameBackground.js +1 -444
  121. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -306
  122. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -105
  123. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  124. package/lib/module/games/dino-jump/components/StarSprite.js +1 -45
  125. package/lib/module/games/dino-jump/components/index.js +1 -9
  126. package/lib/module/games/flappy-bird/FlappyBird.js +1 -126
  127. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  128. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -90
  129. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  130. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -300
  131. package/lib/module/games/flappy-bird/components/Bird.js +1 -87
  132. package/lib/module/games/flappy-bird/components/GameArea.js +1 -87
  133. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -79
  134. package/lib/module/games/flappy-bird/components/Pipes.js +1 -172
  135. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -73
  136. package/lib/module/games/flappy-bird/components/index.js +1 -8
  137. package/lib/module/games/fruit-merger/FruitMerger.js +1 -120
  138. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  139. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -119
  140. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  141. package/lib/module/games/fruit-merger/FruitMergerService.js +1 -13
  142. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -315
  143. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -102
  144. package/lib/module/games/fruit-merger/components/GameArea.js +1 -103
  145. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -498
  146. package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -58
  147. package/lib/module/games/fruit-merger/components/index.js +1 -7
  148. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -134
  149. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  150. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -148
  151. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  152. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -311
  153. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -191
  154. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  155. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -99
  156. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -215
  157. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1267
  158. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -92
  159. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  160. package/lib/module/games/fruit-ninja/components/index.js +1 -7
  161. package/lib/module/games/game-2048/Game2048.js +1 -149
  162. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  163. package/lib/module/games/game-2048/Game2048Constants.js +1 -263
  164. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -1
  165. package/lib/module/games/game-2048/Game2048Service.js +1 -457
  166. package/lib/module/games/game-2048/Game2048Store.js +1 -236
  167. package/lib/module/games/game-2048/components/GameBackground.js +1 -247
  168. package/lib/module/games/game-2048/components/GameGrid.js +1 -139
  169. package/lib/module/games/game-2048/components/GameTile.js +1 -72
  170. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -52
  171. package/lib/module/games/game-2048/components/index.js +1 -7
  172. package/lib/module/games/maze-runner/MazeRunner.js +1 -267
  173. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  174. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -100
  175. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  176. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -586
  177. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -150
  178. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -370
  179. package/lib/module/games/maze-runner/components/GameBackground.js +1 -175
  180. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -61
  181. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -209
  182. package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -169
  183. package/lib/module/games/maze-runner/components/WallComponent.js +1 -91
  184. package/lib/module/games/maze-runner/components/index.js +1 -8
  185. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -0
  186. package/lib/module/games/perfect-circle/PerfectCircle.js.map +1 -0
  187. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -0
  188. package/lib/module/games/perfect-circle/PerfectCircleConstants.js.map +1 -0
  189. package/lib/module/games/perfect-circle/PerfectCircleService.js +1 -0
  190. package/lib/module/games/perfect-circle/PerfectCircleService.js.map +1 -0
  191. package/lib/module/games/perfect-circle/PerfectCircleStore.js +1 -0
  192. package/lib/module/games/perfect-circle/PerfectCircleStore.js.map +1 -0
  193. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +1 -0
  194. package/lib/module/games/perfect-circle/components/DrawingCanvas.js.map +1 -0
  195. package/lib/module/games/perfect-circle/components/GameBackground.js +1 -0
  196. package/lib/module/games/perfect-circle/components/GameBackground.js.map +1 -0
  197. package/lib/module/games/perfect-circle/components/ScoreBoard.js +1 -0
  198. package/lib/module/games/perfect-circle/components/ScoreBoard.js.map +1 -0
  199. package/lib/module/games/perfect-circle/index.js +1 -0
  200. package/lib/module/games/perfect-circle/index.js.map +1 -0
  201. package/lib/module/games/popit-fidget/PopitFidget.js +1 -285
  202. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  203. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -113
  204. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
  205. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -132
  206. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -125
  207. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -198
  208. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -165
  209. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -177
  210. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -61
  211. package/lib/module/games/popit-fidget/components/index.js +1 -7
  212. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -159
  213. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  214. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -207
  215. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -1
  216. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -248
  217. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -274
  218. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -259
  219. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -174
  220. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -116
  221. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -64
  222. package/lib/module/games/sliding-numbers/components/index.js +1 -7
  223. package/lib/module/games/snake/Snake.js +1 -189
  224. package/lib/module/games/snake/Snake.js.map +1 -1
  225. package/lib/module/games/snake/SnakeConstants.js +1 -138
  226. package/lib/module/games/snake/SnakeConstants.js.map +1 -1
  227. package/lib/module/games/snake/SnakeService.js +1 -148
  228. package/lib/module/games/snake/SnakeStore.js +1 -182
  229. package/lib/module/games/snake/SnakeStore.js.map +1 -1
  230. package/lib/module/games/snake/components/GameBackground.js +1 -221
  231. package/lib/module/games/snake/components/GameGrid.js +1 -153
  232. package/lib/module/games/snake/components/ScoreBoard.js +1 -51
  233. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -1
  234. package/lib/module/games/snake/components/index.js +1 -6
  235. package/lib/module/games/snake/index.js +1 -6
  236. package/lib/module/games/space-fighter/SpaceFighter.js +1 -165
  237. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  238. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -108
  239. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  240. package/lib/module/games/space-fighter/SpaceFighterService.js +1 -326
  241. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -209
  242. package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -113
  243. package/lib/module/games/space-fighter/components/GameArea.js +1 -289
  244. package/lib/module/games/space-fighter/components/GameBackground.js +1 -239
  245. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -136
  246. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -202
  247. package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -52
  248. package/lib/module/games/space-fighter/components/index.js +1 -9
  249. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -270
  250. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  251. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -115
  252. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  253. package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -120
  254. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -172
  255. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -477
  256. package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -97
  257. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -196
  258. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -241
  259. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -67
  260. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  261. package/lib/module/games/whack-a-mole/components/index.js +1 -8
  262. package/lib/module/helpers/AnimationFrame.js +1 -120
  263. package/lib/module/helpers/AnimationTracker.js +1 -89
  264. package/lib/module/helpers/ErrorHandler.js +1 -269
  265. package/lib/module/helpers/GameControlButton.js +1 -219
  266. package/lib/module/helpers/GameOverModal.js +1 -144
  267. package/lib/module/helpers/GameOverModal.js.map +1 -1
  268. package/lib/module/helpers/GameSettingsModal.js +1 -287
  269. package/lib/module/helpers/GameSettingsModal.js.map +1 -1
  270. package/lib/module/helpers/ParticleBlast.js +1 -134
  271. package/lib/module/helpers/ScoreBoardContainer.js +1 -34
  272. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -1
  273. package/lib/module/helpers/index.js +1 -12
  274. package/lib/module/index.js +1 -22
  275. package/lib/module/index.js.map +1 -1
  276. package/lib/module/services/GamesConstants.js +1 -178
  277. package/lib/module/services/GamesConstants.js.map +1 -1
  278. package/lib/module/services/GamesService.js +1 -112
  279. package/lib/module/services/GamesService.js.map +1 -1
  280. package/lib/module/services/HapticsService.js +1 -77
  281. package/lib/module/services/ScoringService.js +1 -0
  282. package/lib/module/services/ScoringService.js.map +1 -0
  283. package/lib/module/services/SoundsService.js +1 -302
  284. package/lib/module/services/SoundsService.js.map +1 -1
  285. package/lib/module/services/UtilsService.js +1 -32
  286. package/lib/module/services/UtilsService.js.map +1 -1
  287. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  288. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +1 -1
  289. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  290. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +4 -0
  291. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts.map +1 -0
  292. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +76 -0
  293. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts.map +1 -0
  294. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +22 -0
  295. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts.map +1 -0
  296. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +72 -0
  297. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts.map +1 -0
  298. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +12 -0
  299. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts.map +1 -0
  300. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +9 -0
  301. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts.map +1 -0
  302. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +7 -0
  303. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts.map +1 -0
  304. package/lib/typescript/src/games/bike-racing/components/index.d.ts +4 -0
  305. package/lib/typescript/src/games/bike-racing/components/index.d.ts.map +1 -0
  306. package/lib/typescript/src/games/bike-racing/index.d.ts +5 -0
  307. package/lib/typescript/src/games/bike-racing/index.d.ts.map +1 -0
  308. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +4 -0
  309. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts.map +1 -0
  310. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +82 -0
  311. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts.map +1 -0
  312. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +17 -0
  313. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts.map +1 -0
  314. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +62 -0
  315. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts.map +1 -0
  316. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +14 -0
  317. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts.map +1 -0
  318. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +12 -0
  319. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts.map +1 -0
  320. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts +7 -0
  321. package/lib/typescript/src/games/block-blast/components/GameBackground.d.ts.map +1 -0
  322. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +17 -0
  323. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts.map +1 -0
  324. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +7 -0
  325. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts.map +1 -0
  326. package/lib/typescript/src/games/block-blast/components/index.d.ts +6 -0
  327. package/lib/typescript/src/games/block-blast/components/index.d.ts.map +1 -0
  328. package/lib/typescript/src/games/block-blast/index.d.ts +5 -0
  329. package/lib/typescript/src/games/block-blast/index.d.ts.map +1 -0
  330. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +4 -0
  331. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts.map +1 -0
  332. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +61 -0
  333. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts.map +1 -0
  334. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +26 -0
  335. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts.map +1 -0
  336. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +62 -0
  337. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts.map +1 -0
  338. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +9 -0
  339. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts.map +1 -0
  340. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts +8 -0
  341. package/lib/typescript/src/games/bubble-shooter/components/GameBackground.d.ts.map +1 -0
  342. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +7 -0
  343. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts.map +1 -0
  344. package/lib/typescript/src/games/bubble-shooter/components/index.d.ts +4 -0
  345. package/lib/typescript/src/games/bubble-shooter/components/index.d.ts.map +1 -0
  346. package/lib/typescript/src/games/bubble-shooter/index.d.ts +3 -0
  347. package/lib/typescript/src/games/bubble-shooter/index.d.ts.map +1 -0
  348. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -1
  349. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +7 -7
  350. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +4 -0
  351. package/lib/typescript/src/games/car-racing/CarRacing.d.ts.map +1 -0
  352. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +76 -0
  353. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts.map +1 -0
  354. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +22 -0
  355. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts.map +1 -0
  356. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +72 -0
  357. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts.map +1 -0
  358. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +13 -0
  359. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts.map +1 -0
  360. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +9 -0
  361. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts.map +1 -0
  362. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +7 -0
  363. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts.map +1 -0
  364. package/lib/typescript/src/games/car-racing/components/index.d.ts +4 -0
  365. package/lib/typescript/src/games/car-racing/components/index.d.ts.map +1 -0
  366. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  367. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  368. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  369. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  370. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  371. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  372. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  373. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  374. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  375. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  376. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  377. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  378. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +4 -0
  379. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts.map +1 -0
  380. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +81 -0
  381. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts.map +1 -0
  382. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +14 -0
  383. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts.map +1 -0
  384. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +40 -0
  385. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts.map +1 -0
  386. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +9 -0
  387. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts.map +1 -0
  388. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts +8 -0
  389. package/lib/typescript/src/games/perfect-circle/components/GameBackground.d.ts.map +1 -0
  390. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +7 -0
  391. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts.map +1 -0
  392. package/lib/typescript/src/games/perfect-circle/index.d.ts +3 -0
  393. package/lib/typescript/src/games/perfect-circle/index.d.ts.map +1 -0
  394. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  395. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  396. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -1
  397. package/lib/typescript/src/games/snake/SnakeStore.d.ts +4 -0
  398. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -1
  399. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -1
  400. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  401. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  402. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +1 -1
  403. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  404. package/lib/typescript/src/helpers/GameOverModal.d.ts +3 -0
  405. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -1
  406. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -1
  407. package/lib/typescript/src/index.d.ts +6 -1
  408. package/lib/typescript/src/index.d.ts.map +1 -1
  409. package/lib/typescript/src/services/GamesConstants.d.ts +57 -7
  410. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  411. package/lib/typescript/src/services/GamesService.d.ts +2 -1
  412. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  413. package/lib/typescript/src/services/ScoringService.d.ts +2 -0
  414. package/lib/typescript/src/services/ScoringService.d.ts.map +1 -0
  415. package/lib/typescript/src/services/SoundsService.d.ts +88 -0
  416. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  417. package/lib/typescript/src/services/UtilsService.d.ts +12 -1
  418. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -1
  419. package/package.json +2 -2
@@ -1,140 +1 @@
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
1
+ "use strict";import React,{useMemo}from 'react';import{TouchableOpacity,View,StyleSheet}from 'react-native';import Animated,{useAnimatedStyle,withTiming}from 'react-native-reanimated';import{COLORS_SORT_COLORS,COLORS_SORT_GAME_CONFIG}from "../ColorsSortConstants.js";import{getPieceHeight}from "../ColorsSortService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const AnimatedPiece = React.memo(({piece,isTopPiece,isSelected,marginTop,size,height})=>{const pieceAnimatedStyle = useAnimatedStyle(()=>({transform:[{translateY:withTiming(isSelected && isTopPiece ? -15:0,{duration:200})}]}),[isSelected,isTopPiece]);return _jsx(Animated.View,{style:[{marginTop},isTopPiece && pieceAnimatedStyle],children:_jsxs(View,{style:[styles.piece,{backgroundColor:piece.color,width:size,height}],children:[_jsx(View,{style:styles.pieceShine}),_jsx(View,{style:styles.pieceDepth})]})});});AnimatedPiece.displayName = 'AnimatedPiece';export const ColorContainer = React.memo(({container,isSelected,onPress,difficulty})=>{const{PIECE_SIZE,PIECE_SPACING}= COLORS_SORT_GAME_CONFIG;const pieceHeight = useMemo(()=> getPieceHeight(difficulty,PIECE_SIZE),[difficulty,PIECE_SIZE]);const containerStyle = useMemo(()=> [styles.container,{borderWidth:isSelected ? 3:2,borderColor:isSelected ? COLORS_SORT_COLORS.BUTTON_PRIMARY:COLORS_SORT_COLORS.BASE_DARK}],[isSelected]);return _jsx(TouchableOpacity,{onPress:onPress,activeOpacity:0.7,children:_jsx(View,{style:containerStyle,children:_jsx(View,{style:styles.pieceStack,children:[...container.pieces].reverse().map((piece,index)=> _jsx(AnimatedPiece,{piece:piece,isTopPiece:index === 0,isSelected:isSelected,marginTop:index === 0 ? 0:PIECE_SPACING,size:70,height:pieceHeight},piece.id))})})});});ColorContainer.displayName = 'ColorContainer';const styles = StyleSheet.create({container:{alignItems:'center',justifyContent:'flex-end',width:80,height:225,borderRadius:15,backgroundColor:'rgba(192,192,192,0.6)',paddingHorizontal:5,paddingTop:10,paddingBottom:5,shadowColor:'#000',shadowOffset:{width:0,height:4},shadowOpacity:0.3,shadowRadius:5,elevation:5},pieceStack:{alignItems:'center',justifyContent:'flex-end',flex:1},piece:{borderRadius:10,borderLeftWidth:2,borderRightWidth:2,borderBottomWidth:2,borderTopWidth:0,borderColor:'rgba(0,0,0,0.3)',overflow:'hidden',shadowColor:'#000',shadowOffset:{width:0,height:3},shadowOpacity:0.4,shadowRadius:4,elevation:5},pieceShine:{position:'absolute',top:2,left:2,right:'50%',height:'30%',backgroundColor:'rgba(255,255,255,0.3)',borderRadius:6},pieceDepth:{position:'absolute',bottom:0,left:0,right:0,height:4,backgroundColor:'rgba(0,0,0,0.2)'}});
@@ -1,135 +1 @@
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
1
+ "use strict";import React,{useMemo}from 'react';import{View,Dimensions}from 'react-native';import{Canvas,LinearGradient,Rect,vec,Circle,RoundedRect}from '@shopify/react-native-skia';import{generateFloatingBlocks,getDecorativeBlocks,getDecorativeCircles,getGradientColors}from "../ColorsSortService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');export const GameBackground = React.memo(({children})=>{const floatingBlocks = useMemo(()=> generateFloatingBlocks(),[]);const decorativeBlocks = useMemo(()=> getDecorativeBlocks(),[]);const decorativeCircles = useMemo(()=> getDecorativeCircles(),[]);const gradients = useMemo(()=> getGradientColors(),[]);const renderFloatingBlocks = useMemo(()=>{return floatingBlocks.map(block =>{if(block.type === 'square'){return _jsx(RoundedRect,{x:block.x,y:block.y,width:block.size,height:block.size,r:block.size * 0.2,color:block.color},block.key);}else if(block.type === 'rect'){return _jsx(RoundedRect,{x:block.x,y:block.y,width:block.size * 0.6,height:block.size,r:block.size * 0.15,color:block.color},block.key);}else if(block.type === 'wide'){return _jsx(RoundedRect,{x:block.x,y:block.y,width:block.size * 1.2,height:block.size * 0.8,r:block.size * 0.1,color:block.color},block.key);}else{return _jsx(Circle,{cx:block.x + block.size / 2,cy:block.y + block.size / 2,r:block.size / 2,color:block.color},block.key);}});},[floatingBlocks]);return _jsxs(View,{style:{flex:1},children:[_jsxs(Canvas,{style:{position:'absolute',top:0,left:0,right:0,bottom:0,width,height},children:[_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(width,height),colors:gradients.main})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(width / 2,height / 2),colors:gradients.overlay})}),_jsx(Rect,{x:0,y:0,width:width,height:height,children:_jsx(LinearGradient,{start:vec(width,0),end:vec(0,height),colors:gradients.diagonal})}),renderFloatingBlocks,decorativeBlocks.map(block => _jsx(RoundedRect,{x:block.x,y:block.y,width:block.size,height:block.size,r:block.r,color:block.color},block.key)),decorativeCircles.map(circle => _jsx(Circle,{cx:circle.cx,cy:circle.cy,r:circle.r,color:circle.color},circle.key)),Array.from({length:Math.floor(width / 60)},(_,i)=> _jsx(Rect,{x:i * 60,y:0,width:1,height:height,color:"rgba(255,255,255,0.05)"},`grid-v-${i}`)),Array.from({length:Math.floor(height / 60)},(_,i)=> _jsx(Rect,{x:0,y:i * 60,width:width,height:1,color:"rgba(255,255,255,0.05)"},`grid-h-${i}`))]}),children]});});GameBackground.displayName = 'GameBackground';
@@ -1,70 +1 @@
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
1
+ "use strict";import React,{useMemo}from 'react';import{View,Text,StyleSheet}from 'react-native';import{useTime}from "../ColorsSortStore.js";import{COLORS_SORT_COLORS}from "../ColorsSortConstants.js";import{formatTime}from "../ColorsSortService.js";import{ScoreBoardContainer}from "../../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const ScoreBoard = React.memo(({offset = 0})=>{const time = useTime();const formattedTime = useMemo(()=> formatTime(time),[time]);return _jsx(ScoreBoardContainer,{offset:offset,backgroundColor:COLORS_SORT_COLORS.SCORE_BACKGROUND,borderColor:COLORS_SORT_COLORS.SCORE_BORDER,children:_jsx(View,{style:styles.scoreBoard,children:_jsxs(View,{style:styles.scoreItem,children:[_jsx(Text,{style:styles.scoreLabel,children:"TIME"}),_jsx(Text,{style:styles.scoreValue,children:formattedTime})]})})});});const styles = StyleSheet.create({scoreBoard:{flexDirection:'row',justifyContent:'space-around',alignItems:'center'},scoreItem:{alignItems:'center',flex:1},scoreLabel:{fontSize:16,fontWeight:'700',color:COLORS_SORT_COLORS.SCORE_TEXT,marginBottom:4,letterSpacing:1,textShadowColor:'rgba(0,0,0,0.5)',textShadowOffset:{width:1,height:1},textShadowRadius:2},scoreValue:{fontSize:25,fontWeight:'900',color:COLORS_SORT_COLORS.SCORE_TEXT,textShadowColor:'rgba(0,0,0,0.8)',textShadowOffset:{width:1,height:1},textShadowRadius:2}});ScoreBoard.displayName = 'ScoreBoard';
@@ -1,6 +1 @@
1
- "use strict";
2
-
3
- export * from "./ColorContainer.js";
4
- export * from "./ScoreBoard.js";
5
- export * from "./GameBackground.js";
6
- //# sourceMappingURL=index.js.map
1
+ "use strict";export * from "./ColorContainer.js";export * from "./ScoreBoard.js";export * from "./GameBackground.js";
@@ -1,209 +1 @@
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
1
+ "use strict";import React,{useEffect,useMemo,useCallback,useRef}from 'react';import{View,StyleSheet}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{useDinoJumpStore,useIsPlaying,useIsGameOver,useScore,useLives}from "./DinoJumpStore.js";import{DinoJumpService}from "./DinoJumpService.js";import{GameBackground,GameArea,ScoreBoard}from "./components/index.js";import{GameControlButton,GameOverModal,ParticleBlast}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/index.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{playSound,GAME_SOUNDS}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const DinoJump = React.memo(({settings = DEFAULT_GAME_SETTINGS,onSettingsChange,onEndGame})=>{const isPlaying = useIsPlaying();const isGameOver = useIsGameOver();const score = useScore();const lives = useLives();const gameReportedRef = useRef(false);const reportGameEnd = useCallback(status =>{if(onEndGame && !gameReportedRef.current){onEndGame({status,score:score.toString()});gameReportedRef.current = true;}},[onEndGame,score]);const setOffset = useDinoJumpStore(state => state.setOffset);const initializeGame = useDinoJumpStore(state => state.initializeGame);const startGame = useDinoJumpStore(state => state.startGame);const stopGame = useDinoJumpStore(state => state.stopGame);const resetGame = useDinoJumpStore(state => state.resetGame);const offset = settings?.offset ?? 0;useEffect(()=>{setOffset(offset);},[offset,setOffset]);const decrementTime = useDinoJumpStore(state => state.decrementTime);const updateDinosaur = useDinoJumpStore(state => state.updateDinosaur);const updateObstacles = useDinoJumpStore(state => state.updateObstacles);const updateClouds = useDinoJumpStore(state => state.updateClouds);const updateStars = useDinoJumpStore(state => state.updateStars);const updateGround = useDinoJumpStore(state => state.updateGround);const updateScore = useDinoJumpStore(state => state.updateScore);const updateSpeed = useDinoJumpStore(state => state.updateSpeed);const addObstacle = useDinoJumpStore(state => state.addObstacle);const addCloud = useDinoJumpStore(state => state.addCloud);const addStar = useDinoJumpStore(state => state.addStar);const checkCollisionsAction = useDinoJumpStore(state => state.checkCollisions);const collisionBlasts = useDinoJumpStore(state => state.collisionBlasts);const removeCollisionBlast = useDinoJumpStore(state => state.removeCollisionBlast);const settingsRef = useRef(settings);settingsRef.current = settings;const checkCollisions = useCallback(()=> checkCollisionsAction(settingsRef.current),[checkCollisionsAction]);const difficulty = settings.difficulty;const gameService = useMemo(()=> new DinoJumpService(),[]);useEffect(()=>{initializeGame(difficulty);},[difficulty,initializeGame]);useEffect(()=>{if(isPlaying){gameService.startTimer(()=>{decrementTime();});}else{gameService.stopTimer();}return()=>{gameService.stopTimer();};},[isPlaying,gameService,decrementTime]);useEffect(()=>{gameService.stopPhysicsLoop();gameService.stopObstacleSpawning();gameService.stopCloudSpawning();if(isPlaying && !isGameOver){const startTimeout = setTimeout(()=>{try{gameService.startPhysicsLoop(updateDinosaur,updateObstacles,updateClouds,updateStars,updateGround,updateScore,updateSpeed,checkCollisions,stopGame);gameService.startObstacleSpawning(addObstacle,difficulty,()=> offset);gameService.startCloudSpawning(addCloud);gameService.startStarSpawning(addStar,()=> offset);}catch(error){console.error('Failed to start game loops:',error);stopGame();}},50);return()=>{clearTimeout(startTimeout);gameService.stopPhysicsLoop();gameService.stopObstacleSpawning();gameService.stopCloudSpawning();};}return()=>{gameService.stopPhysicsLoop();gameService.stopObstacleSpawning();gameService.stopCloudSpawning();};},[isPlaying,isGameOver,gameService,updateDinosaur,updateObstacles,updateClouds,updateStars,updateGround,updateScore,updateSpeed,checkCollisions,stopGame,addObstacle,addCloud,addStar,difficulty]);useEffect(()=>{if(isGameOver && !gameReportedRef.current){const status = lives > 0 ? 'win':'lose';reportGameEnd(status);}if(!isGameOver){gameReportedRef.current = false;}},[isGameOver,lives,reportGameEnd]);useEffect(()=>{return()=>{gameService.cleanup();};},[gameService]);const handleStartGame = useCallback(()=>{gameReportedRef.current = false;startGame();playSound(GAME_SOUNDS.DINO_JUMP.START,settingsRef.current.enableSounds);playHaptic(HapticType.MEDIUM,settingsRef.current.enableHaptics);},[startGame]);const handleStopGame = useCallback(()=>{reportGameEnd('cancel');stopGame();},[stopGame,reportGameEnd]);const handleResetGame = useCallback(()=>{resetGame();initializeGame(difficulty);playHaptic(HapticType.LIGHT,settingsRef.current.enableHaptics);},[resetGame,initializeGame,difficulty]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver:isGameOver,onStartGame:handleStartGame,onStopGame:handleStopGame,startButtonText:"START RUNNING",stopButtonText:"STOP GAME",startButtonSubtext:"Tap to jump over cacti!",stopButtonSubtext:"End current game",startButtonColor:"#FF6347",stopButtonColor:"#dc2626",startButtonBorderColor:"#FF4500",stopButtonBorderColor:"#f87171"}),[isPlaying,isGameOver,handleStartGame,handleStopGame]);const gameOverModalProps = useMemo(()=>({isVisible:isGameOver,score,onPlayAgain:handleResetGame,buttonText:"Run Again!",primaryColor:"rgba(255,99,71,0.5)",borderColor:"rgba(255,99,71,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#FF6347"}),[isGameOver,score,handleResetGame]);const gameSettingsModalProps = useMemo(()=>({gameId:GAME_IDS.DINO_JUMP,settings,onSettingsChange}),[settings,onSettingsChange]);return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(GameBackground,{offset:offset,children:[_jsx(GameArea,{settings:settings}),collisionBlasts.map(blast => _jsx(ParticleBlast,{x:blast.x,y:blast.y,particleCount:15,colors:['#FF6B35','#FFA500','#FFD700','#FF8C42','#32CD32'],duration:800,onComplete:()=> removeCollisionBlast(blast.id)},blast.id)),_jsx(ScoreBoard,{offset:offset}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{...gameSettingsModalProps})]})})});});const styles = StyleSheet.create({container:{flex:1}});DinoJump.displayName = 'DinoJump';
@@ -1 +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":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useCallback","useRef","View","StyleSheet","GestureHandlerRootView","useDinoJumpStore","useIsPlaying","useIsGameOver","useScore","useLives","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","onEndGame","isPlaying","isGameOver","score","lives","gameReportedRef","reportGameEnd","status","current","toString","setOffset","state","initializeGame","startGame","stopGame","resetGame","offset","decrementTime","updateDinosaur","updateObstacles","updateClouds","updateStars","updateGround","updateScore","updateSpeed","addObstacle","addCloud","addStar","checkCollisionsAction","checkCollisions","collisionBlasts","removeCollisionBlast","settingsRef","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","buttonTextColor","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":[]}