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,498 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, Dimensions } from 'react-native';
5
+ import { Canvas, LinearGradient, Rect, Circle, Path, Skia, vec, Group, Shadow } from '@shopify/react-native-skia';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const {
8
+ width,
9
+ height
10
+ } = Dimensions.get('window');
11
+ // Pre-compute all static values
12
+ const buttonAreaHeight = 250;
13
+ const grassStartY = height - buttonAreaHeight;
14
+
15
+ // Create static grass path
16
+ const createStaticGrassPath = () => {
17
+ const path = Skia.Path.Make();
18
+ const segmentWidth = width / 8;
19
+ path.moveTo(0, grassStartY);
20
+ for (let i = 0; i < 8; i++) {
21
+ const x = i * segmentWidth;
22
+ const y = grassStartY + Math.sin(i * 0.5) * 8;
23
+ const controlX = x + segmentWidth / 2;
24
+ const controlY = y + Math.cos(i * 0.3) * 6;
25
+ path.quadTo(controlX, controlY, x + segmentWidth, y);
26
+ }
27
+ path.lineTo(width, height);
28
+ path.lineTo(0, height);
29
+ path.close();
30
+ return path;
31
+ };
32
+
33
+ // Pre-compute static sun rays
34
+ const createStaticSunRays = () => {
35
+ return Array.from({
36
+ length: 16
37
+ }, (_, index) => {
38
+ const angle = 360 / 16 * index;
39
+ const radian = angle * Math.PI / 180;
40
+ const isLongRay = index % 2 === 0;
41
+ const rayLength = isLongRay ? 25 : 15;
42
+ const rayWidth = isLongRay ? 4 : 2;
43
+ const startDistance = 45;
44
+ const startX = width * 0.8 + Math.cos(radian) * startDistance;
45
+ const startY = height * 0.15 + Math.sin(radian) * startDistance;
46
+ const endX = width * 0.8 + Math.cos(radian) * (startDistance + rayLength);
47
+ const endY = height * 0.15 + Math.sin(radian) * (startDistance + rayLength);
48
+ const rayPath = Skia.Path.Make();
49
+ rayPath.moveTo(startX, startY);
50
+ rayPath.lineTo(endX, endY);
51
+ return {
52
+ path: rayPath,
53
+ width: rayWidth
54
+ };
55
+ });
56
+ };
57
+
58
+ // Create static flower positions
59
+ const createStaticFlowerPositions = () => {
60
+ return Array.from({
61
+ length: 12
62
+ }, (_, i) => ({
63
+ x: width / 12 * i + i % 3 * 15 + 20,
64
+ y: grassStartY - 10 - i % 4 * 8
65
+ }));
66
+ };
67
+
68
+ // Static computed values
69
+ const staticGrassPath = createStaticGrassPath();
70
+ const staticSunRays = createStaticSunRays();
71
+ const flowerPositions = createStaticFlowerPositions();
72
+ export const GameBackground = ({
73
+ children,
74
+ offset = 0
75
+ }) => {
76
+ // Adjust sun and cloud positions based on offset
77
+ const sunY = height * 0.15 + offset * 0.5; // Move sun down slightly with offset
78
+ const cloud1Y = height * 0.24 + offset * 0.5; // Move clouds down
79
+ const cloud2Y = height * 0.27 + offset * 0.2;
80
+ return /*#__PURE__*/_jsxs(View, {
81
+ style: {
82
+ flex: 1
83
+ },
84
+ children: [/*#__PURE__*/_jsxs(Canvas, {
85
+ style: {
86
+ position: 'absolute',
87
+ top: 0,
88
+ left: 0,
89
+ right: 0,
90
+ bottom: 0,
91
+ width,
92
+ height
93
+ },
94
+ children: [/*#__PURE__*/_jsx(Rect, {
95
+ x: 0,
96
+ y: 0,
97
+ width: width,
98
+ height: grassStartY,
99
+ children: /*#__PURE__*/_jsx(LinearGradient, {
100
+ start: vec(0, 0),
101
+ end: vec(0, grassStartY),
102
+ colors: ['#87CEEB', '#98D8E8', '#B0E0E6']
103
+ })
104
+ }), /*#__PURE__*/_jsx(Rect, {
105
+ x: 0,
106
+ y: grassStartY,
107
+ width: width,
108
+ height: buttonAreaHeight,
109
+ children: /*#__PURE__*/_jsx(LinearGradient, {
110
+ start: vec(0, grassStartY),
111
+ end: vec(0, height),
112
+ colors: ['#8B4513', '#A0522D', '#654321']
113
+ })
114
+ }), /*#__PURE__*/_jsxs(Group, {
115
+ children: [/*#__PURE__*/_jsxs(Circle, {
116
+ cx: width * 0.8,
117
+ cy: sunY,
118
+ r: 40,
119
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
120
+ start: vec(-40, -40),
121
+ end: vec(40, 40),
122
+ colors: ['#FFFF99', '#FFD700', '#FFA500', '#FF8C00']
123
+ }), /*#__PURE__*/_jsx(Shadow, {
124
+ dx: 0,
125
+ dy: 0,
126
+ blur: 32,
127
+ color: "#FFD700"
128
+ })]
129
+ }), /*#__PURE__*/_jsx(Circle, {
130
+ cx: width * 0.8 - 8,
131
+ cy: sunY - 8,
132
+ r: 15,
133
+ children: /*#__PURE__*/_jsx(LinearGradient, {
134
+ start: vec(-15, -15),
135
+ end: vec(15, 15),
136
+ colors: ['#FFFFFF', '#FFFF99']
137
+ })
138
+ }), staticSunRays.map((_, index) => {
139
+ // Recalculate ray positions based on offset
140
+ const angle = 360 / 16 * index;
141
+ const radian = angle * Math.PI / 180;
142
+ const isLongRay = index % 2 === 0;
143
+ const rayLength = isLongRay ? 25 : 15;
144
+ const rayWidth = isLongRay ? 4 : 2;
145
+ const startDistance = 45;
146
+ const startX = width * 0.8 + Math.cos(radian) * startDistance;
147
+ const startY = sunY + Math.sin(radian) * startDistance;
148
+ const endX = width * 0.8 + Math.cos(radian) * (startDistance + rayLength);
149
+ const endY = sunY + Math.sin(radian) * (startDistance + rayLength);
150
+ const rayPath = Skia.Path.Make();
151
+ rayPath.moveTo(startX, startY);
152
+ rayPath.lineTo(endX, endY);
153
+ return /*#__PURE__*/_jsx(Path, {
154
+ path: rayPath,
155
+ style: "stroke",
156
+ strokeWidth: rayWidth,
157
+ color: "#FFD700",
158
+ opacity: 0.75
159
+ }, index);
160
+ }), /*#__PURE__*/_jsx(Circle, {
161
+ cx: width * 0.8,
162
+ cy: sunY,
163
+ r: 60,
164
+ opacity: 0.1,
165
+ children: /*#__PURE__*/_jsx(LinearGradient, {
166
+ start: vec(-60, -60),
167
+ end: vec(60, 60),
168
+ colors: ['#FFD700', 'transparent']
169
+ })
170
+ })]
171
+ }), /*#__PURE__*/_jsxs(Group, {
172
+ children: [/*#__PURE__*/_jsxs(Group, {
173
+ children: [/*#__PURE__*/_jsx(Circle, {
174
+ cx: width * 0.12,
175
+ cy: cloud1Y,
176
+ r: 16,
177
+ color: "#F0F8FF",
178
+ opacity: 0.35,
179
+ children: /*#__PURE__*/_jsx(Shadow, {
180
+ dx: 1,
181
+ dy: 2,
182
+ blur: 12,
183
+ color: "rgba(0,0,0,0.05)"
184
+ })
185
+ }), /*#__PURE__*/_jsx(Circle, {
186
+ cx: width * 0.18,
187
+ cy: cloud1Y - (height * 0.24 - height * 0.21),
188
+ r: 22,
189
+ color: "#FFFFFF",
190
+ opacity: 0.45,
191
+ children: /*#__PURE__*/_jsx(Shadow, {
192
+ dx: 1,
193
+ dy: 2,
194
+ blur: 12,
195
+ color: "rgba(0,0,0,0.05)"
196
+ })
197
+ }), /*#__PURE__*/_jsx(Circle, {
198
+ cx: width * 0.25,
199
+ cy: cloud1Y - (height * 0.24 - height * 0.19),
200
+ r: 26,
201
+ color: "#F8F8FF",
202
+ opacity: 0.55,
203
+ children: /*#__PURE__*/_jsx(Shadow, {
204
+ dx: 2,
205
+ dy: 3,
206
+ blur: 12,
207
+ color: "rgba(0,0,0,0.06)"
208
+ })
209
+ }), /*#__PURE__*/_jsx(Circle, {
210
+ cx: width * 0.32,
211
+ cy: cloud1Y - (height * 0.24 - height * 0.21),
212
+ r: 20,
213
+ color: "#FFFFFF",
214
+ opacity: 0.50,
215
+ children: /*#__PURE__*/_jsx(Shadow, {
216
+ dx: 1,
217
+ dy: 2,
218
+ blur: 12,
219
+ color: "rgba(0,0,0,0.05)"
220
+ })
221
+ }), /*#__PURE__*/_jsx(Circle, {
222
+ cx: width * 0.37,
223
+ cy: cloud1Y,
224
+ r: 14,
225
+ color: "#F0F8FF",
226
+ opacity: 0.40,
227
+ children: /*#__PURE__*/_jsx(Shadow, {
228
+ dx: 1,
229
+ dy: 2,
230
+ blur: 12,
231
+ color: "rgba(0,0,0,0.04)"
232
+ })
233
+ })]
234
+ }), /*#__PURE__*/_jsxs(Group, {
235
+ children: [/*#__PURE__*/_jsx(Circle, {
236
+ cx: width * 0.62,
237
+ cy: cloud2Y,
238
+ r: 15,
239
+ color: "#F0F8FF",
240
+ opacity: 0.40,
241
+ children: /*#__PURE__*/_jsx(Shadow, {
242
+ dx: 1,
243
+ dy: 2,
244
+ blur: 10,
245
+ color: "rgba(0,0,0,0.04)"
246
+ })
247
+ }), /*#__PURE__*/_jsx(Circle, {
248
+ cx: width * 0.69,
249
+ cy: cloud2Y - (height * 0.27 - height * 0.24),
250
+ r: 19,
251
+ color: "#FFFFFF",
252
+ opacity: 0.50,
253
+ children: /*#__PURE__*/_jsx(Shadow, {
254
+ dx: 1,
255
+ dy: 2,
256
+ blur: 10,
257
+ color: "rgba(0,0,0,0.05)"
258
+ })
259
+ }), /*#__PURE__*/_jsx(Circle, {
260
+ cx: width * 0.76,
261
+ cy: cloud2Y - (height * 0.27 - height * 0.26),
262
+ r: 13,
263
+ color: "#F8F8FF",
264
+ opacity: 0.45,
265
+ children: /*#__PURE__*/_jsx(Shadow, {
266
+ dx: 1,
267
+ dy: 2,
268
+ blur: 10,
269
+ color: "rgba(0,0,0,0.04)"
270
+ })
271
+ })]
272
+ })]
273
+ }), /*#__PURE__*/_jsxs(Path, {
274
+ path: staticGrassPath,
275
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
276
+ start: vec(0, grassStartY - 20),
277
+ end: vec(0, grassStartY + 20),
278
+ colors: ['#32CD32', '#228B22', '#006400']
279
+ }), /*#__PURE__*/_jsx(Shadow, {
280
+ dx: 0,
281
+ dy: -2,
282
+ blur: 4,
283
+ color: "rgba(0,0,0,0.2)"
284
+ })]
285
+ }), Array.from({
286
+ length: 25
287
+ }, (_, i) => {
288
+ const x = width / 25 * i + i % 3 * 5;
289
+ const grassHeight = 15 + i % 4 * 5;
290
+ const grassType = i % 3;
291
+ const bladePath = Skia.Path.Make();
292
+ bladePath.moveTo(x, grassStartY);
293
+ if (grassType === 0) {
294
+ bladePath.quadTo(x + 1, grassStartY - grassHeight * 0.6, x + 1, grassStartY - grassHeight);
295
+ return /*#__PURE__*/_jsx(Path, {
296
+ path: bladePath,
297
+ style: "stroke",
298
+ strokeWidth: 1.5,
299
+ color: "#16a34a",
300
+ opacity: 0.8
301
+ }, `grass-${i}`);
302
+ } else if (grassType === 1) {
303
+ bladePath.quadTo(x + 2, grassStartY - grassHeight * 0.4, x + 3, grassStartY - grassHeight);
304
+ return /*#__PURE__*/_jsx(Path, {
305
+ path: bladePath,
306
+ style: "stroke",
307
+ strokeWidth: 2,
308
+ color: "#15803d",
309
+ opacity: 0.7
310
+ }, `grass-${i}`);
311
+ } else {
312
+ const midHeight = grassHeight * 0.5;
313
+ bladePath.quadTo(x + 1, grassStartY - midHeight, x + 2, grassStartY - grassHeight);
314
+ return /*#__PURE__*/_jsx(Path, {
315
+ path: bladePath,
316
+ style: "stroke",
317
+ strokeWidth: 2.5,
318
+ color: "#166534",
319
+ opacity: 0.6
320
+ }, `grass-${i}`);
321
+ }
322
+ }), /*#__PURE__*/_jsxs(Group, {
323
+ children: [/*#__PURE__*/_jsxs(Group, {
324
+ children: [/*#__PURE__*/_jsxs(Rect, {
325
+ x: width * 0.05,
326
+ y: grassStartY - 150,
327
+ width: 20,
328
+ height: 150,
329
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
330
+ start: vec(0, 0),
331
+ end: vec(20, 0),
332
+ colors: ['#654321', '#8B4513', '#A0522D', '#8B4513']
333
+ }), /*#__PURE__*/_jsx(Shadow, {
334
+ dx: 3,
335
+ dy: 0,
336
+ blur: 6,
337
+ color: "rgba(0,0,0,0.4)"
338
+ })]
339
+ }), /*#__PURE__*/_jsx(Circle, {
340
+ cx: width * 0.05 + 10,
341
+ cy: grassStartY - 150,
342
+ r: 38,
343
+ color: "#1B5E20",
344
+ opacity: 0.9,
345
+ children: /*#__PURE__*/_jsx(Shadow, {
346
+ dx: 4,
347
+ dy: 4,
348
+ blur: 10,
349
+ color: "rgba(0,0,0,0.3)"
350
+ })
351
+ }), /*#__PURE__*/_jsx(Circle, {
352
+ cx: width * 0.05 + 18,
353
+ cy: grassStartY - 180,
354
+ r: 32,
355
+ color: "#2E7D32",
356
+ opacity: 0.8
357
+ }), /*#__PURE__*/_jsx(Circle, {
358
+ cx: width * 0.05 + 25,
359
+ cy: grassStartY - 140,
360
+ r: 28,
361
+ color: "#388E3C",
362
+ opacity: 0.7
363
+ }), /*#__PURE__*/_jsx(Circle, {
364
+ cx: width * 0.05 + 2,
365
+ cy: grassStartY - 120,
366
+ r: 30,
367
+ color: "#2E7D32",
368
+ opacity: 0.75
369
+ })]
370
+ }), /*#__PURE__*/_jsxs(Group, {
371
+ children: [/*#__PURE__*/_jsxs(Rect, {
372
+ x: width * 0.88,
373
+ y: grassStartY - 200,
374
+ width: 18,
375
+ height: 200,
376
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
377
+ start: vec(0, 0),
378
+ end: vec(18, 0),
379
+ colors: ['#4A2C2A', '#654321', '#8B4513', '#654321']
380
+ }), /*#__PURE__*/_jsx(Shadow, {
381
+ dx: -3,
382
+ dy: 0,
383
+ blur: 6,
384
+ color: "rgba(0,0,0,0.4)"
385
+ })]
386
+ }), /*#__PURE__*/_jsx(Circle, {
387
+ cx: width * 0.88 + 9,
388
+ cy: grassStartY - 120,
389
+ r: 35,
390
+ color: "#0D4F0C",
391
+ opacity: 0.95,
392
+ children: /*#__PURE__*/_jsx(Shadow, {
393
+ dx: -4,
394
+ dy: 4,
395
+ blur: 10,
396
+ color: "rgba(0,0,0,0.3)"
397
+ })
398
+ }), /*#__PURE__*/_jsx(Circle, {
399
+ cx: width * 0.88 + 9,
400
+ cy: grassStartY - 180,
401
+ r: 32,
402
+ color: "#1B5E20",
403
+ opacity: 0.9
404
+ }), /*#__PURE__*/_jsx(Circle, {
405
+ cx: width * 0.88 + 9,
406
+ cy: grassStartY - 240,
407
+ r: 28,
408
+ color: "#2E7D32",
409
+ opacity: 0.9
410
+ })]
411
+ })]
412
+ }), /*#__PURE__*/_jsxs(Group, {
413
+ children: [/*#__PURE__*/_jsxs(Group, {
414
+ children: [/*#__PURE__*/_jsx(Circle, {
415
+ cx: width * 0.15,
416
+ cy: grassStartY - 60,
417
+ r: 26,
418
+ color: "#1B5E20",
419
+ opacity: 0.95,
420
+ children: /*#__PURE__*/_jsx(Shadow, {
421
+ dx: 3,
422
+ dy: 3,
423
+ blur: 8,
424
+ color: "rgba(0,0,0,0.3)"
425
+ })
426
+ }), /*#__PURE__*/_jsx(Circle, {
427
+ cx: width * 0.18,
428
+ cy: grassStartY - 90,
429
+ r: 22,
430
+ color: "#2E7D32",
431
+ opacity: 0.9
432
+ }), /*#__PURE__*/_jsx(Circle, {
433
+ cx: width * 0.21,
434
+ cy: grassStartY - 70,
435
+ r: 18,
436
+ color: "#388E3C",
437
+ opacity: 0.8
438
+ })]
439
+ }), /*#__PURE__*/_jsxs(Group, {
440
+ children: [/*#__PURE__*/_jsx(Circle, {
441
+ cx: width * 0.72,
442
+ cy: grassStartY - 35,
443
+ r: 28,
444
+ color: "#0D4F0C",
445
+ opacity: 0.95,
446
+ children: /*#__PURE__*/_jsx(Shadow, {
447
+ dx: -2,
448
+ dy: 3,
449
+ blur: 8,
450
+ color: "rgba(0,0,0,0.3)"
451
+ })
452
+ }), /*#__PURE__*/_jsx(Circle, {
453
+ cx: width * 0.75,
454
+ cy: grassStartY - 70,
455
+ r: 24,
456
+ color: "#1B5E20",
457
+ opacity: 0.9
458
+ }), /*#__PURE__*/_jsx(Circle, {
459
+ cx: width * 0.69,
460
+ cy: grassStartY - 25,
461
+ r: 22,
462
+ color: "#2E7D32",
463
+ opacity: 0.85
464
+ })]
465
+ })]
466
+ }), /*#__PURE__*/_jsx(Group, {
467
+ children: flowerPositions.map((pos, i) => {
468
+ const colors = ['#FF6B6B', '#FF69B4', '#9370DB', '#4169E1', '#FF8C00', '#32CD32'];
469
+ const color = colors[i % colors.length];
470
+ const size = 3 + i % 3;
471
+ return /*#__PURE__*/_jsxs(Group, {
472
+ children: [/*#__PURE__*/_jsx(Circle, {
473
+ cx: pos.x,
474
+ cy: pos.y,
475
+ r: size,
476
+ color: color,
477
+ opacity: 0.8,
478
+ children: /*#__PURE__*/_jsx(Shadow, {
479
+ dx: 0,
480
+ dy: 1,
481
+ blur: 1,
482
+ color: "rgba(0,0,0,0.2)"
483
+ })
484
+ }), /*#__PURE__*/_jsx(Circle, {
485
+ cx: pos.x,
486
+ cy: pos.y,
487
+ r: size * 0.4,
488
+ color: "#FFD700",
489
+ opacity: 0.9
490
+ })]
491
+ }, `flower-${i}`);
492
+ })
493
+ })]
494
+ }), children]
495
+ });
496
+ };
497
+ GameBackground.displayName = 'GameBackground';
498
+ //# sourceMappingURL=GameBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Dimensions","Canvas","LinearGradient","Rect","Circle","Path","Skia","vec","Group","Shadow","jsx","_jsx","jsxs","_jsxs","width","height","get","buttonAreaHeight","grassStartY","createStaticGrassPath","path","Make","segmentWidth","moveTo","i","x","y","Math","sin","controlX","controlY","cos","quadTo","lineTo","close","createStaticSunRays","Array","from","length","_","index","angle","radian","PI","isLongRay","rayLength","rayWidth","startDistance","startX","startY","endX","endY","rayPath","createStaticFlowerPositions","staticGrassPath","staticSunRays","flowerPositions","GameBackground","children","offset","sunY","cloud1Y","cloud2Y","style","flex","position","top","left","right","bottom","start","end","colors","cx","cy","r","dx","dy","blur","color","map","strokeWidth","opacity","grassHeight","grassType","bladePath","midHeight","pos","size","displayName"],"sourceRoot":"../../../../../src","sources":["games/fruit-merger/components/GameBackground.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
5
+ import { useTime } from "../FruitMergerStore.js";
6
+ import { FRUIT_MERGER_COLORS } from "../FruitMergerConstants.js";
7
+ import { formatTime } from "../FruitMergerService.js";
8
+ import { ScoreBoardContainer } from "../../../helpers/index.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export const ScoreBoard = /*#__PURE__*/React.memo(({
11
+ offset = 0
12
+ }) => {
13
+ const time = useTime();
14
+ const formattedTime = useMemo(() => formatTime(time), [time]);
15
+ return /*#__PURE__*/_jsx(ScoreBoardContainer, {
16
+ offset: offset,
17
+ backgroundColor: FRUIT_MERGER_COLORS.SCORE_BACKGROUND,
18
+ borderColor: FRUIT_MERGER_COLORS.SCORE_BORDER,
19
+ children: /*#__PURE__*/_jsx(View, {
20
+ style: styles.scoreBoard,
21
+ children: /*#__PURE__*/_jsxs(View, {
22
+ style: styles.scoreItem,
23
+ children: [/*#__PURE__*/_jsx(Text, {
24
+ style: styles.scoreLabel,
25
+ children: "TIME"
26
+ }), /*#__PURE__*/_jsx(Text, {
27
+ style: styles.scoreValue,
28
+ children: formattedTime
29
+ })]
30
+ })
31
+ })
32
+ });
33
+ });
34
+ const styles = StyleSheet.create({
35
+ scoreBoard: {
36
+ flexDirection: 'row',
37
+ justifyContent: 'space-around',
38
+ alignItems: 'center'
39
+ },
40
+ scoreItem: {
41
+ alignItems: 'center',
42
+ flex: 1
43
+ },
44
+ scoreLabel: {
45
+ fontSize: 12,
46
+ fontWeight: '700',
47
+ color: FRUIT_MERGER_COLORS.SCORE_TEXT,
48
+ marginBottom: 4,
49
+ letterSpacing: 1
50
+ },
51
+ scoreValue: {
52
+ fontSize: 24,
53
+ fontWeight: '900',
54
+ color: FRUIT_MERGER_COLORS.SCORE_TEXT
55
+ }
56
+ });
57
+ ScoreBoard.displayName = 'ScoreBoard';
58
+ //# sourceMappingURL=ScoreBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTime","FRUIT_MERGER_COLORS","formatTime","ScoreBoardContainer","jsx","_jsx","jsxs","_jsxs","ScoreBoard","memo","offset","time","formattedTime","backgroundColor","SCORE_BACKGROUND","borderColor","SCORE_BORDER","children","style","styles","scoreBoard","scoreItem","scoreLabel","scoreValue","create","flexDirection","justifyContent","alignItems","flex","fontSize","fontWeight","color","SCORE_TEXT","marginBottom","letterSpacing","displayName"],"sourceRoot":"../../../../../src","sources":["games/fruit-merger/components/ScoreBoard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,mBAAmB,QAAQ,4BAAyB;AAC7D,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,mBAAmB,QAAQ,2BAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,UAAqC,gBAAGb,KAAK,CAACc,IAAI,CAAC,CAAC;EAACC,MAAM,GAAG;AAAC,CAAC,KAAK;EAChF,MAAMC,IAAI,GAAGX,OAAO,CAAC,CAAC;EACtB,MAAMY,aAAa,GAAGhB,OAAO,CAAC,MAAMM,UAAU,CAACS,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE7D,oBACEN,IAAA,CAACF,mBAAmB;IAClBO,MAAM,EAAEA,MAAO;IACfG,eAAe,EAAEZ,mBAAmB,CAACa,gBAAiB;IACtDC,WAAW,EAAEd,mBAAmB,CAACe,YAAa;IAAAC,QAAA,eAE9CZ,IAAA,CAACR,IAAI;MAACqB,KAAK,EAAEC,MAAM,CAACC,UAAW;MAAAH,QAAA,eAC7BV,KAAA,CAACV,IAAI;QAACqB,KAAK,EAAEC,MAAM,CAACE,SAAU;QAAAJ,QAAA,gBAC5BZ,IAAA,CAACP,IAAI;UAACoB,KAAK,EAAEC,MAAM,CAACG,UAAW;UAAAL,QAAA,EAAC;QAAI,CAAM,CAAC,eAC3CZ,IAAA,CAACP,IAAI;UAACoB,KAAK,EAAEC,MAAM,CAACI,UAAW;UAAAN,QAAA,EAAEL;QAAa,CAAO,CAAC;MAAA,CAClD;IAAC,CACH;EAAC,CACY,CAAC;AAE1B,CAAC,CAAC;AAEF,MAAMO,MAAM,GAAGpB,UAAU,CAACyB,MAAM,CAAC;EAC/BJ,UAAU,EAAE;IACVK,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,UAAU,EAAE;EACd,CAAC;EACDN,SAAS,EAAE;IACTM,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE;EACR,CAAC;EACDN,UAAU,EAAE;IACVO,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE9B,mBAAmB,CAAC+B,UAAU;IACrCC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE;EACjB,CAAC;EACDX,UAAU,EAAE;IACVM,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE9B,mBAAmB,CAAC+B;EAC7B;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC2B,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export { ScoreBoard } from "./ScoreBoard.js";
4
+ export { FruitItem } from "./FruitItem.js";
5
+ export { GameArea } from "./GameArea.js";
6
+ export { GameBackground } from "./GameBackground.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ScoreBoard","FruitItem","GameArea","GameBackground"],"sourceRoot":"../../../../../src","sources":["games/fruit-merger/components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,cAAc,QAAQ,qBAAkB","ignoreList":[]}
@@ -6,9 +6,9 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import { useFruitNinjaStore, registerGameService } from "./FruitNinjaStore.js";
7
7
  import { createFruitNinjaService, getDifficultySpawnInterval } from "./FruitNinjaService.js";
