react-native-games 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +148 -23
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +5 -8
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/candy-crush/CandyCrush.js +121 -0
  5. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
  6. package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
  7. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
  8. package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
  9. package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
  10. package/lib/module/games/candy-crush/CandyCrushStore.js +305 -0
  11. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
  12. package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
  13. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
  14. package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
  15. package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
  16. package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
  17. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
  18. package/lib/module/games/candy-crush/components/ScoreBoard.js +112 -0
  19. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
  20. package/lib/module/games/candy-crush/components/index.js +7 -0
  21. package/lib/module/games/candy-crush/components/index.js.map +1 -0
  22. package/lib/module/games/candy-crush/index.js +6 -0
  23. package/lib/module/games/candy-crush/index.js.map +1 -0
  24. package/lib/module/games/color-sort/ColorSort.js +130 -0
  25. package/lib/module/games/color-sort/ColorSort.js.map +1 -0
  26. package/lib/module/games/color-sort/ColorSortConstants.js +68 -0
  27. package/lib/module/games/color-sort/ColorSortConstants.js.map +1 -0
  28. package/lib/module/games/color-sort/ColorSortService.js +255 -0
  29. package/lib/module/games/color-sort/ColorSortService.js.map +1 -0
  30. package/lib/module/games/color-sort/ColorSortStore.js +258 -0
  31. package/lib/module/games/color-sort/ColorSortStore.js.map +1 -0
  32. package/lib/module/games/color-sort/components/ColorContainer.js +140 -0
  33. package/lib/module/games/color-sort/components/ColorContainer.js.map +1 -0
  34. package/lib/module/games/color-sort/components/GameBackground.js +135 -0
  35. package/lib/module/games/color-sort/components/GameBackground.js.map +1 -0
  36. package/lib/module/games/color-sort/components/ScoreBoard.js +78 -0
  37. package/lib/module/games/color-sort/components/ScoreBoard.js.map +1 -0
  38. package/lib/module/games/color-sort/components/index.js +6 -0
  39. package/lib/module/games/color-sort/components/index.js.map +1 -0
  40. package/lib/module/games/dino-jump/DinoJump.js +209 -0
  41. package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
  42. package/lib/module/games/dino-jump/DinoJumpConstants.js +179 -0
  43. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
  44. package/lib/module/games/dino-jump/DinoJumpService.js +268 -0
  45. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
  46. package/lib/module/games/dino-jump/DinoJumpStore.js +387 -0
  47. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
  48. package/lib/module/games/dino-jump/components/DinoSprite.js +409 -0
  49. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
  50. package/lib/module/games/dino-jump/components/GameArea.js +68 -0
  51. package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
  52. package/lib/module/games/dino-jump/components/GameBackground.js +421 -0
  53. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
  54. package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
  55. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
  56. package/lib/module/games/dino-jump/components/ScoreBoard.js +107 -0
  57. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
  58. package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
  59. package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
  60. package/lib/module/games/dino-jump/components/index.js +9 -0
  61. package/lib/module/games/dino-jump/components/index.js.map +1 -0
  62. package/lib/module/games/flappy-bird/FlappyBird.js +131 -0
  63. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
  64. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
  65. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
  66. package/lib/module/games/flappy-bird/FlappyBirdStore.js +276 -0
  67. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
  68. package/lib/module/games/flappy-bird/components/Bird.js +87 -0
  69. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
  70. package/lib/module/games/flappy-bird/components/GameArea.js +86 -0
  71. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
  72. package/lib/module/games/flappy-bird/components/GameBackground.js +112 -0
  73. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
  74. package/lib/module/games/flappy-bird/components/Pipes.js +175 -0
  75. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
  76. package/lib/module/games/flappy-bird/components/ScoreBoard.js +72 -0
  77. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
  78. package/lib/module/games/flappy-bird/components/index.js +8 -0
  79. package/lib/module/games/flappy-bird/components/index.js.map +1 -0
  80. package/lib/module/games/fruit-merger/FruitMerger.js +112 -0
  81. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
  82. package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
  83. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
  84. package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
  85. package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
  86. package/lib/module/games/fruit-merger/FruitMergerStore.js +318 -0
  87. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
  88. package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
  89. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
  90. package/lib/module/games/fruit-merger/components/GameArea.js +123 -0
  91. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
  92. package/lib/module/games/fruit-merger/components/GameBackground.js +477 -0
  93. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
  94. package/lib/module/games/fruit-merger/components/ScoreBoard.js +66 -0
  95. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
  96. package/lib/module/games/fruit-merger/components/index.js +7 -0
  97. package/lib/module/games/fruit-merger/components/index.js.map +1 -0
  98. package/lib/module/games/fruit-ninja/FruitNinja.js +6 -9
  99. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  100. package/lib/module/games/game-2048/Game2048.js +120 -0
  101. package/lib/module/games/game-2048/Game2048.js.map +1 -0
  102. package/lib/module/games/game-2048/Game2048Constants.js +263 -0
  103. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
  104. package/lib/module/games/game-2048/Game2048Service.js +457 -0
  105. package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
  106. package/lib/module/games/game-2048/Game2048Store.js +238 -0
  107. package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
  108. package/lib/module/games/game-2048/components/GameBackground.js +247 -0
  109. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
  110. package/lib/module/games/game-2048/components/GameGrid.js +139 -0
  111. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
  112. package/lib/module/games/game-2048/components/GameTile.js +72 -0
  113. package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
  114. package/lib/module/games/game-2048/components/ScoreBoard.js +70 -0
  115. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
  116. package/lib/module/games/game-2048/components/index.js +7 -0
  117. package/lib/module/games/game-2048/components/index.js.map +1 -0
  118. package/lib/module/games/maze-runner/MazeRunner.js +33 -31
  119. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  120. package/lib/module/games/popit-fidget/PopitFidget.js +34 -32
  121. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  122. package/lib/module/games/sliding-numbers/SlidingNumbers.js +161 -0
  123. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
  124. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
  125. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
  126. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
  127. package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
  128. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +275 -0
  129. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
  130. package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
  131. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
  132. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
  133. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
  134. package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
  135. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
  136. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +66 -0
  137. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
  138. package/lib/module/games/sliding-numbers/components/index.js +7 -0
  139. package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
  140. package/lib/module/games/snake/Snake.js +192 -0
  141. package/lib/module/games/snake/Snake.js.map +1 -0
  142. package/lib/module/games/snake/SnakeConstants.js +138 -0
  143. package/lib/module/games/snake/SnakeConstants.js.map +1 -0
  144. package/lib/module/games/snake/SnakeService.js +148 -0
  145. package/lib/module/games/snake/SnakeService.js.map +1 -0
  146. package/lib/module/games/snake/SnakeStore.js +184 -0
  147. package/lib/module/games/snake/SnakeStore.js.map +1 -0
  148. package/lib/module/games/snake/components/GameBackground.js +221 -0
  149. package/lib/module/games/snake/components/GameBackground.js.map +1 -0
  150. package/lib/module/games/snake/components/GameGrid.js +153 -0
  151. package/lib/module/games/snake/components/GameGrid.js.map +1 -0
  152. package/lib/module/games/snake/components/ScoreBoard.js +57 -0
  153. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
  154. package/lib/module/games/snake/components/index.js +6 -0
  155. package/lib/module/games/snake/components/index.js.map +1 -0
  156. package/lib/module/games/snake/index.js +6 -0
  157. package/lib/module/games/snake/index.js.map +1 -0
  158. package/lib/module/games/space-fighter/SpaceFighter.js +7 -10
  159. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  160. package/lib/module/games/whack-a-mole/WhackAMole.js +6 -6
  161. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  162. package/lib/module/index.js +8 -0
  163. package/lib/module/index.js.map +1 -1
  164. package/lib/module/services/GamesConstants.js +58 -2
  165. package/lib/module/services/GamesConstants.js.map +1 -1
  166. package/lib/module/services/GamesService.js +40 -0
  167. package/lib/module/services/GamesService.js.map +1 -1
  168. package/lib/module/services/SoundsService.js +132 -1
  169. package/lib/module/services/SoundsService.js.map +1 -1
  170. package/lib/module/shared/helpers/GameOverModal.js +6 -3
  171. package/lib/module/shared/helpers/GameOverModal.js.map +1 -1
  172. package/lib/module/shared/helpers/GameSettingsModal.js +3 -3
  173. package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -1
  174. package/lib/module/shared/helpers/ParticleBlast.js +3 -2
  175. package/lib/module/shared/helpers/ParticleBlast.js.map +1 -1
  176. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  177. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
  178. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
  179. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
  180. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
  181. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
  182. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
  183. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
  184. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
  185. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
  186. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
  187. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
  188. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
  189. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
  190. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
  191. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +3 -0
  192. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
  193. package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
  194. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
  195. package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
  196. package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
  197. package/lib/typescript/src/games/color-sort/ColorSort.d.ts +4 -0
  198. package/lib/typescript/src/games/color-sort/ColorSort.d.ts.map +1 -0
  199. package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts +52 -0
  200. package/lib/typescript/src/games/color-sort/ColorSortConstants.d.ts.map +1 -0
  201. package/lib/typescript/src/games/color-sort/ColorSortService.d.ts +66 -0
  202. package/lib/typescript/src/games/color-sort/ColorSortService.d.ts.map +1 -0
  203. package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts +48 -0
  204. package/lib/typescript/src/games/color-sort/ColorSortStore.d.ts.map +1 -0
  205. package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts +11 -0
  206. package/lib/typescript/src/games/color-sort/components/ColorContainer.d.ts.map +1 -0
  207. package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts +7 -0
  208. package/lib/typescript/src/games/color-sort/components/GameBackground.d.ts.map +1 -0
  209. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts +3 -0
  210. package/lib/typescript/src/games/color-sort/components/ScoreBoard.d.ts.map +1 -0
  211. package/lib/typescript/src/games/color-sort/components/index.d.ts +4 -0
  212. package/lib/typescript/src/games/color-sort/components/index.d.ts.map +1 -0
  213. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
  214. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
  215. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +95 -0
  216. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
  217. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
  218. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
  219. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
  220. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
  221. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
  222. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
  223. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
  224. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
  225. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +7 -0
  226. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
  227. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
  228. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
  229. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +3 -0
  230. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
  231. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
  232. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
  233. package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
  234. package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
  235. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
  236. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
  237. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
  238. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
  239. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
  240. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
  241. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
  242. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
  243. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
  244. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
  245. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +7 -0
  246. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
  247. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +8 -0
  248. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
  249. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +3 -0
  250. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
  251. package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
  252. package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
  253. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
  254. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
  255. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
  256. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
  257. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
  258. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
  259. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
  260. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
  261. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
  262. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
  263. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
  264. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
  265. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +7 -0
  266. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
  267. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +3 -0
  268. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
  269. package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
  270. package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
  271. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  272. package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
  273. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
  274. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
  275. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
  276. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
  277. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
  278. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
  279. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
  280. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
  281. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
  282. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
  283. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
  284. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
  285. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
  286. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +3 -0
  287. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
  288. package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
  289. package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
  290. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  291. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  292. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
  293. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
  294. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
  295. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
  296. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
  297. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
  298. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
  299. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
  300. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
  301. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
  302. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
  303. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
  304. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
  305. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
  306. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +3 -0
  307. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
  308. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
  309. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
  310. package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
  311. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
  312. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
  313. package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
  314. package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
  315. package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
  316. package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
  317. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
  318. package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
  319. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
  320. package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
  321. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
  322. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +3 -0
  323. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
  324. package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
  325. package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
  326. package/lib/typescript/src/games/snake/index.d.ts +4 -0
  327. package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
  328. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  329. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  330. package/lib/typescript/src/index.d.ts +8 -0
  331. package/lib/typescript/src/index.d.ts.map +1 -1
  332. package/lib/typescript/src/services/GamesConstants.d.ts +156 -0
  333. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  334. package/lib/typescript/src/services/GamesService.d.ts +10 -2
  335. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  336. package/lib/typescript/src/services/SoundsService.d.ts +103 -0
  337. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  338. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts +2 -0
  339. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -1
  340. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -1
  341. package/package.json +1 -1
