react-native-games 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/LICENSE +66 -0
  2. package/README.md +269 -0
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js +391 -0
  4. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -0
  5. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +293 -0
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -0
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +156 -0
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -0
  9. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +227 -0
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -0
  11. package/lib/module/games/balloon-blaster/components/GameArea.js +42 -0
  12. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -0
  13. package/lib/module/games/balloon-blaster/components/GameBackground.js +544 -0
  14. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -0
  15. package/lib/module/games/balloon-blaster/components/GameControls.js +229 -0
  16. package/lib/module/games/balloon-blaster/components/GameControls.js.map +1 -0
  17. package/lib/module/games/balloon-blaster/components/GameOverModal.js +133 -0
  18. package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +1 -0
  19. package/lib/module/games/balloon-blaster/components/ParticleSystem.js +52 -0
  20. package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +1 -0
  21. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +119 -0
  22. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -0
  23. package/lib/module/games/balloon-blaster/components/SliceTrail.js +58 -0
  24. package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +1 -0
  25. package/lib/module/games/balloon-blaster/components/index.js +11 -0
  26. package/lib/module/games/balloon-blaster/components/index.js.map +1 -0
  27. package/lib/module/games/cat-popper/CatPopper.js +230 -0
  28. package/lib/module/games/cat-popper/CatPopper.js.map +1 -0
  29. package/lib/module/games/cat-popper/CatPopperService.js +100 -0
  30. package/lib/module/games/cat-popper/CatPopperService.js.map +1 -0
  31. package/lib/module/games/cat-popper/CatPopperStore.js +113 -0
  32. package/lib/module/games/cat-popper/CatPopperStore.js.map +1 -0
  33. package/lib/module/games/cat-popper/components/CatCharacter.js +281 -0
  34. package/lib/module/games/cat-popper/components/CatCharacter.js.map +1 -0
  35. package/lib/module/games/cat-popper/components/GameBackground.js +531 -0
  36. package/lib/module/games/cat-popper/components/GameBackground.js.map +1 -0
  37. package/lib/module/games/cat-popper/components/GameControls.js +230 -0
  38. package/lib/module/games/cat-popper/components/GameControls.js.map +1 -0
  39. package/lib/module/games/cat-popper/components/GameGrid.js +66 -0
  40. package/lib/module/games/cat-popper/components/GameGrid.js.map +1 -0
  41. package/lib/module/games/cat-popper/components/GameHole.js +183 -0
  42. package/lib/module/games/cat-popper/components/GameHole.js.map +1 -0
  43. package/lib/module/games/cat-popper/components/GameOverModal.js +131 -0
  44. package/lib/module/games/cat-popper/components/GameOverModal.js.map +1 -0
  45. package/lib/module/games/cat-popper/components/ScoreBoard.js +77 -0
  46. package/lib/module/games/cat-popper/components/ScoreBoard.js.map +1 -0
  47. package/lib/module/games/cat-popper/components/index.js +10 -0
  48. package/lib/module/games/cat-popper/components/index.js.map +1 -0
  49. package/lib/module/games/fruit-slicer/FruitSlicer.js +411 -0
  50. package/lib/module/games/fruit-slicer/FruitSlicer.js.map +1 -0
  51. package/lib/module/games/fruit-slicer/FruitSlicerService.js +293 -0
  52. package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +1 -0
  53. package/lib/module/games/fruit-slicer/FruitSlicerStore.js +156 -0
  54. package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +1 -0
  55. package/lib/module/games/fruit-slicer/components/FruitComponent.js +99 -0
  56. package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +1 -0
  57. package/lib/module/games/fruit-slicer/components/GameArea.js +50 -0
  58. package/lib/module/games/fruit-slicer/components/GameArea.js.map +1 -0
  59. package/lib/module/games/fruit-slicer/components/GameBackground.js +1296 -0
  60. package/lib/module/games/fruit-slicer/components/GameBackground.js.map +1 -0
  61. package/lib/module/games/fruit-slicer/components/GameControls.js +230 -0
  62. package/lib/module/games/fruit-slicer/components/GameControls.js.map +1 -0
  63. package/lib/module/games/fruit-slicer/components/GameOverModal.js +189 -0
  64. package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +1 -0
  65. package/lib/module/games/fruit-slicer/components/ParticleSystem.js +52 -0
  66. package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +1 -0
  67. package/lib/module/games/fruit-slicer/components/ScoreBoard.js +121 -0
  68. package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +1 -0
  69. package/lib/module/games/fruit-slicer/components/SliceTrail.js +58 -0
  70. package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +1 -0
  71. package/lib/module/games/fruit-slicer/components/index.js +11 -0
  72. package/lib/module/games/fruit-slicer/components/index.js.map +1 -0
  73. package/lib/module/games/maze-runner/MazeRunner.js +242 -0
  74. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -0
  75. package/lib/module/games/maze-runner/MazeRunnerService.js +560 -0
  76. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -0
  77. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +149 -0
  78. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -0
  79. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +357 -0
  80. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -0
  81. package/lib/module/games/maze-runner/components/GameBackground.js +216 -0
  82. package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -0
  83. package/lib/module/games/maze-runner/components/GameControls.js +129 -0
  84. package/lib/module/games/maze-runner/components/GameControls.js.map +1 -0
  85. package/lib/module/games/maze-runner/components/GameOverModal.js +134 -0
  86. package/lib/module/games/maze-runner/components/GameOverModal.js.map +1 -0
  87. package/lib/module/games/maze-runner/components/ScoreBoard.js +81 -0
  88. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -0
  89. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +209 -0
  90. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js.map +1 -0
  91. package/lib/module/games/maze-runner/components/StaticGameBackground.js +169 -0
  92. package/lib/module/games/maze-runner/components/StaticGameBackground.js.map +1 -0
  93. package/lib/module/games/maze-runner/components/WallComponent.js +90 -0
  94. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -0
  95. package/lib/module/games/maze-runner/components/index.js +10 -0
  96. package/lib/module/games/maze-runner/components/index.js.map +1 -0
  97. package/lib/module/games/space-traveller/SpaceTraveller.js +393 -0
  98. package/lib/module/games/space-traveller/SpaceTraveller.js.map +1 -0
  99. package/lib/module/games/space-traveller/SpaceTravellerService.js +298 -0
  100. package/lib/module/games/space-traveller/SpaceTravellerService.js.map +1 -0
  101. package/lib/module/games/space-traveller/SpaceTravellerStore.js +139 -0
  102. package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +1 -0
  103. package/lib/module/games/space-traveller/components/AsteroidComponent.js +111 -0
  104. package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +1 -0
  105. package/lib/module/games/space-traveller/components/GameArea.js +75 -0
  106. package/lib/module/games/space-traveller/components/GameArea.js.map +1 -0
  107. package/lib/module/games/space-traveller/components/GameBackground.js +294 -0
  108. package/lib/module/games/space-traveller/components/GameBackground.js.map +1 -0
  109. package/lib/module/games/space-traveller/components/GameControls.js +177 -0
  110. package/lib/module/games/space-traveller/components/GameControls.js.map +1 -0
  111. package/lib/module/games/space-traveller/components/GameOverModal.js +182 -0
  112. package/lib/module/games/space-traveller/components/GameOverModal.js.map +1 -0
  113. package/lib/module/games/space-traveller/components/ParticleComponent.js +34 -0
  114. package/lib/module/games/space-traveller/components/ParticleComponent.js.map +1 -0
  115. package/lib/module/games/space-traveller/components/ScoreBoard.js +143 -0
  116. package/lib/module/games/space-traveller/components/ScoreBoard.js.map +1 -0
  117. package/lib/module/games/space-traveller/components/SettingsModal.js +222 -0
  118. package/lib/module/games/space-traveller/components/SettingsModal.js.map +1 -0
  119. package/lib/module/games/space-traveller/components/Spacecraft3D.js +362 -0
  120. package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +1 -0
  121. package/lib/module/games/space-traveller/components/SpacecraftPath.js +37 -0
  122. package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +1 -0
  123. package/lib/module/games/space-traveller/components/index.js +13 -0
  124. package/lib/module/games/space-traveller/components/index.js.map +1 -0
  125. package/lib/module/index.js +12 -0
  126. package/lib/module/index.js.map +1 -0
  127. package/lib/module/package.json +1 -0
  128. package/lib/module/services/GamesConstants.js +561 -0
  129. package/lib/module/services/GamesConstants.js.map +1 -0
  130. package/lib/module/services/GamesService.js +34 -0
  131. package/lib/module/services/GamesService.js.map +1 -0
  132. package/lib/module/shared/settings/GameSettings.js +295 -0
  133. package/lib/module/shared/settings/GameSettings.js.map +1 -0
  134. package/lib/module/shared/settings/SettingsService.js +119 -0
  135. package/lib/module/shared/settings/SettingsService.js.map +1 -0
  136. package/lib/typescript/package.json +1 -0
  137. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +16 -0
  138. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -0
  139. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +66 -0
  140. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -0
  141. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +37 -0
  142. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -0
  143. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +10 -0
  144. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -0
  145. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +17 -0
  146. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -0
  147. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +7 -0
  148. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -0
  149. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +10 -0
  150. package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +1 -0
  151. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts +9 -0
  152. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +1 -0
  153. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +8 -0
  154. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +1 -0
  155. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +9 -0
  156. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -0
  157. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +11 -0
  158. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +1 -0
  159. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +9 -0
  160. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -0
  161. package/lib/typescript/src/games/cat-popper/CatPopper.d.ts +13 -0
  162. package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +1 -0
  163. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +32 -0
  164. package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +1 -0
  165. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +21 -0
  166. package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +1 -0
  167. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +7 -0
  168. package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +1 -0
  169. package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts +7 -0
  170. package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +1 -0
  171. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +10 -0
  172. package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +1 -0
  173. package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts +13 -0
  174. package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +1 -0
  175. package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts +12 -0
  176. package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +1 -0
  177. package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts +9 -0
  178. package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +1 -0
  179. package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts +8 -0
  180. package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +1 -0
  181. package/lib/typescript/src/games/cat-popper/components/index.d.ts +8 -0
  182. package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +1 -0
  183. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +16 -0
  184. package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +1 -0
  185. package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts +67 -0
  186. package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +1 -0
  187. package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts +37 -0
  188. package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +1 -0
  189. package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts +10 -0
  190. package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +1 -0
  191. package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts +17 -0
  192. package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +1 -0
  193. package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts +7 -0
  194. package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +1 -0
  195. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +10 -0
  196. package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +1 -0
  197. package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts +9 -0
  198. package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts.map +1 -0
  199. package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts +8 -0
  200. package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +1 -0
  201. package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts +9 -0
  202. package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +1 -0
  203. package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts +11 -0
  204. package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +1 -0
  205. package/lib/typescript/src/games/fruit-slicer/components/index.d.ts +9 -0
  206. package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +1 -0
  207. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +18 -0
  208. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -0
  209. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +82 -0
  210. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -0
  211. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +11 -0
  212. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -0
  213. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +12 -0
  214. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -0
  215. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +7 -0
  216. package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -0
  217. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +10 -0
  218. package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +1 -0
  219. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +11 -0
  220. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +1 -0
  221. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +8 -0
  222. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -0
  223. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +25 -0
  224. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts.map +1 -0
  225. package/lib/typescript/src/games/maze-runner/components/StaticGameBackground.d.ts +7 -0
  226. package/lib/typescript/src/games/maze-runner/components/StaticGameBackground.d.ts.map +1 -0
  227. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +10 -0
  228. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -0
  229. package/lib/typescript/src/games/maze-runner/components/index.d.ts +8 -0
  230. package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -0
  231. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +17 -0
  232. package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +1 -0
  233. package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts +65 -0
  234. package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +1 -0
  235. package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts +35 -0
  236. package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +1 -0
  237. package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts +9 -0
  238. package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +1 -0
  239. package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts +17 -0
  240. package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +1 -0
  241. package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts +7 -0
  242. package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +1 -0
  243. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +10 -0
  244. package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +1 -0
  245. package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts +9 -0
  246. package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +1 -0
  247. package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts +8 -0
  248. package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +1 -0
  249. package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts +8 -0
  250. package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +1 -0
  251. package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts +9 -0
  252. package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +1 -0
  253. package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts +9 -0
  254. package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +1 -0
  255. package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts +10 -0
  256. package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +1 -0
  257. package/lib/typescript/src/games/space-traveller/components/index.d.ts +11 -0
  258. package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +1 -0
  259. package/lib/typescript/src/index.d.ts +7 -0
  260. package/lib/typescript/src/index.d.ts.map +1 -0
  261. package/lib/typescript/src/services/GamesConstants.d.ts +372 -0
  262. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -0
  263. package/lib/typescript/src/services/GamesService.d.ts +8 -0
  264. package/lib/typescript/src/services/GamesService.d.ts.map +1 -0
  265. package/lib/typescript/src/shared/settings/GameSettings.d.ts +36 -0
  266. package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +1 -0
  267. package/lib/typescript/src/shared/settings/SettingsService.d.ts +32 -0
  268. package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +1 -0
  269. package/package.json +125 -0
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, Text, ScrollView, TouchableOpacity, Switch, StyleSheet } from 'react-native';
5
+ import { getGameTheme, getGameDifficultyDescriptions, getGameTitle } from "../../services/GamesConstants.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const GameSettings = ({
8
+ gameId,
9
+ onClose,
10
+ settingsStore
11
+ }) => {
12
+ const theme = getGameTheme(gameId);
13
+ const difficultyDescriptions = getGameDifficultyDescriptions(gameId);
14
+ const title = `${getGameTitle(gameId)} Settings`;
15
+ const {
16
+ difficulty,
17
+ soundEnabled,
18
+ hapticEnabled
19
+ } = settingsStore;
20
+ const handleDifficultyChange = newDifficulty => {
21
+ if (settingsStore.setDifficulty) {
22
+ settingsStore.setDifficulty(newDifficulty);
23
+ } else if (settingsStore.updateSettings) {
24
+ settingsStore.updateSettings({
25
+ difficulty: newDifficulty
26
+ });
27
+ }
28
+ };
29
+ const handleSoundToggle = enabled => {
30
+ if (settingsStore.setSoundEnabled) {
31
+ settingsStore.setSoundEnabled(enabled);
32
+ } else if (settingsStore.updateSettings) {
33
+ settingsStore.updateSettings({
34
+ soundEnabled: enabled
35
+ });
36
+ }
37
+ };
38
+ const handleHapticToggle = enabled => {
39
+ if (settingsStore.setHapticEnabled) {
40
+ settingsStore.setHapticEnabled(enabled);
41
+ } else if (settingsStore.updateSettings) {
42
+ settingsStore.updateSettings({
43
+ hapticEnabled: enabled
44
+ });
45
+ }
46
+ };
47
+ const handleResetDefaults = () => {
48
+ settingsStore.resetToDefaults();
49
+ };
50
+ return /*#__PURE__*/_jsxs(View, {
51
+ style: [styles.container, {
52
+ backgroundColor: theme.backgroundColor
53
+ }],
54
+ children: [/*#__PURE__*/_jsxs(View, {
55
+ style: [styles.header, {
56
+ backgroundColor: theme.headerBackgroundColor
57
+ }],
58
+ children: [/*#__PURE__*/_jsx(Text, {
59
+ style: [styles.headerTitle, {
60
+ color: theme.headerTextColor
61
+ }],
62
+ children: title
63
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
64
+ onPress: onClose,
65
+ style: styles.closeButton,
66
+ children: /*#__PURE__*/_jsx(Text, {
67
+ style: [styles.closeButtonText, {
68
+ color: theme.headerTextColor
69
+ }],
70
+ children: "\u2715"
71
+ })
72
+ })]
73
+ }), /*#__PURE__*/_jsxs(ScrollView, {
74
+ style: styles.scrollView,
75
+ children: [/*#__PURE__*/_jsxs(View, {
76
+ style: [styles.section, {
77
+ backgroundColor: theme.sectionBackgroundColor
78
+ }],
79
+ children: [/*#__PURE__*/_jsx(Text, {
80
+ style: [styles.sectionTitle, {
81
+ color: theme.sectionTitleColor
82
+ }],
83
+ children: "Difficulty Level"
84
+ }), /*#__PURE__*/_jsx(View, {
85
+ style: styles.difficultyRow,
86
+ children: ['easy', 'medium', 'hard'].map(level => /*#__PURE__*/_jsx(TouchableOpacity, {
87
+ onPress: () => handleDifficultyChange(level),
88
+ style: [styles.difficultyButton, {
89
+ backgroundColor: difficulty === level ? theme.buttonSelectedColor : theme.buttonUnselectedColor
90
+ }],
91
+ children: /*#__PURE__*/_jsx(Text, {
92
+ style: [styles.buttonText, styles.capitalize, {
93
+ color: difficulty === level ? theme.buttonSelectedTextColor : theme.buttonUnselectedTextColor
94
+ }],
95
+ children: level
96
+ })
97
+ }, level))
98
+ }), /*#__PURE__*/_jsx(View, {
99
+ style: styles.infoBox,
100
+ children: /*#__PURE__*/_jsxs(Text, {
101
+ style: [styles.infoText, {
102
+ color: theme.infoTextColor
103
+ }],
104
+ children: [/*#__PURE__*/_jsx(Text, {
105
+ style: styles.boldText,
106
+ children: "Easy:"
107
+ }), " ", difficultyDescriptions.easy, '\n', /*#__PURE__*/_jsx(Text, {
108
+ style: styles.boldText,
109
+ children: "Medium:"
110
+ }), " ", difficultyDescriptions.medium, '\n', /*#__PURE__*/_jsx(Text, {
111
+ style: styles.boldText,
112
+ children: "Hard:"
113
+ }), " ", difficultyDescriptions.hard]
114
+ })
115
+ })]
116
+ }), /*#__PURE__*/_jsx(View, {
117
+ style: [styles.section, {
118
+ backgroundColor: theme.sectionBackgroundColor
119
+ }],
120
+ children: /*#__PURE__*/_jsxs(View, {
121
+ style: styles.toggleContainer,
122
+ children: [/*#__PURE__*/_jsxs(View, {
123
+ children: [/*#__PURE__*/_jsx(Text, {
124
+ style: [styles.toggleTitle, {
125
+ color: theme.sectionTitleColor
126
+ }],
127
+ children: "Sound Effects"
128
+ }), /*#__PURE__*/_jsx(Text, {
129
+ style: [styles.toggleSubtitle, {
130
+ color: theme.infoTextColor
131
+ }],
132
+ children: "Play sounds during gameplay"
133
+ })]
134
+ }), /*#__PURE__*/_jsx(Switch, {
135
+ value: soundEnabled,
136
+ onValueChange: handleSoundToggle,
137
+ trackColor: {
138
+ false: theme.switchTrackColorFalse,
139
+ true: theme.switchTrackColorTrue
140
+ },
141
+ thumbColor: theme.switchThumbColor
142
+ })]
143
+ })
144
+ }), /*#__PURE__*/_jsx(View, {
145
+ style: [styles.section, {
146
+ backgroundColor: theme.sectionBackgroundColor
147
+ }],
148
+ children: /*#__PURE__*/_jsxs(View, {
149
+ style: styles.toggleContainer,
150
+ children: [/*#__PURE__*/_jsxs(View, {
151
+ children: [/*#__PURE__*/_jsx(Text, {
152
+ style: [styles.toggleTitle, {
153
+ color: theme.sectionTitleColor
154
+ }],
155
+ children: "Haptic Feedback"
156
+ }), /*#__PURE__*/_jsx(Text, {
157
+ style: [styles.toggleSubtitle, {
158
+ color: theme.infoTextColor
159
+ }],
160
+ children: "Vibration feedback for interactions"
161
+ })]
162
+ }), /*#__PURE__*/_jsx(Switch, {
163
+ value: hapticEnabled,
164
+ onValueChange: handleHapticToggle,
165
+ trackColor: {
166
+ false: theme.switchTrackColorFalse,
167
+ true: theme.switchTrackColorTrue
168
+ },
169
+ thumbColor: theme.switchThumbColor
170
+ })]
171
+ })
172
+ }), /*#__PURE__*/_jsxs(View, {
173
+ style: styles.resetSection,
174
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
175
+ onPress: handleResetDefaults,
176
+ style: [styles.resetButton, {
177
+ backgroundColor: theme.resetButtonColor
178
+ }],
179
+ children: /*#__PURE__*/_jsx(Text, {
180
+ style: [styles.resetButtonText, {
181
+ color: theme.resetButtonTextColor
182
+ }],
183
+ children: "Reset to Defaults"
184
+ })
185
+ }), /*#__PURE__*/_jsx(Text, {
186
+ style: [styles.resetDescription, {
187
+ color: theme.infoTextColor
188
+ }],
189
+ children: "This will restore all settings to their original values"
190
+ })]
191
+ })]
192
+ })]
193
+ });
194
+ };
195
+ const styles = StyleSheet.create({
196
+ container: {
197
+ flex: 1
198
+ },
199
+ header: {
200
+ flexDirection: 'row',
201
+ justifyContent: 'space-between',
202
+ alignItems: 'center',
203
+ padding: 16
204
+ },
205
+ headerTitle: {
206
+ fontSize: 20,
207
+ fontWeight: 'bold'
208
+ },
209
+ closeButton: {
210
+ padding: 8
211
+ },
212
+ closeButtonText: {
213
+ fontSize: 18,
214
+ fontWeight: 'bold'
215
+ },
216
+ scrollView: {
217
+ flex: 1,
218
+ padding: 16
219
+ },
220
+ section: {
221
+ borderRadius: 12,
222
+ padding: 16,
223
+ marginBottom: 16
224
+ },
225
+ sectionTitle: {
226
+ fontSize: 18,
227
+ fontWeight: 'bold',
228
+ marginBottom: 12
229
+ },
230
+ difficultyRow: {
231
+ flexDirection: 'row',
232
+ justifyContent: 'space-between',
233
+ marginBottom: 12
234
+ },
235
+ difficultyButton: {
236
+ flex: 1,
237
+ paddingVertical: 12,
238
+ paddingHorizontal: 8,
239
+ borderRadius: 8,
240
+ marginHorizontal: 4,
241
+ alignItems: 'center'
242
+ },
243
+ buttonText: {
244
+ fontSize: 16,
245
+ fontWeight: '600'
246
+ },
247
+ capitalize: {
248
+ textTransform: 'capitalize'
249
+ },
250
+ infoBox: {
251
+ backgroundColor: 'rgba(255, 255, 255, 0.1)',
252
+ borderRadius: 8,
253
+ padding: 12
254
+ },
255
+ infoText: {
256
+ fontSize: 14,
257
+ lineHeight: 20
258
+ },
259
+ boldText: {
260
+ fontWeight: 'bold'
261
+ },
262
+ toggleContainer: {
263
+ flexDirection: 'row',
264
+ justifyContent: 'space-between',
265
+ alignItems: 'center'
266
+ },
267
+ toggleTitle: {
268
+ fontSize: 16,
269
+ fontWeight: '600'
270
+ },
271
+ toggleSubtitle: {
272
+ fontSize: 14,
273
+ marginTop: 2
274
+ },
275
+ resetSection: {
276
+ alignItems: 'center',
277
+ marginTop: 8
278
+ },
279
+ resetButton: {
280
+ paddingVertical: 12,
281
+ paddingHorizontal: 24,
282
+ borderRadius: 8,
283
+ marginBottom: 8
284
+ },
285
+ resetButtonText: {
286
+ fontSize: 16,
287
+ fontWeight: '600'
288
+ },
289
+ resetDescription: {
290
+ fontSize: 12,
291
+ textAlign: 'center'
292
+ }
293
+ });
294
+ export default GameSettings;
295
+ //# sourceMappingURL=GameSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","ScrollView","TouchableOpacity","Switch","StyleSheet","getGameTheme","getGameDifficultyDescriptions","getGameTitle","jsx","_jsx","jsxs","_jsxs","GameSettings","gameId","onClose","settingsStore","theme","difficultyDescriptions","title","difficulty","soundEnabled","hapticEnabled","handleDifficultyChange","newDifficulty","setDifficulty","updateSettings","handleSoundToggle","enabled","setSoundEnabled","handleHapticToggle","setHapticEnabled","handleResetDefaults","resetToDefaults","style","styles","container","backgroundColor","children","header","headerBackgroundColor","headerTitle","color","headerTextColor","onPress","closeButton","closeButtonText","scrollView","section","sectionBackgroundColor","sectionTitle","sectionTitleColor","difficultyRow","map","level","difficultyButton","buttonSelectedColor","buttonUnselectedColor","buttonText","capitalize","buttonSelectedTextColor","buttonUnselectedTextColor","infoBox","infoText","infoTextColor","boldText","easy","medium","hard","toggleContainer","toggleTitle","toggleSubtitle","value","onValueChange","trackColor","false","switchTrackColorFalse","true","switchTrackColorTrue","thumbColor","switchThumbColor","resetSection","resetButton","resetButtonColor","resetButtonText","resetButtonTextColor","resetDescription","create","flex","flexDirection","justifyContent","alignItems","padding","fontSize","fontWeight","borderRadius","marginBottom","paddingVertical","paddingHorizontal","marginHorizontal","textTransform","lineHeight","marginTop","textAlign"],"sourceRoot":"../../../../src","sources":["shared/settings/GameSettings.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ import { create } from 'zustand';
4
+
5
+ // Simplified game settings interface - only the essentials
6
+
7
+ // Game duration constants
8
+ export const GAME_DURATIONS = {
9
+ easy: 60,
10
+ // 1 minute
11
+ medium: 120,
12
+ // 2 minutes
13
+ hard: 180 // 3 minutes
14
+ };
15
+
16
+ // Helper function to get duration based on difficulty
17
+ export const getDurationForDifficulty = difficulty => {
18
+ return GAME_DURATIONS[difficulty];
19
+ };
20
+
21
+ // Default settings that work for all games
22
+ export const DEFAULT_GAME_SETTINGS = {
23
+ difficulty: 'medium',
24
+ soundEnabled: true,
25
+ hapticEnabled: true
26
+ };
27
+
28
+ // Store interface with actions
29
+
30
+ // Factory function to create game-specific settings store
31
+ export const createGameSettingsStore = (initialSettings = {}, onSettingsChange) => {
32
+ const mergedSettings = {
33
+ ...DEFAULT_GAME_SETTINGS,
34
+ ...initialSettings
35
+ };
36
+ return create((set, get) => ({
37
+ ...mergedSettings,
38
+ // Computed game duration based on difficulty
39
+ get gameDuration() {
40
+ return getDurationForDifficulty(get().difficulty);
41
+ },
42
+ setDifficulty: difficulty => {
43
+ set({
44
+ difficulty
45
+ });
46
+ if (onSettingsChange) {
47
+ const currentState = get();
48
+ onSettingsChange({
49
+ difficulty: currentState.difficulty,
50
+ soundEnabled: currentState.soundEnabled,
51
+ hapticEnabled: currentState.hapticEnabled,
52
+ gameDuration: currentState.gameDuration
53
+ });
54
+ }
55
+ },
56
+ setSoundEnabled: soundEnabled => {
57
+ set({
58
+ soundEnabled
59
+ });
60
+ if (onSettingsChange) {
61
+ const currentState = get();
62
+ onSettingsChange({
63
+ difficulty: currentState.difficulty,
64
+ soundEnabled: currentState.soundEnabled,
65
+ hapticEnabled: currentState.hapticEnabled,
66
+ gameDuration: currentState.gameDuration
67
+ });
68
+ }
69
+ },
70
+ setHapticEnabled: hapticEnabled => {
71
+ set({
72
+ hapticEnabled
73
+ });
74
+ if (onSettingsChange) {
75
+ const currentState = get();
76
+ onSettingsChange({
77
+ difficulty: currentState.difficulty,
78
+ soundEnabled: currentState.soundEnabled,
79
+ hapticEnabled: currentState.hapticEnabled,
80
+ gameDuration: currentState.gameDuration
81
+ });
82
+ }
83
+ },
84
+ updateSettings: settings => {
85
+ set(settings);
86
+ if (onSettingsChange) {
87
+ const currentState = get();
88
+ onSettingsChange({
89
+ difficulty: currentState.difficulty,
90
+ soundEnabled: currentState.soundEnabled,
91
+ hapticEnabled: currentState.hapticEnabled,
92
+ gameDuration: currentState.gameDuration
93
+ });
94
+ }
95
+ },
96
+ resetToDefaults: () => {
97
+ const defaultSettings = {
98
+ ...DEFAULT_GAME_SETTINGS
99
+ };
100
+ set(defaultSettings);
101
+ if (onSettingsChange) {
102
+ onSettingsChange({
103
+ ...defaultSettings,
104
+ gameDuration: getDurationForDifficulty(defaultSettings.difficulty)
105
+ });
106
+ }
107
+ }
108
+ }));
109
+ };
110
+
111
+ // Export game IDs for consistency
112
+ export const GAME_IDS = {
113
+ WHACK_IT: 'whack-it',
114
+ FRUIT_NINJA: 'fruit-ninja',
115
+ BALLOON_BLASTER: 'balloon-blaster',
116
+ SPACE_CRAFT: 'space-craft',
117
+ MAZE_RUNNER: 'maze-runner'
118
+ };
119
+ //# sourceMappingURL=SettingsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["create","GAME_DURATIONS","easy","medium","hard","getDurationForDifficulty","difficulty","DEFAULT_GAME_SETTINGS","soundEnabled","hapticEnabled","createGameSettingsStore","initialSettings","onSettingsChange","mergedSettings","set","get","gameDuration","setDifficulty","currentState","setSoundEnabled","setHapticEnabled","updateSettings","settings","resetToDefaults","defaultSettings","GAME_IDS","WHACK_IT","FRUIT_NINJA","BALLOON_BLASTER","SPACE_CRAFT","MAZE_RUNNER"],"sourceRoot":"../../../../src","sources":["shared/settings/SettingsService.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface BalloonBlasterGameSettings {
3
+ gameDuration: number;
4
+ difficulty: 'easy' | 'medium' | 'hard';
5
+ soundEnabled: boolean;
6
+ hapticEnabled: boolean;
7
+ }
8
+ interface BalloonBlasterProps {
9
+ settings?: BalloonBlasterGameSettings;
10
+ onSettingsChange?: (settings: BalloonBlasterGameSettings) => void;
11
+ showSettingsModal?: boolean;
12
+ onToggleSettingsModal?: () => void;
13
+ }
14
+ export declare const BalloonBlaster: React.FC<BalloonBlasterProps>;
15
+ export {};
16
+ //# sourceMappingURL=BalloonBlaster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalloonBlaster.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlaster.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAgBD,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwWxD,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { BALLOON_BLASTER_GAME_CONFIG as GAME_CONFIG, BALLOON_BLASTER_ANIMATION_CONFIG as ANIMATION_CONFIG, BALLOON_BLASTER_COLORS as COLORS, BALLOON_TYPES, BALLOON_SPECIAL_ITEMS as SPECIAL_ITEMS } from '../../services/GamesConstants';
2
+ export { GAME_CONFIG, ANIMATION_CONFIG, COLORS, BALLOON_TYPES, SPECIAL_ITEMS };
3
+ export interface Balloon {
4
+ id: string;
5
+ type: (typeof BALLOON_TYPES)[number] | (typeof SPECIAL_ITEMS)[number];
6
+ position: {
7
+ x: number;
8
+ y: number;
9
+ };
10
+ velocity: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ rotation: number;
15
+ rotationSpeed: number;
16
+ isPopped: boolean;
17
+ popTime?: number;
18
+ spawnTime: number;
19
+ isBomb?: boolean;
20
+ isBonus?: boolean;
21
+ }
22
+ export interface Particle {
23
+ id: string;
24
+ position: {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ velocity: {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ color: string;
33
+ size: number;
34
+ lifetime: number;
35
+ maxLifetime: number;
36
+ }
37
+ export declare class BalloonBlasterService {
38
+ private balloonAnimations;
39
+ private particleAnimations;
40
+ private gameTimerRef;
41
+ private balloonSpawnRef;
42
+ private animationRef;
43
+ private comboTimeoutRef;
44
+ private particles;
45
+ constructor(balloonAnimations: Map<string, any>, particleAnimations: Map<string, any>);
46
+ startGameTimer(onTick: () => void): void;
47
+ startBalloonSpawning(spawnBalloon: (balloon: Balloon) => void, customSpawnInterval?: number): void;
48
+ startPhysicsLoop(updateBalloon: (balloonId: string, updates: Partial<Balloon>) => void, removeBalloon: (balloonId: string) => void, getBalloons: () => Balloon[]): void;
49
+ createRandomBalloon(): Balloon;
50
+ createPopParticles(balloon: Balloon): Particle[];
51
+ private updateParticles;
52
+ getParticles(): Particle[];
53
+ checkBalloonPop(balloon: Balloon, slicePath: {
54
+ x: number;
55
+ y: number;
56
+ }[]): boolean;
57
+ private distanceFromPointToLine;
58
+ resetAnimations(): void;
59
+ cleanup(): void;
60
+ private clearGameTimer;
61
+ private clearBalloonSpawn;
62
+ private clearAnimationLoop;
63
+ private clearComboTimeout;
64
+ }
65
+ export declare const createBalloonBlasterService: (balloonAnimations: Map<string, any>, particleAnimations: Map<string, any>) => BalloonBlasterService;
66
+ //# sourceMappingURL=BalloonBlasterService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalloonBlasterService.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Balloon } from './BalloonBlasterService';
2
+ export interface GameState {
3
+ score: number;
4
+ timeLeft: number;
5
+ isPlaying: boolean;
6
+ gameOver: boolean;
7
+ combo: number;
8
+ lives: number;
9
+ }
10
+ export interface BalloonBlasterStore extends GameState {
11
+ balloons: Balloon[];
12
+ slicePath: {
13
+ x: number;
14
+ y: number;
15
+ }[];
16
+ isSlicing: boolean;
17
+ startGame: (gameDuration?: number) => void;
18
+ stopGame: () => void;
19
+ resetGame: () => void;
20
+ popBalloon: (balloonId: string) => void;
21
+ updateScore: (points: number) => void;
22
+ decrementTime: () => void;
23
+ addBalloon: (balloon: Balloon) => void;
24
+ removeBalloon: (balloonId: string) => void;
25
+ updateBalloon: (balloonId: string, updates: Partial<Balloon>) => void;
26
+ setSlicePath: (path: {
27
+ x: number;
28
+ y: number;
29
+ }[]) => void;
30
+ setIsSlicing: (isSlicing: boolean) => void;
31
+ incrementCombo: () => void;
32
+ resetCombo: () => void;
33
+ loseLife: () => void;
34
+ addLife: () => void;
35
+ }
36
+ export declare const useBalloonBlasterStore: import("zustand").UseBoundStore<import("zustand").StoreApi<BalloonBlasterStore>>;
37
+ //# sourceMappingURL=BalloonBlasterStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalloonBlasterStore.d.ts","sourceRoot":"","sources":["../../../../../src/games/balloon-blaster/BalloonBlasterStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IAGnB,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,kFA+IhC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { Balloon } from '../BalloonBlasterService';
3
+ interface BalloonComponentProps {
4
+ balloon: Balloon;
5
+ animation?: any;
6
+ onPop?: (balloonId: string) => void;
7
+ }
8
+ export declare const BalloonComponent: React.FC<BalloonComponentProps>;
9
+ export {};
10
+ //# sourceMappingURL=BalloonComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalloonComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/BalloonComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AASzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGxD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2P5D,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { Balloon, Particle } from '../BalloonBlasterService';
3
+ interface GameAreaProps {
4
+ balloons: Balloon[];
5
+ balloonAnimations: Map<string, any>;
6
+ slicePath: {
7
+ x: number;
8
+ y: number;
9
+ }[];
10
+ isSlicing: boolean;
11
+ particles: Particle[];
12
+ onBalloonPop: (balloonId: string) => void;
13
+ children?: React.ReactNode;
14
+ }
15
+ export declare const GameArea: React.FC<GameAreaProps>;
16
+ export {};
17
+ //# sourceMappingURL=GameArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameArea.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKlE,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoB5C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface GameBackgroundProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const GameBackground: React.FC<GameBackgroundProps>;
6
+ export {};
7
+ //# sourceMappingURL=GameBackground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameBackground.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AA0BzC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuVxD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface GameControlsProps {
3
+ isPlaying: boolean;
4
+ gameOver: boolean;
5
+ onStartGame: () => void;
6
+ onStopGame: () => void;
7
+ }
8
+ export declare const GameControls: React.FC<GameControlsProps>;
9
+ export {};
10
+ //# sourceMappingURL=GameControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameControls.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6GpD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface GameOverModalProps {
3
+ isVisible: boolean;
4
+ score: number;
5
+ onPlayAgain: () => void;
6
+ }
7
+ export declare const GameOverModal: React.FC<GameOverModalProps>;
8
+ export {};
9
+ //# sourceMappingURL=GameOverModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GameOverModal.d.ts","sourceRoot":"","sources":["../../../../../../src/games/balloon-blaster/components/GameOverModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6BtD,CAAC"}