react-native-games 0.4.0 → 0.5.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 (275) hide show
  1. package/README.md +121 -130
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +111 -423
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +27 -28
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +42 -117
  7. package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -1
  8. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +12 -1
  9. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -1
  10. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +102 -75
  11. package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -1
  12. package/lib/module/games/balloon-blaster/components/GameArea.js +139 -30
  13. package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -1
  14. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +7 -6
  15. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  16. package/lib/module/games/balloon-blaster/components/index.js +0 -3
  17. package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
  18. package/lib/module/games/fruit-ninja/FruitNinja.js +94 -376
  19. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  20. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +19 -22
  21. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  22. package/lib/module/games/fruit-ninja/FruitNinjaService.js +30 -9
  23. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -1
  24. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +29 -4
  25. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  26. package/lib/module/games/fruit-ninja/components/GameArea.js +194 -29
  27. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  28. package/lib/module/games/fruit-ninja/components/GameBackground.js +107 -190
  29. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  30. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +9 -30
  31. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  32. package/lib/module/games/fruit-ninja/components/index.js +0 -3
  33. package/lib/module/games/fruit-ninja/components/index.js.map +1 -1
  34. package/lib/module/games/maze-runner/MazeRunner.js +106 -109
  35. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  36. package/lib/module/games/maze-runner/MazeRunnerConstants.js +19 -24
  37. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  38. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +5 -4
  39. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  40. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +16 -7
  41. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  42. package/lib/module/games/maze-runner/components/ScoreBoard.js +8 -3
  43. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  44. package/lib/module/games/maze-runner/components/WallComponent.js +3 -2
  45. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  46. package/lib/module/games/maze-runner/components/index.js +0 -1
  47. package/lib/module/games/maze-runner/components/index.js.map +1 -1
  48. package/lib/module/games/popit-fidget/PopitFidget.js +113 -112
  49. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  50. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +20 -23
  51. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
  52. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -59
  53. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -1
  54. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -27
  55. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  56. package/lib/module/games/popit-fidget/components/BubbleComponent.js +24 -22
  57. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -1
  58. package/lib/module/games/popit-fidget/components/GameBackground.js +4 -1
  59. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -1
  60. package/lib/module/games/popit-fidget/components/ScoreBoard.js +9 -2
  61. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  62. package/lib/module/games/popit-fidget/components/index.js +0 -2
  63. package/lib/module/games/popit-fidget/components/index.js.map +1 -1
  64. package/lib/module/games/space-fighter/SpaceFighter.js +121 -369
  65. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  66. package/lib/module/games/space-fighter/SpaceFighterConstants.js +21 -23
  67. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  68. package/lib/module/games/space-fighter/SpaceFighterService.js +30 -11
  69. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  70. package/lib/module/games/space-fighter/SpaceFighterStore.js +54 -2
  71. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  72. package/lib/module/games/space-fighter/components/AsteroidComponent.js +7 -5
  73. package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -1
  74. package/lib/module/games/space-fighter/components/GameArea.js +234 -14
  75. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  76. package/lib/module/games/space-fighter/components/GameBackground.js +10 -65
  77. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -1
  78. package/lib/module/games/space-fighter/components/ScoreBoard.js +9 -7
  79. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  80. package/lib/module/games/space-fighter/components/Spacecraft3D.js +72 -111
  81. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -1
  82. package/lib/module/games/space-fighter/components/SpacecraftPath.js +42 -27
  83. package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -1
  84. package/lib/module/games/space-fighter/components/index.js +0 -3
  85. package/lib/module/games/space-fighter/components/index.js.map +1 -1
  86. package/lib/module/games/whack-a-mole/WhackAMole.js +63 -73
  87. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  88. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +17 -19
  89. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  90. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +20 -7
  91. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -1
  92. package/lib/module/games/whack-a-mole/components/GameHole.js +2 -2
  93. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -1
  94. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +5 -1
  95. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  96. package/lib/module/games/whack-a-mole/components/index.js +0 -1
  97. package/lib/module/games/whack-a-mole/components/index.js.map +1 -1
  98. package/lib/module/services/GamesConstants.js +13 -21
  99. package/lib/module/services/GamesConstants.js.map +1 -1
  100. package/lib/module/services/GamesService.js +30 -26
  101. package/lib/module/services/GamesService.js.map +1 -1
  102. package/lib/module/services/SoundsService.js +21 -21
  103. package/lib/module/shared/helpers/AnimationFrame.js +120 -0
  104. package/lib/module/shared/helpers/AnimationFrame.js.map +1 -0
  105. package/lib/module/shared/helpers/AnimationTracker.js +89 -0
  106. package/lib/module/shared/helpers/AnimationTracker.js.map +1 -0
  107. package/lib/module/shared/helpers/ErrorHandler.js +269 -0
  108. package/lib/module/shared/helpers/ErrorHandler.js.map +1 -0
  109. package/lib/module/shared/helpers/GameControlButton.js +67 -58
  110. package/lib/module/shared/helpers/GameControlButton.js.map +1 -1
  111. package/lib/module/{games/whack-a-mole/components → shared/helpers}/GameOverModal.js +23 -13
  112. package/lib/module/shared/helpers/GameOverModal.js.map +1 -0
  113. package/lib/module/shared/helpers/GameSettingsModal.js +287 -0
  114. package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -0
  115. package/lib/module/shared/helpers/ParticleBlast.js +133 -0
  116. package/lib/module/shared/helpers/ParticleBlast.js.map +1 -0
  117. package/lib/module/shared/helpers/index.js +7 -0
  118. package/lib/module/shared/helpers/index.js.map +1 -1
  119. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +2 -14
  120. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  121. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +8 -7
  122. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -1
  123. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -2
  124. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  125. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  126. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  127. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +1 -15
  128. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  129. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +1 -7
  130. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  131. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -3
  132. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
  133. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +2 -14
  134. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  135. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +5 -5
  136. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -1
  137. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +9 -1
  138. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -1
  139. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +1 -0
  140. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -1
  141. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +1 -15
  142. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -1
  143. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  144. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +1 -7
  145. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  146. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts +0 -3
  147. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -1
  148. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +2 -8
  149. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  150. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +4 -4
  151. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -1
  152. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  153. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  154. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  155. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  156. package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -1
  157. package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
  158. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +2 -8
  159. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  160. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +4 -4
  161. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -1
  162. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -21
  163. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -1
  164. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +1 -5
  165. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  166. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -1
  167. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +2 -2
  168. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -1
  169. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  170. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  171. package/lib/typescript/src/games/popit-fidget/components/index.d.ts +0 -2
  172. package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -1
  173. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +3 -8
  174. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  175. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +4 -4
  176. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -1
  177. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  178. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  179. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -1
  180. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -1
  181. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +1 -15
  182. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  183. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -1
  184. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +1 -6
  185. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  186. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -1
  187. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -1
  188. package/lib/typescript/src/games/space-fighter/components/index.d.ts +0 -3
  189. package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -1
  190. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +2 -11
  191. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  192. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +2 -2
  193. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -1
  194. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -1
  195. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts +0 -1
  196. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -1
  197. package/lib/typescript/src/services/GamesConstants.d.ts +47 -38
  198. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  199. package/lib/typescript/src/services/GamesService.d.ts +20 -3
  200. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  201. package/lib/typescript/src/services/SoundsService.d.ts +20 -20
  202. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts +41 -0
  203. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +1 -0
  204. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts +45 -0
  205. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +1 -0
  206. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts +124 -0
  207. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +1 -0
  208. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -1
  209. package/lib/typescript/src/{games/balloon-blaster/components → shared/helpers}/GameOverModal.d.ts +5 -0
  210. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -0
  211. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts +9 -0
  212. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +1 -0
  213. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts +12 -0
  214. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -0
  215. package/lib/typescript/src/shared/helpers/index.d.ts +9 -0
  216. package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -1
  217. package/package.json +1 -1
  218. package/lib/module/games/balloon-blaster/components/GameOverModal.js +0 -133
  219. package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +0 -1
  220. package/lib/module/games/balloon-blaster/components/ParticleSystem.js +0 -55
  221. package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +0 -1
  222. package/lib/module/games/balloon-blaster/components/SliceTrail.js +0 -58
  223. package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +0 -1
  224. package/lib/module/games/fruit-ninja/components/GameOverModal.js +0 -189
  225. package/lib/module/games/fruit-ninja/components/GameOverModal.js.map +0 -1
  226. package/lib/module/games/fruit-ninja/components/ParticleSystem.js +0 -52
  227. package/lib/module/games/fruit-ninja/components/ParticleSystem.js.map +0 -1
  228. package/lib/module/games/fruit-ninja/components/SliceTrail.js +0 -58
  229. package/lib/module/games/fruit-ninja/components/SliceTrail.js.map +0 -1
  230. package/lib/module/games/maze-runner/components/GameOverModal.js +0 -134
  231. package/lib/module/games/maze-runner/components/GameOverModal.js.map +0 -1
  232. package/lib/module/games/popit-fidget/components/GameOverModal.js +0 -132
  233. package/lib/module/games/popit-fidget/components/GameOverModal.js.map +0 -1
  234. package/lib/module/games/popit-fidget/components/ParticleSystem.js +0 -89
  235. package/lib/module/games/popit-fidget/components/ParticleSystem.js.map +0 -1
  236. package/lib/module/games/space-fighter/components/GameOverModal.js +0 -182
  237. package/lib/module/games/space-fighter/components/GameOverModal.js.map +0 -1
  238. package/lib/module/games/space-fighter/components/ParticleComponent.js +0 -34
  239. package/lib/module/games/space-fighter/components/ParticleComponent.js.map +0 -1
  240. package/lib/module/games/space-fighter/components/SettingsModal.js +0 -222
  241. package/lib/module/games/space-fighter/components/SettingsModal.js.map +0 -1
  242. package/lib/module/games/whack-a-mole/components/GameOverModal.js.map +0 -1
  243. package/lib/module/shared/settings/GameSettings.js +0 -295
  244. package/lib/module/shared/settings/GameSettings.js.map +0 -1
  245. package/lib/module/shared/settings/SettingsService.js +0 -125
  246. package/lib/module/shared/settings/SettingsService.js.map +0 -1
  247. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +0 -1
  248. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +0 -8
  249. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +0 -1
  250. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +0 -11
  251. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +0 -1
  252. package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts +0 -9
  253. package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts.map +0 -1
  254. package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts +0 -8
  255. package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts.map +0 -1
  256. package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts +0 -11
  257. package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts.map +0 -1
  258. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +0 -11
  259. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +0 -1
  260. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts +0 -9
  261. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts.map +0 -1
  262. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts +0 -9
  263. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts.map +0 -1
  264. package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts +0 -9
  265. package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts.map +0 -1
  266. package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts +0 -8
  267. package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts.map +0 -1
  268. package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts +0 -9
  269. package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts.map +0 -1
  270. package/lib/typescript/src/games/whack-a-mole/components/GameOverModal.d.ts +0 -9
  271. package/lib/typescript/src/games/whack-a-mole/components/GameOverModal.d.ts.map +0 -1
  272. package/lib/typescript/src/shared/settings/GameSettings.d.ts +0 -36
  273. package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +0 -1
  274. package/lib/typescript/src/shared/settings/SettingsService.d.ts +0 -33
  275. package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +0 -1