@@ -0,0 +1,409 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import Animated, { useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
6
+ import { Canvas, Group, RoundedRect, Circle, LinearGradient, vec, Shadow } from '@shopify/react-native-skia';
7
+ import { useDinosaurY, useDinosaurStateValue, useIsPlaying } from "../DinoJumpStore.js";
8
+ import { DINO_JUMP_GAME_CONFIG } from "../DinoJumpConstants.js";
9
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
+ export const DinoSprite = /*#__PURE__*/React.memo(() => {
11
+ const dinosaurY = useDinosaurY();
12
+ const dinosaurState = useDinosaurStateValue();
13
+ const isPlaying = useIsPlaying();
14
+
15
+ // Use refs to avoid recreating shared values on every render
16
+ const animatedY = React.useRef(useSharedValue(47)).current;
17
+ const animatedScale = React.useRef(useSharedValue(1)).current;
18
+
19
+ // Use React state for Canvas animations (Skia doesn't auto-rerender with shared values)
20
+ const [legAnimation, setLegAnimation] = React.useState(0);
21
+ const [bodyBob, setBodyBob] = React.useState(0);
22
+
23
+ // Safety check to prevent crashes
24
+ if (typeof dinosaurY !== 'number' || isNaN(dinosaurY)) {
25
+ return null;
26
+ }
27
+
28
+ // Animate dinosaur position - no spring, direct value for instant response
29
+ React.useEffect(() => {
30
+ animatedY.value = dinosaurY;
31
+ }, [dinosaurY, animatedY]);
32
+
33
+ // Animate running legs and body bobbing - only when game is playing and dinosaur is running
34
+ React.useEffect(() => {
35
+ if (isPlaying && dinosaurState === 'running') {
36
+ const interval = setInterval(() => {
37
+ setLegAnimation(prev => prev === 0 ? 1 : 0);
38
+ // Body bobs up and down slightly while running
39
+ setBodyBob(prev => prev === 0 ? -1.5 : 0);
40
+ }, 150); // Faster leg movement (150ms instead of 200ms)
41
+ return () => clearInterval(interval);
42
+ }
43
+ setLegAnimation(0); // Reset leg position when not running
44
+ setBodyBob(0); // Reset body position
45
+ return undefined;
46
+ }, [isPlaying, dinosaurState]);
47
+
48
+ // No scale animation - keep dinosaur at constant size
49
+ React.useEffect(() => {
50
+ animatedScale.value = 1; // Always 1, no scaling
51
+ }, [dinosaurState, animatedScale]);
52
+ const animatedStyle = useAnimatedStyle(() => ({
53
+ transform: [{
54
+ translateY: -(47 - animatedY.value)
55
+ },
56
+ // When dinosaurY decreases (jumping up), translateY should be negative (move up visually)
57
+ {
58
+ scale: animatedScale.value
59
+ }]
60
+ }));
61
+
62
+ // Memoize the dinosaur render to avoid unnecessary Canvas re-renders
63
+ const renderDinosaur = React.useMemo(() => {
64
+ const {
65
+ DINOSAUR_WIDTH,
66
+ DINOSAUR_HEIGHT
67
+ } = DINO_JUMP_GAME_CONFIG;
68
+ const isDead = dinosaurState === 'dead';
69
+ const legOffset = legAnimation === 0 ? 0 : 6;
70
+ const bob = bodyBob;
71
+ const scale = 1.25;
72
+ const originalHeight = 47;
73
+ return /*#__PURE__*/_jsx(Canvas, {
74
+ style: {
75
+ width: DINOSAUR_WIDTH + 20,
76
+ height: DINOSAUR_HEIGHT + 20
77
+ },
78
+ children: /*#__PURE__*/_jsxs(Group, {
79
+ transform: [{
80
+ scale
81
+ }],
82
+ children: [/*#__PURE__*/_jsxs(Group, {
83
+ transform: [{
84
+ translateY: bob
85
+ }],
86
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
87
+ x: 0,
88
+ y: 18,
89
+ width: 16,
90
+ height: 10,
91
+ r: 5,
92
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
93
+ start: vec(0, 18),
94
+ end: vec(16, 28),
95
+ colors: ['#FF6B35', '#FF8C42', '#FFA500']
96
+ }), /*#__PURE__*/_jsx(Shadow, {
97
+ dx: 2,
98
+ dy: 2,
99
+ blur: 4,
100
+ color: "rgba(0,0,0,0.3)"
101
+ })]
102
+ }), /*#__PURE__*/_jsx(RoundedRect, {
103
+ x: 0,
104
+ y: 22,
105
+ width: 8,
106
+ height: 6,
107
+ r: 3,
108
+ children: /*#__PURE__*/_jsx(LinearGradient, {
109
+ start: vec(0, 22),
110
+ end: vec(8, 28),
111
+ colors: ['#FF8C42', '#FFA500']
112
+ })
113
+ })]
114
+ }), /*#__PURE__*/_jsxs(Group, {
115
+ transform: [{
116
+ translateY: bob
117
+ }],
118
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
119
+ x: 12,
120
+ y: 12,
121
+ width: 26,
122
+ height: 26,
123
+ r: 8,
124
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
125
+ start: vec(12, 12),
126
+ end: vec(38, 38),
127
+ colors: ['#FF6B35', '#FF8C42', '#FFA500', '#FF6B35']
128
+ }), /*#__PURE__*/_jsx(Shadow, {
129
+ dx: 3,
130
+ dy: 3,
131
+ blur: 6,
132
+ color: "rgba(0,0,0,0.4)"
133
+ })]
134
+ }), /*#__PURE__*/_jsx(RoundedRect, {
135
+ x: 16,
136
+ y: 14,
137
+ width: 12,
138
+ height: 12,
139
+ r: 6,
140
+ opacity: 0.4,
141
+ children: /*#__PURE__*/_jsx(LinearGradient, {
142
+ start: vec(16, 14),
143
+ end: vec(28, 26),
144
+ colors: ['#FFFFFF', 'transparent']
145
+ })
146
+ }), /*#__PURE__*/_jsx(RoundedRect, {
147
+ x: 18,
148
+ y: 24,
149
+ width: 16,
150
+ height: 12,
151
+ r: 6,
152
+ opacity: 0.7,
153
+ children: /*#__PURE__*/_jsx(LinearGradient, {
154
+ start: vec(18, 24),
155
+ end: vec(34, 36),
156
+ colors: ['#FFD93D', '#FFC93D']
157
+ })
158
+ })]
159
+ }), /*#__PURE__*/_jsxs(Group, {
160
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
161
+ x: 16,
162
+ y: originalHeight - 10 + legOffset,
163
+ width: 5,
164
+ height: 12 - legOffset,
165
+ r: 2.5,
166
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
167
+ start: vec(16, originalHeight - 10),
168
+ end: vec(21, originalHeight + 2),
169
+ colors: ['#FF6B35', '#FF8C42']
170
+ }), /*#__PURE__*/_jsx(Shadow, {
171
+ dx: 1,
172
+ dy: 1,
173
+ blur: 2,
174
+ color: "rgba(0,0,0,0.3)"
175
+ })]
176
+ }), /*#__PURE__*/_jsx(RoundedRect, {
177
+ x: 14,
178
+ y: originalHeight + 2,
179
+ width: 8,
180
+ height: 4,
181
+ r: 2,
182
+ children: /*#__PURE__*/_jsx(LinearGradient, {
183
+ start: vec(14, originalHeight + 2),
184
+ end: vec(22, originalHeight + 6),
185
+ colors: ['#FFA500', '#FF8C42']
186
+ })
187
+ })]
188
+ }), /*#__PURE__*/_jsxs(Group, {
189
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
190
+ x: 26,
191
+ y: originalHeight - 10 - legOffset,
192
+ width: 5,
193
+ height: 12 + legOffset,
194
+ r: 2.5,
195
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
196
+ start: vec(26, originalHeight - 10),
197
+ end: vec(31, originalHeight + 2),
198
+ colors: ['#FF6B35', '#FF8C42']
199
+ }), /*#__PURE__*/_jsx(Shadow, {
200
+ dx: 1,
201
+ dy: 1,
202
+ blur: 2,
203
+ color: "rgba(0,0,0,0.3)"
204
+ })]
205
+ }), /*#__PURE__*/_jsx(RoundedRect, {
206
+ x: 24,
207
+ y: originalHeight + 2,
208
+ width: 8,
209
+ height: 4,
210
+ r: 2,
211
+ children: /*#__PURE__*/_jsx(LinearGradient, {
212
+ start: vec(24, originalHeight + 2),
213
+ end: vec(32, originalHeight + 6),
214
+ colors: ['#FFA500', '#FF8C42']
215
+ })
216
+ })]
217
+ }), /*#__PURE__*/_jsxs(Group, {
218
+ transform: [{
219
+ translateY: bob
220
+ }],
221
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
222
+ x: 32,
223
+ y: 8,
224
+ width: 8,
225
+ height: 12,
226
+ r: 4,
227
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
228
+ start: vec(32, 8),
229
+ end: vec(40, 20),
230
+ colors: ['#FF6B35', '#FF8C42']
231
+ }), /*#__PURE__*/_jsx(Shadow, {
232
+ dx: 2,
233
+ dy: 2,
234
+ blur: 3,
235
+ color: "rgba(0,0,0,0.3)"
236
+ })]
237
+ }), /*#__PURE__*/_jsxs(RoundedRect, {
238
+ x: 36,
239
+ y: 4,
240
+ width: 18,
241
+ height: 16,
242
+ r: 8,
243
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
244
+ start: vec(36, 4),
245
+ end: vec(54, 20),
246
+ colors: ['#FF6B35', '#FF8C42', '#FFA500']
247
+ }), /*#__PURE__*/_jsx(Shadow, {
248
+ dx: 3,
249
+ dy: 3,
250
+ blur: 5,
251
+ color: "rgba(0,0,0,0.4)"
252
+ })]
253
+ }), /*#__PURE__*/_jsx(RoundedRect, {
254
+ x: 40,
255
+ y: 6,
256
+ width: 8,
257
+ height: 6,
258
+ r: 4,
259
+ opacity: 0.5,
260
+ children: /*#__PURE__*/_jsx(LinearGradient, {
261
+ start: vec(40, 6),
262
+ end: vec(48, 12),
263
+ colors: ['#FFFFFF', 'transparent']
264
+ })
265
+ }), /*#__PURE__*/_jsxs(RoundedRect, {
266
+ x: 50,
267
+ y: 10,
268
+ width: 8,
269
+ height: 8,
270
+ r: 4,
271
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
272
+ start: vec(50, 10),
273
+ end: vec(58, 18),
274
+ colors: ['#FFA500', '#FF8C42']
275
+ }), /*#__PURE__*/_jsx(Shadow, {
276
+ dx: 2,
277
+ dy: 2,
278
+ blur: 3,
279
+ color: "rgba(0,0,0,0.3)"
280
+ })]
281
+ }), /*#__PURE__*/_jsx(Circle, {
282
+ cx: 54,
283
+ cy: 14,
284
+ r: 1.5,
285
+ color: "#8B4513",
286
+ opacity: 0.6
287
+ }), /*#__PURE__*/_jsx(Circle, {
288
+ cx: 46,
289
+ cy: 10,
290
+ r: 3,
291
+ color: "#000000",
292
+ children: /*#__PURE__*/_jsx(Shadow, {
293
+ dx: 0,
294
+ dy: 0,
295
+ blur: 2,
296
+ color: "rgba(0,0,0,0.5)"
297
+ })
298
+ }), isDead ? /*#__PURE__*/_jsxs(_Fragment, {
299
+ children: [/*#__PURE__*/_jsx(Circle, {
300
+ cx: 45,
301
+ cy: 9,
302
+ r: 1,
303
+ color: "#FF0000"
304
+ }), /*#__PURE__*/_jsx(Circle, {
305
+ cx: 47,
306
+ cy: 11,
307
+ r: 1,
308
+ color: "#FF0000"
309
+ }), /*#__PURE__*/_jsx(Circle, {
310
+ cx: 47,
311
+ cy: 9,
312
+ r: 1,
313
+ color: "#FF0000"
314
+ }), /*#__PURE__*/_jsx(Circle, {
315
+ cx: 45,
316
+ cy: 11,
317
+ r: 1,
318
+ color: "#FF0000"
319
+ })]
320
+ }) : /*#__PURE__*/_jsx(_Fragment, {
321
+ children: /*#__PURE__*/_jsx(Circle, {
322
+ cx: 46.5,
323
+ cy: 9.5,
324
+ r: 1,
325
+ color: "#FFFFFF",
326
+ opacity: 0.8
327
+ })
328
+ }), /*#__PURE__*/_jsxs(Group, {
329
+ children: [/*#__PURE__*/_jsx(RoundedRect, {
330
+ x: 28,
331
+ y: 20,
332
+ width: 3,
333
+ height: 8,
334
+ r: 1.5,
335
+ children: /*#__PURE__*/_jsx(LinearGradient, {
336
+ start: vec(28, 20),
337
+ end: vec(31, 28),
338
+ colors: ['#FF6B35', '#FF8C42']
339
+ })
340
+ }), /*#__PURE__*/_jsx(Circle, {
341
+ cx: 29.5,
342
+ cy: 28,
343
+ r: 1.5,
344
+ children: /*#__PURE__*/_jsx(LinearGradient, {
345
+ start: vec(28, 27),
346
+ end: vec(31, 29),
347
+ colors: ['#FFA500', '#FF8C42']
348
+ })
349
+ })]
350
+ }), /*#__PURE__*/_jsxs(Group, {
351
+ children: [/*#__PURE__*/_jsx(Circle, {
352
+ cx: 20,
353
+ cy: 12,
354
+ r: 2.5,
355
+ color: "#32CD32",
356
+ opacity: 0.8,
357
+ children: /*#__PURE__*/_jsx(Shadow, {
358
+ dx: 1,
359
+ dy: 1,
360
+ blur: 2,
361
+ color: "rgba(0,0,0,0.3)"
362
+ })
363
+ }), /*#__PURE__*/_jsx(Circle, {
364
+ cx: 26,
365
+ cy: 10,
366
+ r: 3,
367
+ color: "#32CD32",
368
+ opacity: 0.8,
369
+ children: /*#__PURE__*/_jsx(Shadow, {
370
+ dx: 1,
371
+ dy: 1,
372
+ blur: 2,
373
+ color: "rgba(0,0,0,0.3)"
374
+ })
375
+ }), /*#__PURE__*/_jsx(Circle, {
376
+ cx: 32,
377
+ cy: 10,
378
+ r: 2.5,
379
+ color: "#32CD32",
380
+ opacity: 0.8,
381
+ children: /*#__PURE__*/_jsx(Shadow, {
382
+ dx: 1,
383
+ dy: 1,
384
+ blur: 2,
385
+ color: "rgba(0,0,0,0.3)"
386
+ })
387
+ })]
388
+ })]
389
+ })]
390
+ })
391
+ });
392
+ }, [dinosaurState, legAnimation, bodyBob]);
393
+ return /*#__PURE__*/_jsx(Animated.View, {
394
+ style: [styles.container, animatedStyle],
395
+ children: renderDinosaur
396
+ });
397
+ });
398
+ const styles = StyleSheet.create({
399
+ container: {
400
+ position: 'absolute',
401
+ width: DINO_JUMP_GAME_CONFIG.DINOSAUR_WIDTH + 20,
402
+ height: DINO_JUMP_GAME_CONFIG.DINOSAUR_HEIGHT + 20,
403
+ left: DINO_JUMP_GAME_CONFIG.DINOSAUR_X - 10,
404
+ // Position dinosaur at same ground level as obstacles
405
+ top: DINO_JUMP_GAME_CONFIG.SCREEN_HEIGHT - DINO_JUMP_GAME_CONFIG.GROUND_HEIGHT - (DINO_JUMP_GAME_CONFIG.DINOSAUR_HEIGHT + 20) - 2
406
+ }
407
+ });
408
+ DinoSprite.displayName = 'DinoSprite';
409
+ //# sourceMappingURL=DinoSprite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","useSharedValue","Canvas","Group","RoundedRect","Circle","LinearGradient","vec","Shadow","useDinosaurY","useDinosaurStateValue","useIsPlaying","DINO_JUMP_GAME_CONFIG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DinoSprite","memo","dinosaurY","dinosaurState","isPlaying","animatedY","useRef","current","animatedScale","legAnimation","setLegAnimation","useState","bodyBob","setBodyBob","isNaN","useEffect","value","interval","setInterval","prev","clearInterval","undefined","animatedStyle","transform","translateY","scale","renderDinosaur","useMemo","DINOSAUR_WIDTH","DINOSAUR_HEIGHT","isDead","legOffset","bob","originalHeight","style","width","height","children","x","y","r","start","end","colors","dx","dy","blur","color","opacity","cx","cy","View","styles","container","create","position","left","DINOSAUR_X","top","SCREEN_HEIGHT","GROUND_HEIGHT","displayName"],"sourceRoot":"../../../../../src","sources":["games/dino-jump/components/DinoSprite.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useCallback, useRef } from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import { GestureDetector, Gesture } from 'react-native-gesture-handler';
6
+ import { useDinoJumpStore, useIsPlaying, useIsGameOver } from "../DinoJumpStore.js";
7
+ import { DinoSprite } from "./DinoSprite.js";
8
+ import { ObstacleSprite } from "./ObstacleSprite.js";
9
+ import { StarSprite } from "./StarSprite.js";
10
+ import { playSound, GAME_SOUNDS } from "../../../services/SoundsService.js";
11
+ import { playHaptic, HapticType } from "../../../services/HapticsService.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export const GameArea = /*#__PURE__*/React.memo(({
14
+ settings
15
+ }) => {
16
+ const isPlaying = useIsPlaying();
17
+ const isGameOver = useIsGameOver();
18
+ const jump = useDinoJumpStore(state => state.jump);
19
+
20
+ // Use ref to keep settings stable
21
+ const settingsRef = useRef(settings);
22
+ settingsRef.current = settings;
23
+
24
+ // Gesture handler - only for jumping during gameplay
25
+ const handleTapGesture = useCallback(() => {
26
+ try {
27
+ // Only handle jumps when game is actively playing
28
+ if (isPlaying && !isGameOver && jump) {
29
+ requestAnimationFrame(() => {
30
+ try {
31
+ jump();
32
+ playSound(GAME_SOUNDS.SWOOSH, settingsRef.current.enableSounds);
33
+ playHaptic(HapticType.LIGHT, settingsRef.current.enableHaptics);
34
+ } catch (error) {
35
+ console.error('Jump execution error:', error);
36
+ }
37
+ });
38
+ }
39
+ // Do nothing if game is not playing - let buttons handle start/restart
40
+ } catch (error) {
41
+ console.error('Tap gesture handler error:', error);
42
+ }
43
+ }, [isPlaying, isGameOver, jump]);
44
+
45
+ // Simple tap gesture for jumping
46
+ const tapGesture = useMemo(() => Gesture.Tap().runOnJS(true) // Run on JS thread to fix gesture handler warning
47
+ .onStart(handleTapGesture), [handleTapGesture]);
48
+ return /*#__PURE__*/_jsx(GestureDetector, {
49
+ gesture: tapGesture,
50
+ children: /*#__PURE__*/_jsxs(View, {
51
+ style: styles.gameArea,
52
+ children: [/*#__PURE__*/_jsx(DinoSprite, {}), /*#__PURE__*/_jsx(StarSprite, {}), /*#__PURE__*/_jsx(ObstacleSprite, {})]
53
+ })
54
+ });
55
+ }, (prevProps, nextProps) => {
56
+ // Custom comparison - only re-render if settings reference changes
57
+ return prevProps.settings === nextProps.settings;
58
+ });
59
+ const styles = StyleSheet.create({
60
+ gameArea: {
61
+ flex: 1,
62
+ paddingTop: 80,
63
+ // Space for scoreboard
64
+ paddingBottom: 120 // Space for control button
65
+ }
66
+ });
67
+ GameArea.displayName = 'GameArea';
68
+ //# sourceMappingURL=GameArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useCallback","useRef","View","StyleSheet","GestureDetector","Gesture","useDinoJumpStore","useIsPlaying","useIsGameOver","DinoSprite","ObstacleSprite","StarSprite","playSound","GAME_SOUNDS","playHaptic","HapticType","jsx","_jsx","jsxs","_jsxs","GameArea","memo","settings","isPlaying","isGameOver","jump","state","settingsRef","current","handleTapGesture","requestAnimationFrame","SWOOSH","enableSounds","LIGHT","enableHaptics","error","console","tapGesture","Tap","runOnJS","onStart","gesture","children","style","styles","gameArea","prevProps","nextProps","create","flex","paddingTop","paddingBottom","displayName"],"sourceRoot":"../../../../../src","sources":["games/dino-jump/components/GameArea.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAC3D,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,eAAe,EAAEC,OAAO,QAAQ,8BAA8B;AACvE,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,aAAa,QAAQ,qBAAkB;AAChF,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,SAAS,EAAEC,WAAW,QAAQ,oCAAiC;AACxE,SAASC,UAAU,EAAEC,UAAU,QAAQ,qCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO1E,OAAO,MAAMC,QAAiC,gBAAGtB,KAAK,CAACuB,IAAI,CAAC,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC5E,MAAMC,SAAS,GAAGhB,YAAY,CAAC,CAAC;EAChC,MAAMiB,UAAU,GAAGhB,aAAa,CAAC,CAAC;EAClC,MAAMiB,IAAI,GAAGnB,gBAAgB,CAACoB,KAAK,IAAIA,KAAK,CAACD,IAAI,CAAC;;EAElD;EACA,MAAME,WAAW,GAAG1B,MAAM,CAACqB,QAAQ,CAAC;EACpCK,WAAW,CAACC,OAAO,GAAGN,QAAQ;;EAE9B;EACA,MAAMO,gBAAgB,GAAG7B,WAAW,CAAC,MAAM;IACzC,IAAI;MACF;MACA,IAAIuB,SAAS,IAAI,CAACC,UAAU,IAAIC,IAAI,EAAE;QACpCK,qBAAqB,CAAC,MAAM;UAC1B,IAAI;YACFL,IAAI,CAAC,CAAC;YACNb,SAAS,CAACC,WAAW,CAACkB,MAAM,EAAEJ,WAAW,CAACC,OAAO,CAACI,YAAY,CAAC;YAC/DlB,UAAU,CAACC,UAAU,CAACkB,KAAK,EAAEN,WAAW,CAACC,OAAO,CAACM,aAAa,CAAC;UACjE,CAAC,CAAC,OAAOC,KAAK,EAAE;YACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;UAC/C;QACF,CAAC,CAAC;MACJ;MACA;IACF,CAAC,CAAC,OAAOA,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;IACpD;EACF,CAAC,EAAE,CAACZ,SAAS,EAAEC,UAAU,EAAEC,IAAI,CAAC,CAAC;;EAEjC;EACA,MAAMY,UAAU,GAAGtC,OAAO,CAAC,MACzBM,OAAO,CAACiC,GAAG,CAAC,CAAC,CACVC,OAAO,CAAC,IAAI,CAAC,CAAC;EAAA,CACdC,OAAO,CAACX,gBAAgB,CAAC,EAC5B,CAACA,gBAAgB,CAAC,CAAC;EAErB,oBACEZ,IAAA,CAACb,eAAe;IAACqC,OAAO,EAAEJ,UAAW;IAAAK,QAAA,eACnCvB,KAAA,CAACjB,IAAI;MAACyC,KAAK,EAAEC,MAAM,CAACC,QAAS;MAAAH,QAAA,gBAE3BzB,IAAA,CAACR,UAAU,IAAE,CAAC,eAGdQ,IAAA,CAACN,UAAU,IAAE,CAAC,eAGdM,IAAA,CAACP,cAAc,IAAE,CAAC;IAAA,CACd;EAAC,CACQ,CAAC;AAEtB,CAAC,EAAE,CAACoC,SAAS,EAAEC,SAAS,KAAK;EAC3B;EACA,OAAOD,SAAS,CAACxB,QAAQ,KAAKyB,SAAS,CAACzB,QAAQ;AAClD,CAAC,CAAC;AAEF,MAAMsB,MAAM,GAAGzC,UAAU,CAAC6C,MAAM,CAAC;EAC/BH,QAAQ,EAAE;IACRI,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,EAAE;IAAE;IAChBC,aAAa,EAAE,GAAG,CAAE;EACtB;AACF,CAAC,CAAC;AAEF/B,QAAQ,CAACgC,WAAW,GAAG,UAAU","ignoreList":[]}