8
8
  import { ScoreBoard, GameArea, GameBackground } from "./components/index.js";
9
- import { GameControlButton, GameOverModal, useAnimationTrackers, useGameErrorHandler, GameErrorType } from "../../shared/helpers/index.js";
10
- import { GameSettingsModal } from "../../shared/helpers/index.js";
11
- import { GAME_IDS } from "../../services/GamesService.js";
9
+ import { GameControlButton, GameOverModal, useAnimationTrackers, useGameErrorHandler, GameErrorType } from "../../helpers/index.js";
10
+ import { GameSettingsModal } from "../../helpers/index.js";
11
+ import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  export const FruitNinja = ({
14
14
  settings,
@@ -59,7 +59,7 @@ export const FruitNinja = ({
59
59
  if (gameService) {
60
60
  gameService.resetAnimations();
61
61
  gameService.startGameTimer(decrementTime);
62
- gameService.startFruitSpawning(spawnFruit, getDifficultySpawnInterval(settings.difficulty));
62
+ gameService.startFruitSpawning(spawnFruit, getDifficultySpawnInterval(settings?.difficulty || 'medium'));
63
63
  gameService.startPhysicsLoop(updateFruit, removeFruit, () => useFruitNinjaStore.getState().fruits);
64
64
  }
65
65
  }, GameErrorType.INITIALIZATION_ERROR);
@@ -84,16 +84,16 @@ export const FruitNinja = ({
84
84
  const spawnFruit = fruit => {
85
85
  addFruit(fruit);
86
86
  };
87
- return /*#__PURE__*/_jsx(GestureHandlerRootView, {
88
- style: {
89
- flex: 1
90
- },
91
- children: /*#__PURE__*/_jsx(View, {
92
- style: styles.container,
87
+
88
+ // Get offset from settings
89
+ const offset = settings?.offset ?? 0;
90
+ return /*#__PURE__*/_jsx(View, {
91
+ style: styles.container,
92
+ children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
93
93
  children: /*#__PURE__*/_jsxs(GameBackground, {
94
- children: [/*#__PURE__*/_jsx(GameArea, {}), /*#__PURE__*/_jsx(View, {
95
- style: styles.scoreboardContainer,
96
- children: /*#__PURE__*/_jsx(ScoreBoard, {})
94
+ offset: offset,
95
+ children: [/*#__PURE__*/_jsx(GameArea, {}), /*#__PURE__*/_jsx(ScoreBoard, {
96
+ offset: offset
97
97
  }), /*#__PURE__*/_jsx(GameControlButton, {
98
98
  isPlaying: isPlaying,
99
99
  gameOver: gameOver,
@@ -119,7 +119,7 @@ export const FruitNinja = ({
119
119
  buttonBorderColor: "#34d399"
120
120
  }), /*#__PURE__*/_jsx(GameSettingsModal, {
121
121
  gameId: GAME_IDS.FRUIT_NINJA,
122
- settings: settings,
122
+ settings: settings || DEFAULT_GAME_SETTINGS,
123
123
  onSettingsChange: onSettingsChange
124
124
  })]
125
125
  })
@@ -129,14 +129,6 @@ export const FruitNinja = ({
129
129
  const styles = StyleSheet.create({
130
130
  container: {
131
131
  flex: 1
132
- },
133
- scoreboardContainer: {
134
- position: 'absolute',
135
- top: 0,
136
- left: 20,
137
- right: 20,
138
- zIndex: 100,
139
- pointerEvents: 'none' // Allow touches to pass through to fruits below
140
132
  }
141
133
  });
142
134
  //# sourceMappingURL=FruitNinja.js.map