@@ -1,93 +1,59 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect } from 'react';
3
+ import React, { useEffect, useMemo } from 'react';
4
4
  import { Canvas, Circle, Path, Skia, vec, Group, Shadow, LinearGradient, RadialGradient } from '@shopify/react-native-skia';
5
- import { useSharedValue, useAnimatedStyle, withRepeat, withTiming, withSequence, interpolate, Extrapolation } from 'react-native-reanimated';
5
+ import { useSharedValue, useAnimatedStyle, withRepeat, withTiming } from 'react-native-reanimated';
6
6
  import Animated from 'react-native-reanimated';
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- export const Spacecraft3D = ({
8
+ // Highly optimized Spacecraft3D component with minimal animation overhead
9
+ export const Spacecraft3D = /*#__PURE__*/React.memo(({
9
10
  spacecraft,
10
11
  isControlled
11
12
  }) => {
12
13
  const size = spacecraft.size;
13
14
  const canvasSize = size * 2.5; // Larger canvas for 3D effects
14
15
 
15
- // Animations
16
+ // Reduced to essential animations only for better performance
16
17
  const engineGlow = useSharedValue(0);
17
- const thrusterPulse = useSharedValue(1);
18
- const hoverFloat = useSharedValue(0);
19
18
  const energyField = useSharedValue(0);
20
- const plasmaEffect = useSharedValue(0);
21
- useEffect(() => {
22
- // Engine glow animation - more dynamic
23
- engineGlow.value = withRepeat(withSequence(withTiming(1, {
24
- duration: 600
25
- }), withTiming(0.4, {
26
- duration: 400
27
- }), withTiming(0.8, {
28
- duration: 300
29
- }), withTiming(0.2, {
30
- duration: 500
31
- })), -1, false);
32
-
33
- // Energy field animation
34
- energyField.value = withRepeat(withSequence(withTiming(1, {
35
- duration: 1200
36
- }), withTiming(0, {
37
- duration: 800
38
- })), -1, false);
39
19
 
40
- // Plasma effect animation
41
- plasmaEffect.value = withRepeat(withSequence(withTiming(1, {
42
- duration: 400
43
- }), withTiming(0.3, {
44
- duration: 600
45
- }), withTiming(0.9, {
46
- duration: 300
47
- }), withTiming(0.1, {
48
- duration: 700
49
- })), -1, false);
20
+ // Memoize static values to prevent recalculation
21
+ const animationConfig = useMemo(() => ({
22
+ engineDuration: 1200,
23
+ // Slower for less CPU usage
24
+ energyDuration: 1500,
25
+ // Slower for less CPU usage
26
+ transitionDuration: 300
27
+ }), []);
28
+ useEffect(() => {
29
+ // Single essential engine glow animation - optimized timing
30
+ engineGlow.value = withRepeat(withTiming(1, {
31
+ duration: animationConfig.engineDuration
32
+ }), -1, true);
50
33
 
51
- // Thruster pulse when controlled - more intense
34
+ // Conditional energy field animation - only when controlled
52
35
  if (isControlled) {
53
- thrusterPulse.value = withRepeat(withSequence(withTiming(1.5, {
54
- duration: 150
55
- }), withTiming(0.8, {
56
- duration: 100
57
- }), withTiming(1.2, {
58
- duration: 150
59
- })), -1, false);
36
+ energyField.value = withRepeat(withTiming(1, {
37
+ duration: animationConfig.energyDuration
38
+ }), -1, true);
60
39
  } else {
61
- thrusterPulse.value = withTiming(1, {
62
- duration: 300
40
+ energyField.value = withTiming(0, {
41
+ duration: animationConfig.transitionDuration
63
42
  });
64
43
  }
44
+ }, [isControlled, animationConfig]);
65
45
 
66
- // More dynamic hover float
67
- hoverFloat.value = withRepeat(withSequence(withTiming(1, {
68
- duration: 1500
69
- }), withTiming(-0.5, {
70
- duration: 1000
71
- }), withTiming(0.5, {
72
- duration: 800
73
- }), withTiming(-1, {
74
- duration: 1200
75
- })), -1, false);
76
- }, [isControlled]);
46
+ // Simplified animated style - removed hover float for better performance
77
47
  const animatedStyle = useAnimatedStyle(() => {
78
- const scale = isControlled ? 1.1 : 1;
79
- const floatY = interpolate(hoverFloat.value, [-1, 1], [-2, 2], Extrapolation.CLAMP);
80
48
  return {
81
49
  transform: [{
82
- scale
83
- }, {
84
- translateY: floatY
50
+ scale: isControlled ? 1.1 : 1
85
51
  }]
86
52
  };
87
- });
53
+ }, [isControlled]);
88
54
 
89
- // Create spacecraft body path
90
- const createSpacecraftBody = () => {
55
+ // Memoized spacecraft body path for performance
56
+ const spacecraftBodyPath = useMemo(() => {
91
57
  const path = Skia.Path.Make();
92
58
  const centerX = canvasSize / 2;
93
59
  const centerY = canvasSize / 2;
@@ -102,10 +68,10 @@ export const Spacecraft3D = ({
102
68
  height: bodyHeight
103
69
  });
104
70
  return path;
105
- };
71
+ }, [canvasSize, size]);
106
72
 
107
- // Create wing paths
108
- const createWings = () => {
73
+ // Memoized wing paths for performance
74
+ const wingPaths = useMemo(() => {
109
75
  const leftWing = Skia.Path.Make();
110
76
  const rightWing = Skia.Path.Make();
111
77
  const centerX = canvasSize / 2;
@@ -128,10 +94,10 @@ export const Spacecraft3D = ({
128
94
  leftWing,
129
95
  rightWing
130
96
  };
131
- };
97
+ }, [canvasSize, size]);
132
98
 
133
- // Create cockpit path
134
- const createCockpit = () => {
99
+ // Memoized cockpit path for performance
100
+ const cockpitPath = useMemo(() => {
135
101
  const path = Skia.Path.Make();
136
102
  const centerX = canvasSize / 2;
137
103
  const centerY = canvasSize / 2;
@@ -143,15 +109,17 @@ export const Spacecraft3D = ({
143
109
  height: cockpitSize * 0.8
144
110
  });
145
111
  return path;
146
- };
147
- const spacecraftBody = createSpacecraftBody();
112
+ }, [canvasSize, size]);
113
+
114
+ // Memoized center coordinates for performance
115
+ const centerCoords = useMemo(() => ({
116
+ centerX: canvasSize / 2,
117
+ centerY: canvasSize / 2
118
+ }), [canvasSize]);
148
119
  const {
149
- leftWing,
150
- rightWing
151
- } = createWings();
152
- const cockpit = createCockpit();
153
- const centerX = canvasSize / 2;
154
- const centerY = canvasSize / 2;
120
+ centerX,
121
+ centerY
122
+ } = centerCoords;
155
123
  return /*#__PURE__*/_jsx(Animated.View, {
156
124
  style: [{
157
125
  position: 'absolute',
@@ -173,13 +141,13 @@ export const Spacecraft3D = ({
173
141
  blur: 6,
174
142
  color: "rgba(0,0,0,0.4)"
175
143
  }), /*#__PURE__*/_jsx(Path, {
176
- path: leftWing,
144
+ path: wingPaths.leftWing,
177
145
  color: "rgba(0,100,200,0.6)"
178
146
  }), /*#__PURE__*/_jsx(Path, {
179
- path: rightWing,
147
+ path: wingPaths.rightWing,
180
148
  color: "rgba(0,100,200,0.6)"
181
149
  }), /*#__PURE__*/_jsx(Path, {
182
- path: spacecraftBody,
150
+ path: spacecraftBodyPath,
183
151
  color: "rgba(0,150,255,0.7)"
184
152
  })]
185
153
  }), /*#__PURE__*/_jsx(Circle, {
@@ -193,49 +161,42 @@ export const Spacecraft3D = ({
193
161
  r: size * 0.6,
194
162
  color: `rgba(100, 200, 255, ${0.15 + energyField.value * 0.25})`
195
163
  }), /*#__PURE__*/_jsx(Path, {
196
- path: spacecraftBody,
164
+ path: spacecraftBodyPath,
197
165
  children: /*#__PURE__*/_jsx(LinearGradient, {
198
166
  start: vec(centerX - size * 0.4, centerY - size * 0.6),
199
167
  end: vec(centerX + size * 0.4, centerY + size * 0.6),
200
168
  colors: ['#00ffff', '#00d4ff', '#0099ff', '#0066cc', '#003399']
201
169
  })
202
170
  }), /*#__PURE__*/_jsx(Path, {
203
- path: spacecraftBody,
204
- children: /*#__PURE__*/_jsx(RadialGradient, {
205
- c: vec(centerX, centerY - size * 0.2),
206
- r: size * 0.5,
207
- colors: [`rgba(255, 100, 255, ${plasmaEffect.value * 0.4})`, `rgba(100, 255, 255, ${plasmaEffect.value * 0.2})`, 'rgba(0, 0, 0, 0)']
208
- })
209
- }), /*#__PURE__*/_jsx(Path, {
210
- path: leftWing,
171
+ path: wingPaths.leftWing,
211
172
  children: /*#__PURE__*/_jsx(LinearGradient, {
212
173
  start: vec(centerX - size * 0.8, centerY - size * 0.2),
213
174
  end: vec(centerX - size * 0.2, centerY + size * 0.2),
214
175
  colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
215
176
  })
216
177
  }), /*#__PURE__*/_jsx(Path, {
217
- path: rightWing,
178
+ path: wingPaths.rightWing,
218
179
  children: /*#__PURE__*/_jsx(LinearGradient, {
219
180
  start: vec(centerX + size * 0.2, centerY - size * 0.2),
220
181
  end: vec(centerX + size * 0.8, centerY + size * 0.2),
221
182
  colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
222
183
  })
223
184
  }), /*#__PURE__*/_jsx(Path, {
224
- path: leftWing,
185
+ path: wingPaths.leftWing,
225
186
  children: /*#__PURE__*/_jsx(LinearGradient, {
226
187
  start: vec(centerX - size * 0.6, centerY),
227
188
  end: vec(centerX - size * 0.9, centerY),
228
189
  colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
229
190
  })
230
191
  }), /*#__PURE__*/_jsx(Path, {
231
- path: rightWing,
192
+ path: wingPaths.rightWing,
232
193
  children: /*#__PURE__*/_jsx(LinearGradient, {
233
194
  start: vec(centerX + size * 0.6, centerY),
234
195
  end: vec(centerX + size * 0.9, centerY),
235
196
  colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
236
197
  })
237
198
  }), /*#__PURE__*/_jsx(Path, {
238
- path: cockpit,
199
+ path: cockpitPath,
239
200
  children: /*#__PURE__*/_jsx(RadialGradient, {
240
201
  c: vec(centerX, centerY - size * 0.4),
241
202
  r: size * 0.3,
@@ -283,56 +244,56 @@ export const Spacecraft3D = ({
283
244
  children: [/*#__PURE__*/_jsx(Circle, {
284
245
  cx: centerX - size * 0.15,
285
246
  cy: centerY + size * 0.65,
286
- r: size * 0.12 * thrusterPulse.value,
287
- color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
247
+ r: size * 0.12 * (isControlled ? 1.2 : 1),
248
+ color: `rgba(255, 50, 0, ${0.6 + (isControlled ? energyField.value : 0) * 0.3})`
288
249
  }), /*#__PURE__*/_jsx(Circle, {
289
250
  cx: centerX + size * 0.15,
290
251
  cy: centerY + size * 0.65,
291
- r: size * 0.12 * thrusterPulse.value,
292
- color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
252
+ r: size * 0.12 * (isControlled ? 1.2 : 1),
253
+ color: `rgba(255, 50, 0, ${0.6 + (isControlled ? energyField.value : 0) * 0.3})`
293
254
  }), /*#__PURE__*/_jsx(Circle, {
294
255
  cx: centerX - size * 0.15,
295
256
  cy: centerY + size * 0.8,
296
- r: size * 0.08 * thrusterPulse.value,
257
+ r: size * 0.08 * (isControlled ? 1.2 : 1),
297
258
  color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
298
259
  }), /*#__PURE__*/_jsx(Circle, {
299
260
  cx: centerX + size * 0.15,
300
261
  cy: centerY + size * 0.8,
301
- r: size * 0.08 * thrusterPulse.value,
262
+ r: size * 0.08 * (isControlled ? 1.2 : 1),
302
263
  color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
303
264
  })]
304
265
  }), /*#__PURE__*/_jsx(Circle, {
305
266
  cx: centerX - size * 0.8,
306
267
  cy: centerY,
307
- r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
268
+ r: size * 0.06 * (1 + (isControlled ? energyField.value : 0) * 0.3),
308
269
  color: `rgba(0, 255, 0, ${0.8 + energyField.value * 0.2})`
309
270
  }), /*#__PURE__*/_jsx(Circle, {
310
271
  cx: centerX - size * 0.8,
311
272
  cy: centerY,
312
- r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
273
+ r: size * 0.12 * (1 + (isControlled ? energyField.value : 0) * 0.2),
313
274
  color: `rgba(0, 255, 0, ${0.3 + energyField.value * 0.3})`
314
275
  }), /*#__PURE__*/_jsx(Circle, {
315
276
  cx: centerX + size * 0.8,
316
277
  cy: centerY,
317
- r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
278
+ r: size * 0.06 * (1 + (isControlled ? energyField.value : 0) * 0.3),
318
279
  color: `rgba(255, 0, 0, ${0.8 + energyField.value * 0.2})`
319
280
  }), /*#__PURE__*/_jsx(Circle, {
320
281
  cx: centerX + size * 0.8,
321
282
  cy: centerY,
322
- r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
283
+ r: size * 0.12 * (1 + (isControlled ? energyField.value : 0) * 0.2),
323
284
  color: `rgba(255, 0, 0, ${0.3 + energyField.value * 0.3})`
324
285
  }), /*#__PURE__*/_jsx(Path, {
325
- path: spacecraftBody,
286
+ path: spacecraftBodyPath,
326
287
  children: /*#__PURE__*/_jsx(LinearGradient, {
327
288
  start: vec(centerX - size * 0.3, centerY - size * 0.5),
328
289
  end: vec(centerX - size * 0.1, centerY - size * 0.3),
329
- colors: [`rgba(255,255,255,${0.6 + plasmaEffect.value * 0.2})`, `rgba(100,255,255,${0.3 + energyField.value * 0.2})`, 'rgba(255,255,255,0)']
290
+ colors: [`rgba(255,255,255,${0.6 + (isControlled ? energyField.value : 0) * 0.2})`, `rgba(100,255,255,${0.3 + energyField.value * 0.2})`, 'rgba(255,255,255,0)']
330
291
  })
331
292
  }), /*#__PURE__*/_jsx(Circle, {
332
293
  cx: centerX - size * 0.1,
333
294
  cy: centerY - size * 0.45,
334
- r: size * 0.08 * (1 + hoverFloat.value * 0.1),
335
- color: `rgba(255,255,255,${0.8 + plasmaEffect.value * 0.2})`
295
+ r: size * 0.08 * (1 + 0 * 0.1),
296
+ color: `rgba(255,255,255,${0.8 + (isControlled ? energyField.value : 0) * 0.2})`
336
297
  }), /*#__PURE__*/_jsx(Circle, {
337
298
  cx: centerX + size * 0.05,
338
299
  cy: centerY - size * 0.35,
@@ -345,7 +306,7 @@ export const Spacecraft3D = ({
345
306
  children: /*#__PURE__*/_jsx(RadialGradient, {
346
307
  c: vec(centerX, centerY),
347
308
  r: size * 0.08,
348
- colors: [`rgba(255, 255, 255, ${0.9 + plasmaEffect.value * 0.1})`, `rgba(0, 255, 255, ${0.7 + energyField.value * 0.2})`, `rgba(0, 100, 255, ${0.5 + plasmaEffect.value * 0.3})`, 'rgba(0, 0, 0, 0)']
309
+ colors: [`rgba(255, 255, 255, ${0.9 + (isControlled ? energyField.value : 0) * 0.1})`, `rgba(0, 255, 255, ${0.7 + energyField.value * 0.2})`, `rgba(0, 100, 255, ${0.5 + (isControlled ? energyField.value : 0) * 0.3})`, 'rgba(0, 0, 0, 0)']
349
310
  })
350
311
  }), Array.from({
351
312
  length: 8
@@ -353,10 +314,10 @@ export const Spacecraft3D = ({
353
314
  cx: centerX + Math.cos(i * Math.PI / 4) * size * 0.3,
354
315
  cy: centerY + Math.sin(i * Math.PI / 4) * size * 0.3,
355
316
  r: size * 0.02 * (1 + Math.sin(energyField.value * Math.PI + i) * 0.5),
356
- color: `rgba(0, 255, 255, ${0.3 + Math.abs(Math.sin(plasmaEffect.value * Math.PI + i)) * 0.4})`
317
+ color: `rgba(0, 255, 255, ${0.3 + Math.abs(Math.sin((isControlled ? energyField.value : 0) * Math.PI + i)) * 0.4})`
357
318
  }, i))]
358
319
  })
359
320
  })
360
321
  });
361
- };
322
+ });
362
323
  //# sourceMappingURL=Spacecraft3D.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","Canvas","Circle","Path","Skia","vec","Group","Shadow","LinearGradient","RadialGradient","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","interpolate","Extrapolation","Animated","jsx","_jsx","jsxs","_jsxs","Spacecraft3D","spacecraft","isControlled","size","canvasSize","engineGlow","thrusterPulse","hoverFloat","energyField","plasmaEffect","value","duration","animatedStyle","scale","floatY","CLAMP","transform","translateY","createSpacecraftBody","path","Make","centerX","centerY","bodyWidth","bodyHeight","addOval","x","y","width","height","createWings","leftWing","rightWing","wingWidth","wingHeight","moveTo","lineTo","close","createCockpit","cockpitSize","spacecraftBody","cockpit","View","style","position","left","top","children","dx","dy","blur","color","cx","cy","r","start","end","colors","c","Array","from","length","_","i","Math","cos","PI","sin","abs"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/Spacecraft3D.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","Canvas","Circle","Path","Skia","vec","Group","Shadow","LinearGradient","RadialGradient","useSharedValue","useAnimatedStyle","withRepeat","withTiming","Animated","jsx","_jsx","jsxs","_jsxs","Spacecraft3D","memo","spacecraft","isControlled","size","canvasSize","engineGlow","energyField","animationConfig","engineDuration","energyDuration","transitionDuration","value","duration","animatedStyle","transform","scale","spacecraftBodyPath","path","Make","centerX","centerY","bodyWidth","bodyHeight","addOval","x","y","width","height","wingPaths","leftWing","rightWing","wingWidth","wingHeight","moveTo","lineTo","close","cockpitPath","cockpitSize","centerCoords","View","style","position","left","top","children","dx","dy","blur","color","cx","cy","r","start","end","colors","c","Array","from","length","_","i","Math","cos","PI","sin","abs"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/Spacecraft3D.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,37 +1,52 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
4
- import { View } from 'react-native';
3
+ import React, { useMemo } from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
5
  import { COLORS } from "../SpaceFighterService.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const SpacecraftPath = ({
7
+ // Optimized SpacecraftPath with performance improvements
8
+ export const SpacecraftPath = /*#__PURE__*/React.memo(({
8
9
  path
9
10
  }) => {
11
+ // Early return for performance
10
12
  if (path.length < 2) return null;
13
+
14
+ // Memoize path points to prevent recalculation on every render
15
+ const pathPoints = useMemo(() => {
16
+ return path.slice(1).map((point, index) => ({
17
+ key: `path-${index}`,
18
+ x: point.x - 2,
19
+ y: point.y - 2,
20
+ opacity: (index + 1) / path.length * 0.5
21
+ }));
22
+ }, [path]);
11
23
  return /*#__PURE__*/_jsx(View, {
12
- style: {
13
- position: 'absolute',
14
- top: 0,
15
- left: 0,
16
- right: 0,
17
- bottom: 0
18
- },
19
- children: path.map((point, index) => {
20
- if (index === 0) return null;
21
- const opacity = index / path.length * 0.5;
22
- return /*#__PURE__*/_jsx(View, {
23
- style: {
24
- position: 'absolute',
25
- left: point.x - 2,
26
- top: point.y - 2,
27
- width: 4,
28
- height: 4,
29
- borderRadius: 2,
30
- backgroundColor: COLORS.SPACECRAFT,
31
- opacity
32
- }
33
- }, index);
34
- })
24
+ style: styles.container,
25
+ children: pathPoints.map(point => /*#__PURE__*/_jsx(View, {
26
+ style: [styles.pathPoint, {
27
+ left: point.x,
28
+ top: point.y,
29
+ opacity: point.opacity
30
+ }]
31
+ }, point.key))
35
32
  });
36
- };
33
+ });
34
+
35
+ // Optimized styles using StyleSheet
36
+ const styles = StyleSheet.create({
37
+ container: {
38
+ position: 'absolute',
39
+ top: 0,
40
+ left: 0,
41
+ right: 0,
42
+ bottom: 0
43
+ },
44
+ pathPoint: {
45
+ position: 'absolute',
46
+ width: 4,
47
+ height: 4,
48
+ borderRadius: 2,
49
+ backgroundColor: COLORS.SPACECRAFT
50
+ }
51
+ });
37
52
  //# sourceMappingURL=SpacecraftPath.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","COLORS","jsx","_jsx","SpacecraftPath","path","length","style","position","top","left","right","bottom","children","map","point","index","opacity","x","y","width","height","borderRadius","backgroundColor","SPACECRAFT"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/SpacecraftPath.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,MAAM,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhD,OAAO,MAAMC,cAA6C,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EACzE,IAAIA,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;EAEhC,oBACEH,IAAA,CAACH,IAAI;IAACO,KAAK,EAAE;MAAEC,QAAQ,EAAE,UAAU;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAE;IAAAC,QAAA,EACzER,IAAI,CAACS,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;MAC1B,IAAIA,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI;MAC5B,MAAMC,OAAO,GAAID,KAAK,GAAGX,IAAI,CAACC,MAAM,GAAI,GAAG;MAC3C,oBACEH,IAAA,CAACH,IAAI;QAEHO,KAAK,EAAE;UACLC,QAAQ,EAAE,UAAU;UACpBE,IAAI,EAAEK,KAAK,CAACG,CAAC,GAAG,CAAC;UACjBT,GAAG,EAAEM,KAAK,CAACI,CAAC,GAAG,CAAC;UAChBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CAAC;UACTC,YAAY,EAAE,CAAC;UACfC,eAAe,EAAEtB,MAAM,CAACuB,UAAU;UAClCP;QACF;MAAE,GAVGD,KAWN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","StyleSheet","COLORS","jsx","_jsx","SpacecraftPath","memo","path","length","pathPoints","slice","map","point","index","key","x","y","opacity","style","styles","container","children","pathPoint","left","top","create","position","right","bottom","width","height","borderRadius","backgroundColor","SPACECRAFT"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/SpacecraftPath.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,MAAM,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhD;AACA,OAAO,MAAMC,cAA6C,gBAAGP,KAAK,CAACQ,IAAI,CAAC,CAAC;EAAEC;AAAK,CAAC,KAAK;EACpF;EACA,IAAIA,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;;EAEhC;EACA,MAAMC,UAAU,GAAGV,OAAO,CAAC,MAAM;IAC/B,OAAOQ,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,MAAM;MAC1CC,GAAG,EAAE,QAAQD,KAAK,EAAE;MACpBE,CAAC,EAAEH,KAAK,CAACG,CAAC,GAAG,CAAC;MACdC,CAAC,EAAEJ,KAAK,CAACI,CAAC,GAAG,CAAC;MACdC,OAAO,EAAG,CAACJ,KAAK,GAAG,CAAC,IAAIN,IAAI,CAACC,MAAM,GAAI;IACzC,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACD,IAAI,CAAC,CAAC;EAEV,oBACEH,IAAA,CAACJ,IAAI;IAACkB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BZ,UAAU,CAACE,GAAG,CAAEC,KAAK,iBACpBR,IAAA,CAACJ,IAAI;MAEHkB,KAAK,EAAE,CACLC,MAAM,CAACG,SAAS,EAChB;QACEC,IAAI,EAAEX,KAAK,CAACG,CAAC;QACbS,GAAG,EAAEZ,KAAK,CAACI,CAAC;QACZC,OAAO,EAAEL,KAAK,CAACK;MACjB,CAAC;IACD,GARGL,KAAK,CAACE,GASZ,CACF;EAAC,CACE,CAAC;AAEX,CAAC,CAAC;;AAEF;AACA,MAAMK,MAAM,GAAGlB,UAAU,CAACwB,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,QAAQ,EAAE,UAAU;IACpBF,GAAG,EAAE,CAAC;IACND,IAAI,EAAE,CAAC;IACPI,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC;EACDN,SAAS,EAAE;IACTI,QAAQ,EAAE,UAAU;IACpBG,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE9B,MAAM,CAAC+B;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -3,10 +3,7 @@
3
3
  export { ScoreBoard } from "./ScoreBoard.js";
4
4
  export { AsteroidComponent } from "./AsteroidComponent.js";
5
5
  export { Spacecraft3D } from "./Spacecraft3D.js";
6
- export { ParticleComponent } from "./ParticleComponent.js";
7
6
  export { SpacecraftPath } from "./SpacecraftPath.js";
8
7
  export { GameArea } from "./GameArea.js";
9
- export { GameOverModal } from "./GameOverModal.js";
10
- export { SettingsModal } from "./SettingsModal.js";
11
8
  export { GameBackground } from "./GameBackground.js";
12
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScoreBoard","AsteroidComponent","Spacecraft3D","ParticleComponent","SpacecraftPath","GameArea","GameOverModal","SettingsModal","GameBackground"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["ScoreBoard","AsteroidComponent","Spacecraft3D","SpacecraftPath","GameArea","GameBackground"],"sourceRoot":"../../../../../src","sources":["games/space-fighter/components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,cAAc,QAAQ,qBAAkB","ignoreList":[]}