react-native-games 0.7.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/README.md +507 -84
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +13 -21
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -1
  5. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -1
  6. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  7. package/lib/module/games/balloon-blaster/components/GameBackground.js +24 -17
  8. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  9. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +47 -47
  10. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  11. package/lib/module/games/candy-crush/CandyCrush.js +131 -0
  12. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -0
  13. package/lib/module/games/candy-crush/CandyCrushConstants.js +125 -0
  14. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -0
  15. package/lib/module/games/candy-crush/CandyCrushService.js +370 -0
  16. package/lib/module/games/candy-crush/CandyCrushService.js.map +1 -0
  17. package/lib/module/games/candy-crush/CandyCrushStore.js +303 -0
  18. package/lib/module/games/candy-crush/CandyCrushStore.js.map +1 -0
  19. package/lib/module/games/candy-crush/components/CandyItem.js +191 -0
  20. package/lib/module/games/candy-crush/components/CandyItem.js.map +1 -0
  21. package/lib/module/games/candy-crush/components/GameBackground.js +85 -0
  22. package/lib/module/games/candy-crush/components/GameBackground.js.map +1 -0
  23. package/lib/module/games/candy-crush/components/GameGrid.js +314 -0
  24. package/lib/module/games/candy-crush/components/GameGrid.js.map +1 -0
  25. package/lib/module/games/candy-crush/components/ScoreBoard.js +79 -0
  26. package/lib/module/games/candy-crush/components/ScoreBoard.js.map +1 -0
  27. package/lib/module/games/candy-crush/components/index.js +7 -0
  28. package/lib/module/games/candy-crush/components/index.js.map +1 -0
  29. package/lib/module/games/candy-crush/index.js +6 -0
  30. package/lib/module/games/candy-crush/index.js.map +1 -0
  31. package/lib/module/games/colors-sort/ColorsSort.js +143 -0
  32. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -0
  33. package/lib/module/games/colors-sort/ColorsSortConstants.js +72 -0
  34. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -0
  35. package/lib/module/games/colors-sort/ColorsSortService.js +255 -0
  36. package/lib/module/games/colors-sort/ColorsSortService.js.map +1 -0
  37. package/lib/module/games/colors-sort/ColorsSortStore.js +257 -0
  38. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -0
  39. package/lib/module/games/colors-sort/components/ColorContainer.js +140 -0
  40. package/lib/module/games/colors-sort/components/ColorContainer.js.map +1 -0
  41. package/lib/module/games/colors-sort/components/GameBackground.js +135 -0
  42. package/lib/module/games/colors-sort/components/GameBackground.js.map +1 -0
  43. package/lib/module/games/colors-sort/components/ScoreBoard.js +70 -0
  44. package/lib/module/games/colors-sort/components/ScoreBoard.js.map +1 -0
  45. package/lib/module/games/colors-sort/components/index.js +6 -0
  46. package/lib/module/games/colors-sort/components/index.js.map +1 -0
  47. package/lib/module/games/dino-jump/DinoJump.js +209 -0
  48. package/lib/module/games/dino-jump/DinoJump.js.map +1 -0
  49. package/lib/module/games/dino-jump/DinoJumpConstants.js +189 -0
  50. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -0
  51. package/lib/module/games/dino-jump/DinoJumpService.js +270 -0
  52. package/lib/module/games/dino-jump/DinoJumpService.js.map +1 -0
  53. package/lib/module/games/dino-jump/DinoJumpStore.js +381 -0
  54. package/lib/module/games/dino-jump/DinoJumpStore.js.map +1 -0
  55. package/lib/module/games/dino-jump/components/DinoSprite.js +418 -0
  56. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -0
  57. package/lib/module/games/dino-jump/components/GameArea.js +68 -0
  58. package/lib/module/games/dino-jump/components/GameArea.js.map +1 -0
  59. package/lib/module/games/dino-jump/components/GameBackground.js +444 -0
  60. package/lib/module/games/dino-jump/components/GameBackground.js.map +1 -0
  61. package/lib/module/games/dino-jump/components/ObstacleSprite.js +306 -0
  62. package/lib/module/games/dino-jump/components/ObstacleSprite.js.map +1 -0
  63. package/lib/module/games/dino-jump/components/ScoreBoard.js +105 -0
  64. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -0
  65. package/lib/module/games/dino-jump/components/StarSprite.js +45 -0
  66. package/lib/module/games/dino-jump/components/StarSprite.js.map +1 -0
  67. package/lib/module/games/dino-jump/components/index.js +9 -0
  68. package/lib/module/games/dino-jump/components/index.js.map +1 -0
  69. package/lib/module/games/flappy-bird/FlappyBird.js +126 -0
  70. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -0
  71. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +90 -0
  72. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -0
  73. package/lib/module/games/flappy-bird/FlappyBirdStore.js +300 -0
  74. package/lib/module/games/flappy-bird/FlappyBirdStore.js.map +1 -0
  75. package/lib/module/games/flappy-bird/components/Bird.js +87 -0
  76. package/lib/module/games/flappy-bird/components/Bird.js.map +1 -0
  77. package/lib/module/games/flappy-bird/components/GameArea.js +87 -0
  78. package/lib/module/games/flappy-bird/components/GameArea.js.map +1 -0
  79. package/lib/module/games/flappy-bird/components/GameBackground.js +79 -0
  80. package/lib/module/games/flappy-bird/components/GameBackground.js.map +1 -0
  81. package/lib/module/games/flappy-bird/components/Pipes.js +172 -0
  82. package/lib/module/games/flappy-bird/components/Pipes.js.map +1 -0
  83. package/lib/module/games/flappy-bird/components/ScoreBoard.js +73 -0
  84. package/lib/module/games/flappy-bird/components/ScoreBoard.js.map +1 -0
  85. package/lib/module/games/flappy-bird/components/index.js +8 -0
  86. package/lib/module/games/flappy-bird/components/index.js.map +1 -0
  87. package/lib/module/games/fruit-merger/FruitMerger.js +120 -0
  88. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -0
  89. package/lib/module/games/fruit-merger/FruitMergerConstants.js +119 -0
  90. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -0
  91. package/lib/module/games/fruit-merger/FruitMergerService.js +13 -0
  92. package/lib/module/games/fruit-merger/FruitMergerService.js.map +1 -0
  93. package/lib/module/games/fruit-merger/FruitMergerStore.js +315 -0
  94. package/lib/module/games/fruit-merger/FruitMergerStore.js.map +1 -0
  95. package/lib/module/games/fruit-merger/components/FruitItem.js +102 -0
  96. package/lib/module/games/fruit-merger/components/FruitItem.js.map +1 -0
  97. package/lib/module/games/fruit-merger/components/GameArea.js +103 -0
  98. package/lib/module/games/fruit-merger/components/GameArea.js.map +1 -0
  99. package/lib/module/games/fruit-merger/components/GameBackground.js +498 -0
  100. package/lib/module/games/fruit-merger/components/GameBackground.js.map +1 -0
  101. package/lib/module/games/fruit-merger/components/ScoreBoard.js +58 -0
  102. package/lib/module/games/fruit-merger/components/ScoreBoard.js.map +1 -0
  103. package/lib/module/games/fruit-merger/components/index.js +7 -0
  104. package/lib/module/games/fruit-merger/components/index.js.map +1 -0
  105. package/lib/module/games/fruit-ninja/FruitNinja.js +14 -22
  106. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  107. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -1
  108. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -1
  109. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  110. package/lib/module/games/fruit-ninja/components/GameBackground.js +70 -45
  111. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  112. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +47 -46
  113. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  114. package/lib/module/games/game-2048/Game2048.js +149 -0
  115. package/lib/module/games/game-2048/Game2048.js.map +1 -0
  116. package/lib/module/games/game-2048/Game2048Constants.js +263 -0
  117. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -0
  118. package/lib/module/games/game-2048/Game2048Service.js +457 -0
  119. package/lib/module/games/game-2048/Game2048Service.js.map +1 -0
  120. package/lib/module/games/game-2048/Game2048Store.js +236 -0
  121. package/lib/module/games/game-2048/Game2048Store.js.map +1 -0
  122. package/lib/module/games/game-2048/components/GameBackground.js +247 -0
  123. package/lib/module/games/game-2048/components/GameBackground.js.map +1 -0
  124. package/lib/module/games/game-2048/components/GameGrid.js +139 -0
  125. package/lib/module/games/game-2048/components/GameGrid.js.map +1 -0
  126. package/lib/module/games/game-2048/components/GameTile.js +72 -0
  127. package/lib/module/games/game-2048/components/GameTile.js.map +1 -0
  128. package/lib/module/games/game-2048/components/ScoreBoard.js +52 -0
  129. package/lib/module/games/game-2048/components/ScoreBoard.js.map +1 -0
  130. package/lib/module/games/game-2048/components/index.js +7 -0
  131. package/lib/module/games/game-2048/components/index.js.map +1 -0
  132. package/lib/module/games/maze-runner/MazeRunner.js +51 -41
  133. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  134. package/lib/module/games/maze-runner/MazeRunnerService.js +19 -17
  135. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  136. package/lib/module/games/maze-runner/components/ScoreBoard.js +32 -42
  137. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  138. package/lib/module/games/popit-fidget/PopitFidget.js +57 -66
  139. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  140. package/lib/module/games/popit-fidget/PopitFidgetStore.js +6 -44
  141. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  142. package/lib/module/games/popit-fidget/components/ScoreBoard.js +31 -45
  143. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  144. package/lib/module/games/sliding-numbers/SlidingNumbers.js +159 -0
  145. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -0
  146. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +207 -0
  147. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -0
  148. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +248 -0
  149. package/lib/module/games/sliding-numbers/SlidingNumbersService.js.map +1 -0
  150. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +274 -0
  151. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js.map +1 -0
  152. package/lib/module/games/sliding-numbers/components/GameBackground.js +259 -0
  153. package/lib/module/games/sliding-numbers/components/GameBackground.js.map +1 -0
  154. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +174 -0
  155. package/lib/module/games/sliding-numbers/components/NumbersGrid.js.map +1 -0
  156. package/lib/module/games/sliding-numbers/components/NumbersTile.js +116 -0
  157. package/lib/module/games/sliding-numbers/components/NumbersTile.js.map +1 -0
  158. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +64 -0
  159. package/lib/module/games/sliding-numbers/components/ScoreBoard.js.map +1 -0
  160. package/lib/module/games/sliding-numbers/components/index.js +7 -0
  161. package/lib/module/games/sliding-numbers/components/index.js.map +1 -0
  162. package/lib/module/games/snake/Snake.js +189 -0
  163. package/lib/module/games/snake/Snake.js.map +1 -0
  164. package/lib/module/games/snake/SnakeConstants.js +138 -0
  165. package/lib/module/games/snake/SnakeConstants.js.map +1 -0
  166. package/lib/module/games/snake/SnakeService.js +148 -0
  167. package/lib/module/games/snake/SnakeService.js.map +1 -0
  168. package/lib/module/games/snake/SnakeStore.js +182 -0
  169. package/lib/module/games/snake/SnakeStore.js.map +1 -0
  170. package/lib/module/games/snake/components/GameBackground.js +221 -0
  171. package/lib/module/games/snake/components/GameBackground.js.map +1 -0
  172. package/lib/module/games/snake/components/GameGrid.js +153 -0
  173. package/lib/module/games/snake/components/GameGrid.js.map +1 -0
  174. package/lib/module/games/snake/components/ScoreBoard.js +51 -0
  175. package/lib/module/games/snake/components/ScoreBoard.js.map +1 -0
  176. package/lib/module/games/snake/components/index.js +6 -0
  177. package/lib/module/games/snake/components/index.js.map +1 -0
  178. package/lib/module/games/snake/index.js +6 -0
  179. package/lib/module/games/snake/index.js.map +1 -0
  180. package/lib/module/games/space-fighter/SpaceFighter.js +22 -26
  181. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  182. package/lib/module/games/space-fighter/SpaceFighterService.js +7 -6
  183. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  184. package/lib/module/games/space-fighter/SpaceFighterStore.js +25 -11
  185. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  186. package/lib/module/games/space-fighter/components/GameArea.js +1 -7
  187. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  188. package/lib/module/games/space-fighter/components/ScoreBoard.js +47 -48
  189. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  190. package/lib/module/games/whack-a-mole/WhackAMole.js +17 -10
  191. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  192. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -1
  193. package/lib/module/games/whack-a-mole/components/GameBackground.js +37 -30
  194. package/lib/module/games/whack-a-mole/components/GameBackground.js.map +1 -1
  195. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +32 -38
  196. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  197. package/lib/module/helpers/AnimationFrame.js.map +1 -0
  198. package/lib/module/helpers/AnimationTracker.js.map +1 -0
  199. package/lib/module/helpers/ErrorHandler.js.map +1 -0
  200. package/lib/module/helpers/GameControlButton.js.map +1 -0
  201. package/lib/module/{shared/helpers → helpers}/GameOverModal.js +6 -3
  202. package/lib/module/helpers/GameOverModal.js.map +1 -0
  203. package/lib/module/{shared/helpers → helpers}/GameSettingsModal.js +5 -5
  204. package/lib/module/helpers/GameSettingsModal.js.map +1 -0
  205. package/lib/module/{shared/helpers → helpers}/ParticleBlast.js +3 -2
  206. package/lib/module/helpers/ParticleBlast.js.map +1 -0
  207. package/lib/module/helpers/ScoreBoardContainer.js +34 -0
  208. package/lib/module/helpers/ScoreBoardContainer.js.map +1 -0
  209. package/lib/module/{shared/helpers → helpers}/index.js +1 -1
  210. package/lib/module/helpers/index.js.map +1 -0
  211. package/lib/module/index.js +9 -0
  212. package/lib/module/index.js.map +1 -1
  213. package/lib/module/services/GamesConstants.js +100 -5
  214. package/lib/module/services/GamesConstants.js.map +1 -1
  215. package/lib/module/services/GamesService.js +108 -42
  216. package/lib/module/services/GamesService.js.map +1 -1
  217. package/lib/module/services/SoundsService.js +132 -1
  218. package/lib/module/services/SoundsService.js.map +1 -1
  219. package/lib/module/services/UtilsService.js +32 -0
  220. package/lib/module/services/UtilsService.js.map +1 -0
  221. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -1
  222. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  223. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +1 -0
  224. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  225. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +5 -1
  226. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  227. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +4 -0
  228. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts.map +1 -0
  229. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +104 -0
  230. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts.map +1 -0
  231. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +40 -0
  232. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts.map +1 -0
  233. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +48 -0
  234. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts.map +1 -0
  235. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +13 -0
  236. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts.map +1 -0
  237. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts +5 -0
  238. package/lib/typescript/src/games/candy-crush/components/GameBackground.d.ts.map +1 -0
  239. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +3 -0
  240. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts.map +1 -0
  241. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +6 -0
  242. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts.map +1 -0
  243. package/lib/typescript/src/games/candy-crush/components/index.d.ts +5 -0
  244. package/lib/typescript/src/games/candy-crush/components/index.d.ts.map +1 -0
  245. package/lib/typescript/src/games/candy-crush/index.d.ts +4 -0
  246. package/lib/typescript/src/games/candy-crush/index.d.ts.map +1 -0
  247. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +4 -0
  248. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -0
  249. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +54 -0
  250. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts.map +1 -0
  251. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +66 -0
  252. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts.map +1 -0
  253. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +48 -0
  254. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -0
  255. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +11 -0
  256. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts.map +1 -0
  257. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts +7 -0
  258. package/lib/typescript/src/games/colors-sort/components/GameBackground.d.ts.map +1 -0
  259. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +7 -0
  260. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts.map +1 -0
  261. package/lib/typescript/src/games/colors-sort/components/index.d.ts +4 -0
  262. package/lib/typescript/src/games/colors-sort/components/index.d.ts.map +1 -0
  263. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +4 -0
  264. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -0
  265. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +97 -0
  266. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts.map +1 -0
  267. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +40 -0
  268. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts.map +1 -0
  269. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +103 -0
  270. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts.map +1 -0
  271. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +3 -0
  272. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -0
  273. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +8 -0
  274. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts.map +1 -0
  275. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +8 -0
  276. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts.map +1 -0
  277. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +3 -0
  278. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts.map +1 -0
  279. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +7 -0
  280. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts.map +1 -0
  281. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +3 -0
  282. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts.map +1 -0
  283. package/lib/typescript/src/games/dino-jump/components/index.d.ts +7 -0
  284. package/lib/typescript/src/games/dino-jump/components/index.d.ts.map +1 -0
  285. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +4 -0
  286. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -0
  287. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +83 -0
  288. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -0
  289. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +53 -0
  290. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts.map +1 -0
  291. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +8 -0
  292. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts.map +1 -0
  293. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +8 -0
  294. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts.map +1 -0
  295. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +8 -0
  296. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts.map +1 -0
  297. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +9 -0
  298. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts.map +1 -0
  299. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +7 -0
  300. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts.map +1 -0
  301. package/lib/typescript/src/games/flappy-bird/components/index.d.ts +6 -0
  302. package/lib/typescript/src/games/flappy-bird/components/index.d.ts.map +1 -0
  303. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +4 -0
  304. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -0
  305. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +115 -0
  306. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -0
  307. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +5 -0
  308. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts.map +1 -0
  309. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +43 -0
  310. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts.map +1 -0
  311. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +10 -0
  312. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts.map +1 -0
  313. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +8 -0
  314. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts.map +1 -0
  315. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts +8 -0
  316. package/lib/typescript/src/games/fruit-merger/components/GameBackground.d.ts.map +1 -0
  317. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +7 -0
  318. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts.map +1 -0
  319. package/lib/typescript/src/games/fruit-merger/components/index.d.ts +5 -0
  320. package/lib/typescript/src/games/fruit-merger/components/index.d.ts.map +1 -0
  321. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -1
  322. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  323. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +1 -0
  324. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  325. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +5 -1
  326. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  327. package/lib/typescript/src/games/game-2048/Game2048.d.ts +4 -0
  328. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -0
  329. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +163 -0
  330. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts.map +1 -0
  331. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +113 -0
  332. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts.map +1 -0
  333. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +48 -0
  334. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts.map +1 -0
  335. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts +7 -0
  336. package/lib/typescript/src/games/game-2048/components/GameBackground.d.ts.map +1 -0
  337. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +7 -0
  338. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts.map +1 -0
  339. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts +13 -0
  340. package/lib/typescript/src/games/game-2048/components/GameTile.d.ts.map +1 -0
  341. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +7 -0
  342. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts.map +1 -0
  343. package/lib/typescript/src/games/game-2048/components/index.d.ts +5 -0
  344. package/lib/typescript/src/games/game-2048/components/index.d.ts.map +1 -0
  345. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -1
  346. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  347. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +1 -0
  348. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  349. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +1 -0
  350. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  351. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -1
  352. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  353. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +2 -5
  354. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  355. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  356. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  357. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +4 -0
  358. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -0
  359. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +108 -0
  360. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts.map +1 -0
  361. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +34 -0
  362. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts.map +1 -0
  363. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +56 -0
  364. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts.map +1 -0
  365. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts +7 -0
  366. package/lib/typescript/src/games/sliding-numbers/components/GameBackground.d.ts.map +1 -0
  367. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +7 -0
  368. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts.map +1 -0
  369. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts +11 -0
  370. package/lib/typescript/src/games/sliding-numbers/components/NumbersTile.d.ts.map +1 -0
  371. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +7 -0
  372. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts.map +1 -0
  373. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts +5 -0
  374. package/lib/typescript/src/games/sliding-numbers/components/index.d.ts.map +1 -0
  375. package/lib/typescript/src/games/snake/Snake.d.ts +4 -0
  376. package/lib/typescript/src/games/snake/Snake.d.ts.map +1 -0
  377. package/lib/typescript/src/games/snake/SnakeConstants.d.ts +93 -0
  378. package/lib/typescript/src/games/snake/SnakeConstants.d.ts.map +1 -0
  379. package/lib/typescript/src/games/snake/SnakeService.d.ts +30 -0
  380. package/lib/typescript/src/games/snake/SnakeService.d.ts.map +1 -0
  381. package/lib/typescript/src/games/snake/SnakeStore.d.ts +43 -0
  382. package/lib/typescript/src/games/snake/SnakeStore.d.ts.map +1 -0
  383. package/lib/typescript/src/games/snake/components/GameBackground.d.ts +5 -0
  384. package/lib/typescript/src/games/snake/components/GameBackground.d.ts.map +1 -0
  385. package/lib/typescript/src/games/snake/components/GameGrid.d.ts +3 -0
  386. package/lib/typescript/src/games/snake/components/GameGrid.d.ts.map +1 -0
  387. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts +7 -0
  388. package/lib/typescript/src/games/snake/components/ScoreBoard.d.ts.map +1 -0
  389. package/lib/typescript/src/games/snake/components/index.d.ts +4 -0
  390. package/lib/typescript/src/games/snake/components/index.d.ts.map +1 -0
  391. package/lib/typescript/src/games/snake/index.d.ts +4 -0
  392. package/lib/typescript/src/games/snake/index.d.ts.map +1 -0
  393. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -1
  394. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  395. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  396. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +2 -0
  397. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  398. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  399. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +5 -1
  400. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  401. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -1
  402. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  403. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +1 -0
  404. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts.map +1 -1
  405. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +1 -0
  406. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  407. package/lib/typescript/src/helpers/AnimationFrame.d.ts.map +1 -0
  408. package/lib/typescript/src/helpers/AnimationTracker.d.ts.map +1 -0
  409. package/lib/typescript/src/helpers/ErrorHandler.d.ts.map +1 -0
  410. package/lib/typescript/src/helpers/GameControlButton.d.ts.map +1 -0
  411. package/lib/typescript/src/{shared/helpers → helpers}/GameOverModal.d.ts +2 -0
  412. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -0
  413. package/lib/typescript/src/{shared/helpers → helpers}/GameSettingsModal.d.ts +1 -1
  414. package/lib/typescript/src/helpers/GameSettingsModal.d.ts.map +1 -0
  415. package/lib/typescript/src/helpers/ParticleBlast.d.ts.map +1 -0
  416. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +9 -0
  417. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts.map +1 -0
  418. package/lib/typescript/src/{shared/helpers → helpers}/index.d.ts +2 -1
  419. package/lib/typescript/src/helpers/index.d.ts.map +1 -0
  420. package/lib/typescript/src/index.d.ts +9 -0
  421. package/lib/typescript/src/index.d.ts.map +1 -1
  422. package/lib/typescript/src/services/GamesConstants.d.ts +162 -0
  423. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  424. package/lib/typescript/src/services/GamesService.d.ts +3 -25
  425. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  426. package/lib/typescript/src/services/SoundsService.d.ts +103 -0
  427. package/lib/typescript/src/services/SoundsService.d.ts.map +1 -1
  428. package/lib/typescript/src/services/UtilsService.d.ts +38 -0
  429. package/lib/typescript/src/services/UtilsService.d.ts.map +1 -0
  430. package/package.json +1 -1
  431. package/lib/module/shared/helpers/AnimationFrame.js.map +0 -1
  432. package/lib/module/shared/helpers/AnimationTracker.js.map +0 -1
  433. package/lib/module/shared/helpers/ErrorHandler.js.map +0 -1
  434. package/lib/module/shared/helpers/GameControlButton.js.map +0 -1
  435. package/lib/module/shared/helpers/GameOverModal.js.map +0 -1
  436. package/lib/module/shared/helpers/GameSettingsModal.js.map +0 -1
  437. package/lib/module/shared/helpers/ParticleBlast.js.map +0 -1
  438. package/lib/module/shared/helpers/ResponsiveScoreBoard.js +0 -81
  439. package/lib/module/shared/helpers/ResponsiveScoreBoard.js.map +0 -1
  440. package/lib/module/shared/helpers/index.js.map +0 -1
  441. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +0 -1
  442. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +0 -1
  443. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +0 -1
  444. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +0 -1
  445. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +0 -1
  446. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +0 -1
  447. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +0 -1
  448. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts +0 -42
  449. package/lib/typescript/src/shared/helpers/ResponsiveScoreBoard.d.ts.map +0 -1
  450. package/lib/typescript/src/shared/helpers/index.d.ts.map +0 -1
  451. /package/lib/module/{shared/helpers → helpers}/AnimationFrame.js +0 -0
  452. /package/lib/module/{shared/helpers → helpers}/AnimationTracker.js +0 -0
  453. /package/lib/module/{shared/helpers → helpers}/ErrorHandler.js +0 -0
  454. /package/lib/module/{shared/helpers → helpers}/GameControlButton.js +0 -0
  455. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationFrame.d.ts +0 -0
  456. /package/lib/typescript/src/{shared/helpers → helpers}/AnimationTracker.d.ts +0 -0
  457. /package/lib/typescript/src/{shared/helpers → helpers}/ErrorHandler.d.ts +0 -0
  458. /package/lib/typescript/src/{shared/helpers → helpers}/GameControlButton.d.ts +0 -0
  459. /package/lib/typescript/src/{shared/helpers → helpers}/ParticleBlast.d.ts +0 -0
@@ -0,0 +1,418 @@
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, useDinoJumpStore } from "../DinoJumpStore.js";
8
+ import { DINO_JUMP_GAME_CONFIG, getGroundY } 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
+ const offset = useDinoJumpStore(state => state.offset);
15
+
16
+ // Use refs to avoid recreating shared values on every render
17
+ const animatedY = React.useRef(useSharedValue(47)).current;
18
+ const animatedScale = React.useRef(useSharedValue(1)).current;
19
+
20
+ // Use React state for Canvas animations (Skia doesn't auto-rerender with shared values)
21
+ const [legAnimation, setLegAnimation] = React.useState(0);
22
+ const [bodyBob, setBodyBob] = React.useState(0);
23
+
24
+ // Safety check to prevent crashes
25
+ if (typeof dinosaurY !== 'number' || isNaN(dinosaurY)) {
26
+ return null;
27
+ }
28
+
29
+ // Animate dinosaur position - no spring, direct value for instant response
30
+ React.useEffect(() => {
31
+ animatedY.value = dinosaurY;
32
+ }, [dinosaurY, animatedY]);
33
+
34
+ // Animate running legs and body bobbing - only when game is playing and dinosaur is running
35
+ React.useEffect(() => {
36
+ if (isPlaying && dinosaurState === 'running') {
37
+ const interval = setInterval(() => {
38
+ setLegAnimation(prev => prev === 0 ? 1 : 0);
39
+ // Body bobs up and down slightly while running
40
+ setBodyBob(prev => prev === 0 ? -1.5 : 0);
41
+ }, 150); // Faster leg movement (150ms instead of 200ms)
42
+ return () => clearInterval(interval);
43
+ }
44
+ setLegAnimation(0); // Reset leg position when not running
45
+ setBodyBob(0); // Reset body position
46
+ return undefined;
47
+ }, [isPlaying, dinosaurState]);
48
+
49
+ // No scale animation - keep dinosaur at constant size
50
+ React.useEffect(() => {
51
+ animatedScale.value = 1; // Always 1, no scaling
52
+ }, [dinosaurState, animatedScale]);
53
+ const animatedStyle = useAnimatedStyle(() => ({
54
+ transform: [{
55
+ translateY: -(47 - animatedY.value)
56
+ },
57
+ // When dinosaurY decreases (jumping up), translateY should be negative (move up visually)
58
+ {
59
+ scale: animatedScale.value
60
+ }]
61
+ }));
62
+
63
+ // Memoize the dinosaur render to avoid unnecessary Canvas re-renders
64
+ const renderDinosaur = React.useMemo(() => {
65
+ const {
66
+ DINOSAUR_WIDTH,
67
+ DINOSAUR_HEIGHT
68
+ } = DINO_JUMP_GAME_CONFIG;
69
+ const isDead = dinosaurState === 'dead';
70
+ const legOffset = legAnimation === 0 ? 0 : 6;
71
+ const bob = bodyBob;
72
+ const scale = 1.25;
73
+ const originalHeight = 47;
74
+ return /*#__PURE__*/_jsx(Canvas, {
75
+ style: {
76
+ width: DINOSAUR_WIDTH + 20,
77
+ height: DINOSAUR_HEIGHT + 20
78
+ },
79
+ children: /*#__PURE__*/_jsxs(Group, {
80
+ transform: [{
81
+ scale
82
+ }],
83
+ children: [/*#__PURE__*/_jsxs(Group, {
84
+ transform: [{
85
+ translateY: bob
86
+ }],
87
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
88
+ x: 0,
89
+ y: 18,
90
+ width: 16,
91
+ height: 10,
92
+ r: 5,
93
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
94
+ start: vec(0, 18),
95
+ end: vec(16, 28),
96
+ colors: ['#FF6B35', '#FF8C42', '#FFA500']
97
+ }), /*#__PURE__*/_jsx(Shadow, {
98
+ dx: 2,
99
+ dy: 2,
100
+ blur: 4,
101
+ color: "rgba(0,0,0,0.3)"
102
+ })]
103
+ }), /*#__PURE__*/_jsx(RoundedRect, {
104
+ x: 0,
105
+ y: 22,
106
+ width: 8,
107
+ height: 6,
108
+ r: 3,
109
+ children: /*#__PURE__*/_jsx(LinearGradient, {
110
+ start: vec(0, 22),
111
+ end: vec(8, 28),
112
+ colors: ['#FF8C42', '#FFA500']
113
+ })
114
+ })]
115
+ }), /*#__PURE__*/_jsxs(Group, {
116
+ transform: [{
117
+ translateY: bob
118
+ }],
119
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
120
+ x: 12,
121
+ y: 12,
122
+ width: 26,
123
+ height: 26,
124
+ r: 8,
125
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
126
+ start: vec(12, 12),
127
+ end: vec(38, 38),
128
+ colors: ['#FF6B35', '#FF8C42', '#FFA500', '#FF6B35']
129
+ }), /*#__PURE__*/_jsx(Shadow, {
130
+ dx: 3,
131
+ dy: 3,
132
+ blur: 6,
133
+ color: "rgba(0,0,0,0.4)"
134
+ })]
135
+ }), /*#__PURE__*/_jsx(RoundedRect, {
136
+ x: 16,
137
+ y: 14,
138
+ width: 12,
139
+ height: 12,
140
+ r: 6,
141
+ opacity: 0.4,
142
+ children: /*#__PURE__*/_jsx(LinearGradient, {
143
+ start: vec(16, 14),
144
+ end: vec(28, 26),
145
+ colors: ['#FFFFFF', 'transparent']
146
+ })
147
+ }), /*#__PURE__*/_jsx(RoundedRect, {
148
+ x: 18,
149
+ y: 24,
150
+ width: 16,
151
+ height: 12,
152
+ r: 6,
153
+ opacity: 0.7,
154
+ children: /*#__PURE__*/_jsx(LinearGradient, {
155
+ start: vec(18, 24),
156
+ end: vec(34, 36),
157
+ colors: ['#FFD93D', '#FFC93D']
158
+ })
159
+ })]
160
+ }), /*#__PURE__*/_jsxs(Group, {
161
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
162
+ x: 16,
163
+ y: originalHeight - 10 + legOffset,
164
+ width: 5,
165
+ height: 12 - legOffset,
166
+ r: 2.5,
167
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
168
+ start: vec(16, originalHeight - 10),
169
+ end: vec(21, originalHeight + 2),
170
+ colors: ['#FF6B35', '#FF8C42']
171
+ }), /*#__PURE__*/_jsx(Shadow, {
172
+ dx: 1,
173
+ dy: 1,
174
+ blur: 2,
175
+ color: "rgba(0,0,0,0.3)"
176
+ })]
177
+ }), /*#__PURE__*/_jsx(RoundedRect, {
178
+ x: 14,
179
+ y: originalHeight + 2,
180
+ width: 8,
181
+ height: 4,
182
+ r: 2,
183
+ children: /*#__PURE__*/_jsx(LinearGradient, {
184
+ start: vec(14, originalHeight + 2),
185
+ end: vec(22, originalHeight + 6),
186
+ colors: ['#FFA500', '#FF8C42']
187
+ })
188
+ })]
189
+ }), /*#__PURE__*/_jsxs(Group, {
190
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
191
+ x: 26,
192
+ y: originalHeight - 10 - legOffset,
193
+ width: 5,
194
+ height: 12 + legOffset,
195
+ r: 2.5,
196
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
197
+ start: vec(26, originalHeight - 10),
198
+ end: vec(31, originalHeight + 2),
199
+ colors: ['#FF6B35', '#FF8C42']
200
+ }), /*#__PURE__*/_jsx(Shadow, {
201
+ dx: 1,
202
+ dy: 1,
203
+ blur: 2,
204
+ color: "rgba(0,0,0,0.3)"
205
+ })]
206
+ }), /*#__PURE__*/_jsx(RoundedRect, {
207
+ x: 24,
208
+ y: originalHeight + 2,
209
+ width: 8,
210
+ height: 4,
211
+ r: 2,
212
+ children: /*#__PURE__*/_jsx(LinearGradient, {
213
+ start: vec(24, originalHeight + 2),
214
+ end: vec(32, originalHeight + 6),
215
+ colors: ['#FFA500', '#FF8C42']
216
+ })
217
+ })]
218
+ }), /*#__PURE__*/_jsxs(Group, {
219
+ transform: [{
220
+ translateY: bob
221
+ }],
222
+ children: [/*#__PURE__*/_jsxs(RoundedRect, {
223
+ x: 32,
224
+ y: 8,
225
+ width: 8,
226
+ height: 12,
227
+ r: 4,
228
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
229
+ start: vec(32, 8),
230
+ end: vec(40, 20),
231
+ colors: ['#FF6B35', '#FF8C42']
232
+ }), /*#__PURE__*/_jsx(Shadow, {
233
+ dx: 2,
234
+ dy: 2,
235
+ blur: 3,
236
+ color: "rgba(0,0,0,0.3)"
237
+ })]
238
+ }), /*#__PURE__*/_jsxs(RoundedRect, {
239
+ x: 36,
240
+ y: 4,
241
+ width: 18,
242
+ height: 16,
243
+ r: 8,
244
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
245
+ start: vec(36, 4),
246
+ end: vec(54, 20),
247
+ colors: ['#FF6B35', '#FF8C42', '#FFA500']
248
+ }), /*#__PURE__*/_jsx(Shadow, {
249
+ dx: 3,
250
+ dy: 3,
251
+ blur: 5,
252
+ color: "rgba(0,0,0,0.4)"
253
+ })]
254
+ }), /*#__PURE__*/_jsx(RoundedRect, {
255
+ x: 40,
256
+ y: 6,
257
+ width: 8,
258
+ height: 6,
259
+ r: 4,
260
+ opacity: 0.5,
261
+ children: /*#__PURE__*/_jsx(LinearGradient, {
262
+ start: vec(40, 6),
263
+ end: vec(48, 12),
264
+ colors: ['#FFFFFF', 'transparent']
265
+ })
266
+ }), /*#__PURE__*/_jsxs(RoundedRect, {
267
+ x: 50,
268
+ y: 10,
269
+ width: 8,
270
+ height: 8,
271
+ r: 4,
272
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
273
+ start: vec(50, 10),
274
+ end: vec(58, 18),
275
+ colors: ['#FFA500', '#FF8C42']
276
+ }), /*#__PURE__*/_jsx(Shadow, {
277
+ dx: 2,
278
+ dy: 2,
279
+ blur: 3,
280
+ color: "rgba(0,0,0,0.3)"
281
+ })]
282
+ }), /*#__PURE__*/_jsx(Circle, {
283
+ cx: 54,
284
+ cy: 14,
285
+ r: 1.5,
286
+ color: "#8B4513",
287
+ opacity: 0.6
288
+ }), /*#__PURE__*/_jsx(Circle, {
289
+ cx: 46,
290
+ cy: 10,
291
+ r: 3,
292
+ color: "#000000",
293
+ children: /*#__PURE__*/_jsx(Shadow, {
294
+ dx: 0,
295
+ dy: 0,
296
+ blur: 2,
297
+ color: "rgba(0,0,0,0.5)"
298
+ })
299
+ }), isDead ? /*#__PURE__*/_jsxs(_Fragment, {
300
+ children: [/*#__PURE__*/_jsx(Circle, {
301
+ cx: 45,
302
+ cy: 9,
303
+ r: 1,
304
+ color: "#FF0000"
305
+ }), /*#__PURE__*/_jsx(Circle, {
306
+ cx: 47,
307
+ cy: 11,
308
+ r: 1,
309
+ color: "#FF0000"
310
+ }), /*#__PURE__*/_jsx(Circle, {
311
+ cx: 47,
312
+ cy: 9,
313
+ r: 1,
314
+ color: "#FF0000"
315
+ }), /*#__PURE__*/_jsx(Circle, {
316
+ cx: 45,
317
+ cy: 11,
318
+ r: 1,
319
+ color: "#FF0000"
320
+ })]
321
+ }) : /*#__PURE__*/_jsx(_Fragment, {
322
+ children: /*#__PURE__*/_jsx(Circle, {
323
+ cx: 46.5,
324
+ cy: 9.5,
325
+ r: 1,
326
+ color: "#FFFFFF",
327
+ opacity: 0.8
328
+ })
329
+ }), /*#__PURE__*/_jsxs(Group, {
330
+ children: [/*#__PURE__*/_jsx(RoundedRect, {
331
+ x: 28,
332
+ y: 20,
333
+ width: 3,
334
+ height: 8,
335
+ r: 1.5,
336
+ children: /*#__PURE__*/_jsx(LinearGradient, {
337
+ start: vec(28, 20),
338
+ end: vec(31, 28),
339
+ colors: ['#FF6B35', '#FF8C42']
340
+ })
341
+ }), /*#__PURE__*/_jsx(Circle, {
342
+ cx: 29.5,
343
+ cy: 28,
344
+ r: 1.5,
345
+ children: /*#__PURE__*/_jsx(LinearGradient, {
346
+ start: vec(28, 27),
347
+ end: vec(31, 29),
348
+ colors: ['#FFA500', '#FF8C42']
349
+ })
350
+ })]
351
+ }), /*#__PURE__*/_jsxs(Group, {
352
+ children: [/*#__PURE__*/_jsx(Circle, {
353
+ cx: 20,
354
+ cy: 12,
355
+ r: 2.5,
356
+ color: "#32CD32",
357
+ opacity: 0.8,
358
+ children: /*#__PURE__*/_jsx(Shadow, {
359
+ dx: 1,
360
+ dy: 1,
361
+ blur: 2,
362
+ color: "rgba(0,0,0,0.3)"
363
+ })
364
+ }), /*#__PURE__*/_jsx(Circle, {
365
+ cx: 26,
366
+ cy: 10,
367
+ r: 3,
368
+ color: "#32CD32",
369
+ opacity: 0.8,
370
+ children: /*#__PURE__*/_jsx(Shadow, {
371
+ dx: 1,
372
+ dy: 1,
373
+ blur: 2,
374
+ color: "rgba(0,0,0,0.3)"
375
+ })
376
+ }), /*#__PURE__*/_jsx(Circle, {
377
+ cx: 32,
378
+ cy: 10,
379
+ r: 2.5,
380
+ color: "#32CD32",
381
+ opacity: 0.8,
382
+ children: /*#__PURE__*/_jsx(Shadow, {
383
+ dx: 1,
384
+ dy: 1,
385
+ blur: 2,
386
+ color: "rgba(0,0,0,0.3)"
387
+ })
388
+ })]
389
+ })]
390
+ })]
391
+ })
392
+ });
393
+ }, [dinosaurState, legAnimation, bodyBob]);
394
+
395
+ // Calculate dynamic top position based on offset
396
+ const groundY = getGroundY(offset);
397
+ const dinosaurTop = groundY - (DINO_JUMP_GAME_CONFIG.DINOSAUR_HEIGHT + 20) - 2;
398
+ return /*#__PURE__*/_jsx(Animated.View, {
399
+ style: [styles.container, animatedStyle, {
400
+ top: dinosaurTop
401
+ }],
402
+ children: renderDinosaur
403
+ });
404
+ });
405
+ const styles = StyleSheet.create({
406
+ container: {
407
+ position: 'absolute',
408
+ width: DINO_JUMP_GAME_CONFIG.DINOSAUR_WIDTH + 20,
409
+ height: DINO_JUMP_GAME_CONFIG.DINOSAUR_HEIGHT + 20,
410
+ left: DINO_JUMP_GAME_CONFIG.DINOSAUR_X - 10
411
+ // Top position is set dynamically based on offset
412
+ },
413
+ canvas: {
414
+ flex: 1
415
+ }
416
+ });
417
+ DinoSprite.displayName = 'DinoSprite';
418
+ //# 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","useDinoJumpStore","DINO_JUMP_GAME_CONFIG","getGroundY","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DinoSprite","memo","dinosaurY","dinosaurState","isPlaying","offset","state","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","groundY","dinosaurTop","View","styles","container","top","create","position","left","DINOSAUR_X","canvas","flex","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":"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","ignoreList":[]}