react-native-games 0.4.0 → 0.6.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 (281) hide show
  1. package/README.md +121 -130
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +121 -422
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +30 -31
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +52 -124
  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/GameBackground.js +2 -2
  15. package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -1
  16. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +7 -6
  17. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  18. package/lib/module/games/balloon-blaster/components/index.js +0 -3
  19. package/lib/module/games/balloon-blaster/components/index.js.map +1 -1
  20. package/lib/module/games/fruit-ninja/FruitNinja.js +93 -376
  21. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  22. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +19 -22
  23. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  24. package/lib/module/games/fruit-ninja/FruitNinjaService.js +25 -8
  25. package/lib/module/games/fruit-ninja/FruitNinjaService.js.map +1 -1
  26. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +29 -4
  27. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  28. package/lib/module/games/fruit-ninja/components/GameArea.js +194 -29
  29. package/lib/module/games/fruit-ninja/components/GameArea.js.map +1 -1
  30. package/lib/module/games/fruit-ninja/components/GameBackground.js +107 -190
  31. package/lib/module/games/fruit-ninja/components/GameBackground.js.map +1 -1
  32. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +9 -30
  33. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  34. package/lib/module/games/fruit-ninja/components/index.js +0 -3
  35. package/lib/module/games/fruit-ninja/components/index.js.map +1 -1
  36. package/lib/module/games/maze-runner/MazeRunner.js +106 -109
  37. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  38. package/lib/module/games/maze-runner/MazeRunnerConstants.js +19 -24
  39. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  40. package/lib/module/games/maze-runner/MazeRunnerService.js +2 -1
  41. package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -1
  42. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +5 -4
  43. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -1
  44. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +32 -15
  45. package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -1
  46. package/lib/module/games/maze-runner/components/ScoreBoard.js +8 -3
  47. package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -1
  48. package/lib/module/games/maze-runner/components/WallComponent.js +3 -2
  49. package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -1
  50. package/lib/module/games/maze-runner/components/index.js +0 -1
  51. package/lib/module/games/maze-runner/components/index.js.map +1 -1
  52. package/lib/module/games/popit-fidget/PopitFidget.js +113 -112
  53. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  54. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +20 -23
  55. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
  56. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -59
  57. package/lib/module/games/popit-fidget/PopitFidgetService.js.map +1 -1
  58. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -27
  59. package/lib/module/games/popit-fidget/PopitFidgetStore.js.map +1 -1
  60. package/lib/module/games/popit-fidget/components/BubbleComponent.js +24 -22
  61. package/lib/module/games/popit-fidget/components/BubbleComponent.js.map +1 -1
  62. package/lib/module/games/popit-fidget/components/GameBackground.js +4 -1
  63. package/lib/module/games/popit-fidget/components/GameBackground.js.map +1 -1
  64. package/lib/module/games/popit-fidget/components/ScoreBoard.js +9 -2
  65. package/lib/module/games/popit-fidget/components/ScoreBoard.js.map +1 -1
  66. package/lib/module/games/popit-fidget/components/index.js +0 -2
  67. package/lib/module/games/popit-fidget/components/index.js.map +1 -1
  68. package/lib/module/games/space-fighter/SpaceFighter.js +121 -369
  69. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  70. package/lib/module/games/space-fighter/SpaceFighterConstants.js +21 -23
  71. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  72. package/lib/module/games/space-fighter/SpaceFighterService.js +30 -11
  73. package/lib/module/games/space-fighter/SpaceFighterService.js.map +1 -1
  74. package/lib/module/games/space-fighter/SpaceFighterStore.js +54 -2
  75. package/lib/module/games/space-fighter/SpaceFighterStore.js.map +1 -1
  76. package/lib/module/games/space-fighter/components/AsteroidComponent.js +7 -5
  77. package/lib/module/games/space-fighter/components/AsteroidComponent.js.map +1 -1
  78. package/lib/module/games/space-fighter/components/GameArea.js +234 -14
  79. package/lib/module/games/space-fighter/components/GameArea.js.map +1 -1
  80. package/lib/module/games/space-fighter/components/GameBackground.js +10 -65
  81. package/lib/module/games/space-fighter/components/GameBackground.js.map +1 -1
  82. package/lib/module/games/space-fighter/components/ScoreBoard.js +9 -7
  83. package/lib/module/games/space-fighter/components/ScoreBoard.js.map +1 -1
  84. package/lib/module/games/space-fighter/components/Spacecraft3D.js +90 -250
  85. package/lib/module/games/space-fighter/components/Spacecraft3D.js.map +1 -1
  86. package/lib/module/games/space-fighter/components/SpacecraftPath.js +42 -27
  87. package/lib/module/games/space-fighter/components/SpacecraftPath.js.map +1 -1
  88. package/lib/module/games/space-fighter/components/index.js +0 -3
  89. package/lib/module/games/space-fighter/components/index.js.map +1 -1
  90. package/lib/module/games/whack-a-mole/WhackAMole.js +63 -73
  91. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  92. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +17 -19
  93. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  94. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +20 -7
  95. package/lib/module/games/whack-a-mole/WhackAMoleStore.js.map +1 -1
  96. package/lib/module/games/whack-a-mole/components/GameHole.js +2 -2
  97. package/lib/module/games/whack-a-mole/components/GameHole.js.map +1 -1
  98. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +5 -1
  99. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  100. package/lib/module/games/whack-a-mole/components/index.js +0 -1
  101. package/lib/module/games/whack-a-mole/components/index.js.map +1 -1
  102. package/lib/module/services/GamesConstants.js +13 -21
  103. package/lib/module/services/GamesConstants.js.map +1 -1
  104. package/lib/module/services/GamesService.js +30 -26
  105. package/lib/module/services/GamesService.js.map +1 -1
  106. package/lib/module/services/SoundsService.js +21 -21
  107. package/lib/module/shared/helpers/AnimationFrame.js +120 -0
  108. package/lib/module/shared/helpers/AnimationFrame.js.map +1 -0
  109. package/lib/module/shared/helpers/AnimationTracker.js +89 -0
  110. package/lib/module/shared/helpers/AnimationTracker.js.map +1 -0
  111. package/lib/module/shared/helpers/ErrorHandler.js +269 -0
  112. package/lib/module/shared/helpers/ErrorHandler.js.map +1 -0
  113. package/lib/module/shared/helpers/GameControlButton.js +67 -58
  114. package/lib/module/shared/helpers/GameControlButton.js.map +1 -1
  115. package/lib/module/{games/whack-a-mole/components → shared/helpers}/GameOverModal.js +23 -13
  116. package/lib/module/shared/helpers/GameOverModal.js.map +1 -0
  117. package/lib/module/shared/helpers/GameSettingsModal.js +287 -0
  118. package/lib/module/shared/helpers/GameSettingsModal.js.map +1 -0
  119. package/lib/module/shared/helpers/ParticleBlast.js +133 -0
  120. package/lib/module/shared/helpers/ParticleBlast.js.map +1 -0
  121. package/lib/module/shared/helpers/index.js +7 -0
  122. package/lib/module/shared/helpers/index.js.map +1 -1
  123. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +2 -14
  124. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  125. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +10 -9
  126. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts.map +1 -1
  127. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -2
  128. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -1
  129. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -1
  130. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -1
  131. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +1 -15
  132. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -1
  133. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -1
  134. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +1 -7
  135. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  136. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +0 -3
  137. package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -1
  138. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +2 -14
  139. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  140. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +5 -5
  141. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts.map +1 -1
  142. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +8 -0
  143. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts.map +1 -1
  144. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +1 -0
  145. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts.map +1 -1
  146. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +1 -15
  147. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts.map +1 -1
  148. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts.map +1 -1
  149. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +1 -7
  150. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  151. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts +0 -3
  152. package/lib/typescript/src/games/fruit-ninja/components/index.d.ts.map +1 -1
  153. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +2 -8
  154. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  155. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +4 -4
  156. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts.map +1 -1
  157. package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -1
  158. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -1
  159. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -1
  160. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -1
  161. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -1
  162. package/lib/typescript/src/games/maze-runner/components/index.d.ts +0 -1
  163. package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -1
  164. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +2 -8
  165. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  166. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +4 -4
  167. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts.map +1 -1
  168. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -21
  169. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts.map +1 -1
  170. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +1 -5
  171. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts.map +1 -1
  172. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts.map +1 -1
  173. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts +2 -2
  174. package/lib/typescript/src/games/popit-fidget/components/GameBackground.d.ts.map +1 -1
  175. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +2 -2
  176. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts.map +1 -1
  177. package/lib/typescript/src/games/popit-fidget/components/index.d.ts +0 -2
  178. package/lib/typescript/src/games/popit-fidget/components/index.d.ts.map +1 -1
  179. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +3 -8
  180. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  181. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +4 -4
  182. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts.map +1 -1
  183. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts.map +1 -1
  184. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts.map +1 -1
  185. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -1
  186. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts.map +1 -1
  187. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +1 -15
  188. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts.map +1 -1
  189. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts.map +1 -1
  190. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +1 -6
  191. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts.map +1 -1
  192. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts.map +1 -1
  193. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts.map +1 -1
  194. package/lib/typescript/src/games/space-fighter/components/index.d.ts +0 -3
  195. package/lib/typescript/src/games/space-fighter/components/index.d.ts.map +1 -1
  196. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +2 -11
  197. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  198. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +2 -2
  199. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts.map +1 -1
  200. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts.map +1 -1
  201. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts +0 -1
  202. package/lib/typescript/src/games/whack-a-mole/components/index.d.ts.map +1 -1
  203. package/lib/typescript/src/services/GamesConstants.d.ts +47 -38
  204. package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -1
  205. package/lib/typescript/src/services/GamesService.d.ts +20 -3
  206. package/lib/typescript/src/services/GamesService.d.ts.map +1 -1
  207. package/lib/typescript/src/services/SoundsService.d.ts +20 -20
  208. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts +41 -0
  209. package/lib/typescript/src/shared/helpers/AnimationFrame.d.ts.map +1 -0
  210. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts +45 -0
  211. package/lib/typescript/src/shared/helpers/AnimationTracker.d.ts.map +1 -0
  212. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts +124 -0
  213. package/lib/typescript/src/shared/helpers/ErrorHandler.d.ts.map +1 -0
  214. package/lib/typescript/src/shared/helpers/GameControlButton.d.ts.map +1 -1
  215. package/lib/typescript/src/{games/balloon-blaster/components → shared/helpers}/GameOverModal.d.ts +5 -0
  216. package/lib/typescript/src/shared/helpers/GameOverModal.d.ts.map +1 -0
  217. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts +9 -0
  218. package/lib/typescript/src/shared/helpers/GameSettingsModal.d.ts.map +1 -0
  219. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts +12 -0
  220. package/lib/typescript/src/shared/helpers/ParticleBlast.d.ts.map +1 -0
  221. package/lib/typescript/src/shared/helpers/index.d.ts +9 -0
  222. package/lib/typescript/src/shared/helpers/index.d.ts.map +1 -1
  223. package/package.json +2 -2
  224. package/lib/module/games/balloon-blaster/components/GameOverModal.js +0 -133
  225. package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +0 -1
  226. package/lib/module/games/balloon-blaster/components/ParticleSystem.js +0 -55
  227. package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +0 -1
  228. package/lib/module/games/balloon-blaster/components/SliceTrail.js +0 -58
  229. package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +0 -1
  230. package/lib/module/games/fruit-ninja/components/GameOverModal.js +0 -189
  231. package/lib/module/games/fruit-ninja/components/GameOverModal.js.map +0 -1
  232. package/lib/module/games/fruit-ninja/components/ParticleSystem.js +0 -52
  233. package/lib/module/games/fruit-ninja/components/ParticleSystem.js.map +0 -1
  234. package/lib/module/games/fruit-ninja/components/SliceTrail.js +0 -58
  235. package/lib/module/games/fruit-ninja/components/SliceTrail.js.map +0 -1
  236. package/lib/module/games/maze-runner/components/GameOverModal.js +0 -134
  237. package/lib/module/games/maze-runner/components/GameOverModal.js.map +0 -1
  238. package/lib/module/games/popit-fidget/components/GameOverModal.js +0 -132
  239. package/lib/module/games/popit-fidget/components/GameOverModal.js.map +0 -1
  240. package/lib/module/games/popit-fidget/components/ParticleSystem.js +0 -89
  241. package/lib/module/games/popit-fidget/components/ParticleSystem.js.map +0 -1
  242. package/lib/module/games/space-fighter/components/GameOverModal.js +0 -182
  243. package/lib/module/games/space-fighter/components/GameOverModal.js.map +0 -1
  244. package/lib/module/games/space-fighter/components/ParticleComponent.js +0 -34
  245. package/lib/module/games/space-fighter/components/ParticleComponent.js.map +0 -1
  246. package/lib/module/games/space-fighter/components/SettingsModal.js +0 -222
  247. package/lib/module/games/space-fighter/components/SettingsModal.js.map +0 -1
  248. package/lib/module/games/whack-a-mole/components/GameOverModal.js.map +0 -1
  249. package/lib/module/shared/settings/GameSettings.js +0 -295
  250. package/lib/module/shared/settings/GameSettings.js.map +0 -1
  251. package/lib/module/shared/settings/SettingsService.js +0 -125
  252. package/lib/module/shared/settings/SettingsService.js.map +0 -1
  253. package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +0 -1
  254. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +0 -8
  255. package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +0 -1
  256. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +0 -11
  257. package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +0 -1
  258. package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts +0 -9
  259. package/lib/typescript/src/games/fruit-ninja/components/GameOverModal.d.ts.map +0 -1
  260. package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts +0 -8
  261. package/lib/typescript/src/games/fruit-ninja/components/ParticleSystem.d.ts.map +0 -1
  262. package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts +0 -11
  263. package/lib/typescript/src/games/fruit-ninja/components/SliceTrail.d.ts.map +0 -1
  264. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +0 -11
  265. package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +0 -1
  266. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts +0 -9
  267. package/lib/typescript/src/games/popit-fidget/components/GameOverModal.d.ts.map +0 -1
  268. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts +0 -9
  269. package/lib/typescript/src/games/popit-fidget/components/ParticleSystem.d.ts.map +0 -1
  270. package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts +0 -9
  271. package/lib/typescript/src/games/space-fighter/components/GameOverModal.d.ts.map +0 -1
  272. package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts +0 -8
  273. package/lib/typescript/src/games/space-fighter/components/ParticleComponent.d.ts.map +0 -1
  274. package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts +0 -9
  275. package/lib/typescript/src/games/space-fighter/components/SettingsModal.d.ts.map +0 -1
  276. package/lib/typescript/src/games/whack-a-mole/components/GameOverModal.d.ts +0 -9
  277. package/lib/typescript/src/games/whack-a-mole/components/GameOverModal.d.ts.map +0 -1
  278. package/lib/typescript/src/shared/settings/GameSettings.d.ts +0 -36
  279. package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +0 -1
  280. package/lib/typescript/src/shared/settings/SettingsService.d.ts +0 -33
  281. package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +0 -1
@@ -1,241 +1,152 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect } from 'react';
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';
6
- import Animated from 'react-native-reanimated';
3
+ import React, { useMemo } from 'react';
4
+ import { Canvas, Circle, Path, Skia, vec, Group, LinearGradient, RadialGradient } from '@shopify/react-native-skia';
5
+ import { View } from 'react-native';
7
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- export const Spacecraft3D = ({
7
+ // Highly optimized static Spacecraft3D component - no animations for maximum performance
8
+ export const Spacecraft3D = /*#__PURE__*/React.memo(({
9
9
  spacecraft,
10
10
  isControlled
11
11
  }) => {
12
12
  const size = spacecraft.size;
13
- const canvasSize = size * 2.5; // Larger canvas for 3D effects
13
+ const canvasSize = size * 2; // Reduced canvas size for better performance
14
14
 
15
- // Animations
16
- const engineGlow = useSharedValue(0);
17
- const thrusterPulse = useSharedValue(1);
18
- const hoverFloat = useSharedValue(0);
19
- 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
-
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);
50
-
51
- // Thruster pulse when controlled - more intense
52
- 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);
60
- } else {
61
- thrusterPulse.value = withTiming(1, {
62
- duration: 300
63
- });
64
- }
65
-
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]);
77
- const animatedStyle = useAnimatedStyle(() => {
78
- const scale = isControlled ? 1.1 : 1;
79
- const floatY = interpolate(hoverFloat.value, [-1, 1], [-2, 2], Extrapolation.CLAMP);
80
- return {
81
- transform: [{
82
- scale
83
- }, {
84
- translateY: floatY
85
- }]
86
- };
87
- });
88
-
89
- // Create spacecraft body path
90
- const createSpacecraftBody = () => {
91
- const path = Skia.Path.Make();
15
+ // Memoized static spacecraft paths - original design without animations
16
+ const spacecraftPaths = useMemo(() => {
92
17
  const centerX = canvasSize / 2;
93
18
  const centerY = canvasSize / 2;
19
+
20
+ // Main body path - original oval shape
21
+ const bodyPath = Skia.Path.Make();
94
22
  const bodyWidth = size * 0.8;
95
23
  const bodyHeight = size * 1.2;
96
-
97
- // Main body (elongated oval)
98
- path.addOval({
24
+ bodyPath.addOval({
99
25
  x: centerX - bodyWidth / 2,
100
26
  y: centerY - bodyHeight / 2,
101
27
  width: bodyWidth,
102
28
  height: bodyHeight
103
29
  });
104
- return path;
105
- };
106
30
 
107
- // Create wing paths
108
- const createWings = () => {
31
+ // Original wing paths
109
32
  const leftWing = Skia.Path.Make();
110
33
  const rightWing = Skia.Path.Make();
111
- const centerX = canvasSize / 2;
112
- const centerY = canvasSize / 2;
113
34
  const wingWidth = size * 0.6;
114
35
  const wingHeight = size * 0.3;
115
36
 
116
- // Left wing
37
+ // Left wing (original design)
117
38
  leftWing.moveTo(centerX - size * 0.3, centerY);
118
39
  leftWing.lineTo(centerX - size * 0.3 - wingWidth, centerY - wingHeight / 2);
119
40
  leftWing.lineTo(centerX - size * 0.3 - wingWidth * 0.8, centerY + wingHeight / 2);
120
41
  leftWing.close();
121
42
 
122
- // Right wing
43
+ // Right wing (original design)
123
44
  rightWing.moveTo(centerX + size * 0.3, centerY);
124
45
  rightWing.lineTo(centerX + size * 0.3 + wingWidth, centerY - wingHeight / 2);
125
46
  rightWing.lineTo(centerX + size * 0.3 + wingWidth * 0.8, centerY + wingHeight / 2);
126
47
  rightWing.close();
127
- return {
128
- leftWing,
129
- rightWing
130
- };
131
- };
132
48
 
133
- // Create cockpit path
134
- const createCockpit = () => {
135
- const path = Skia.Path.Make();
136
- const centerX = canvasSize / 2;
137
- const centerY = canvasSize / 2;
49
+ // Original cockpit
50
+ const cockpitPath = Skia.Path.Make();
138
51
  const cockpitSize = size * 0.4;
139
- path.addOval({
52
+ cockpitPath.addOval({
140
53
  x: centerX - cockpitSize / 2,
141
54
  y: centerY - size * 0.4 - cockpitSize / 2,
142
55
  width: cockpitSize,
143
56
  height: cockpitSize * 0.8
144
57
  });
145
- return path;
146
- };
147
- const spacecraftBody = createSpacecraftBody();
58
+
59
+ // Thruster flame paths - static flames
60
+ const leftFlame = Skia.Path.Make();
61
+ const rightFlame = Skia.Path.Make();
62
+ const flameLength = size * 0.4;
63
+
64
+ // Left thruster flame (triangular)
65
+ leftFlame.moveTo(centerX - size * 0.15, centerY + size * 0.5);
66
+ leftFlame.lineTo(centerX - size * 0.1, centerY + size * 0.5 + flameLength);
67
+ leftFlame.lineTo(centerX - size * 0.2, centerY + size * 0.5 + flameLength);
68
+ leftFlame.close();
69
+
70
+ // Right thruster flame (triangular)
71
+ rightFlame.moveTo(centerX + size * 0.15, centerY + size * 0.5);
72
+ rightFlame.lineTo(centerX + size * 0.2, centerY + size * 0.5 + flameLength);
73
+ rightFlame.lineTo(centerX + size * 0.1, centerY + size * 0.5 + flameLength);
74
+ rightFlame.close();
75
+ return {
76
+ bodyPath,
77
+ leftWing,
78
+ rightWing,
79
+ cockpitPath,
80
+ leftFlame,
81
+ rightFlame,
82
+ centerX,
83
+ centerY
84
+ };
85
+ }, [canvasSize, size]);
148
86
  const {
87
+ bodyPath,
149
88
  leftWing,
150
- rightWing
151
- } = createWings();
152
- const cockpit = createCockpit();
153
- const centerX = canvasSize / 2;
154
- const centerY = canvasSize / 2;
155
- return /*#__PURE__*/_jsx(Animated.View, {
156
- style: [{
89
+ rightWing,
90
+ cockpitPath,
91
+ leftFlame,
92
+ rightFlame,
93
+ centerX,
94
+ centerY
95
+ } = spacecraftPaths;
96
+ return /*#__PURE__*/_jsx(View, {
97
+ style: {
157
98
  position: 'absolute',
158
99
  left: spacecraft.x - canvasSize / 2,
159
100
  top: spacecraft.y - canvasSize / 2,
160
101
  width: canvasSize,
161
- height: canvasSize
162
- }, animatedStyle],
102
+ height: canvasSize,
103
+ transform: [{
104
+ scale: isControlled ? 1.05 : 1
105
+ }] // Simple static scale for controlled state
106
+ },
163
107
  children: /*#__PURE__*/_jsx(Canvas, {
164
108
  style: {
165
109
  width: canvasSize,
166
110
  height: canvasSize
167
111
  },
168
112
  children: /*#__PURE__*/_jsxs(Group, {
169
- children: [/*#__PURE__*/_jsxs(Group, {
170
- children: [/*#__PURE__*/_jsx(Shadow, {
171
- dx: 2,
172
- dy: 4,
173
- blur: 6,
174
- color: "rgba(0,0,0,0.4)"
175
- }), /*#__PURE__*/_jsx(Path, {
176
- path: leftWing,
177
- color: "rgba(0,100,200,0.6)"
178
- }), /*#__PURE__*/_jsx(Path, {
179
- path: rightWing,
180
- color: "rgba(0,100,200,0.6)"
181
- }), /*#__PURE__*/_jsx(Path, {
182
- path: spacecraftBody,
183
- color: "rgba(0,150,255,0.7)"
184
- })]
185
- }), /*#__PURE__*/_jsx(Circle, {
186
- cx: centerX,
187
- cy: centerY,
188
- r: size * 0.8,
189
- color: `rgba(0, 255, 255, ${0.1 + energyField.value * 0.3})`
190
- }), /*#__PURE__*/_jsx(Circle, {
191
- cx: centerX,
192
- cy: centerY,
193
- r: size * 0.6,
194
- color: `rgba(100, 200, 255, ${0.15 + energyField.value * 0.25})`
195
- }), /*#__PURE__*/_jsx(Path, {
196
- path: spacecraftBody,
113
+ children: [/*#__PURE__*/_jsx(Path, {
114
+ path: leftFlame,
197
115
  children: /*#__PURE__*/_jsx(LinearGradient, {
198
- start: vec(centerX - size * 0.4, centerY - size * 0.6),
199
- end: vec(centerX + size * 0.4, centerY + size * 0.6),
200
- colors: ['#00ffff', '#00d4ff', '#0099ff', '#0066cc', '#003399']
116
+ start: vec(centerX - size * 0.15, centerY + size * 0.5),
117
+ end: vec(centerX - size * 0.15, centerY + size * 0.9),
118
+ colors: isControlled ? ['#ffffff', '#ffff00', '#ff6600', '#ff0000'] : ['#ffaa00', '#ff6600', '#cc4400', '#990000']
201
119
  })
202
120
  }), /*#__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)']
121
+ path: rightFlame,
122
+ children: /*#__PURE__*/_jsx(LinearGradient, {
123
+ start: vec(centerX + size * 0.15, centerY + size * 0.5),
124
+ end: vec(centerX + size * 0.15, centerY + size * 0.9),
125
+ colors: isControlled ? ['#ffffff', '#ffff00', '#ff6600', '#ff0000'] : ['#ffaa00', '#ff6600', '#cc4400', '#990000']
208
126
  })
209
127
  }), /*#__PURE__*/_jsx(Path, {
210
128
  path: leftWing,
211
129
  children: /*#__PURE__*/_jsx(LinearGradient, {
212
130
  start: vec(centerX - size * 0.8, centerY - size * 0.2),
213
131
  end: vec(centerX - size * 0.2, centerY + size * 0.2),
214
- colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
132
+ colors: isControlled ? ['#00ccff', '#0099cc', '#006699', '#003366'] : ['#0099cc', '#006699', '#003366', '#001133']
215
133
  })
216
134
  }), /*#__PURE__*/_jsx(Path, {
217
135
  path: rightWing,
218
136
  children: /*#__PURE__*/_jsx(LinearGradient, {
219
137
  start: vec(centerX + size * 0.2, centerY - size * 0.2),
220
138
  end: vec(centerX + size * 0.8, centerY + size * 0.2),
221
- colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
139
+ colors: isControlled ? ['#00ccff', '#0099cc', '#006699', '#003366'] : ['#0099cc', '#006699', '#003366', '#001133']
222
140
  })
223
141
  }), /*#__PURE__*/_jsx(Path, {
224
- path: leftWing,
225
- children: /*#__PURE__*/_jsx(LinearGradient, {
226
- start: vec(centerX - size * 0.6, centerY),
227
- end: vec(centerX - size * 0.9, centerY),
228
- colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
229
- })
230
- }), /*#__PURE__*/_jsx(Path, {
231
- path: rightWing,
142
+ path: bodyPath,
232
143
  children: /*#__PURE__*/_jsx(LinearGradient, {
233
- start: vec(centerX + size * 0.6, centerY),
234
- end: vec(centerX + size * 0.9, centerY),
235
- colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
144
+ start: vec(centerX - size * 0.4, centerY - size * 0.6),
145
+ end: vec(centerX + size * 0.4, centerY + size * 0.6),
146
+ colors: isControlled ? ['#00ffff', '#00d4ff', '#0099ff', '#0066cc', '#003399'] : ['#00d4ff', '#0099ff', '#0066cc', '#003399', '#001166']
236
147
  })
237
148
  }), /*#__PURE__*/_jsx(Path, {
238
- path: cockpit,
149
+ path: cockpitPath,
239
150
  children: /*#__PURE__*/_jsx(RadialGradient, {
240
151
  c: vec(centerX, centerY - size * 0.4),
241
152
  r: size * 0.3,
@@ -259,85 +170,16 @@ export const Spacecraft3D = ({
259
170
  r: size * 0.08,
260
171
  colors: ['#ffffff', '#ffff00', '#ff6600', '#ff0000']
261
172
  })
262
- }), /*#__PURE__*/_jsx(Circle, {
263
- cx: centerX - size * 0.15,
264
- cy: centerY + size * 0.5,
265
- r: size * 0.15 * (1 + engineGlow.value * 0.5),
266
- color: `rgba(255, 100, 0, ${0.3 + engineGlow.value * 0.4})`
267
- }), /*#__PURE__*/_jsx(Circle, {
268
- cx: centerX + size * 0.15,
269
- cy: centerY + size * 0.5,
270
- r: size * 0.15 * (1 + engineGlow.value * 0.5),
271
- color: `rgba(255, 100, 0, ${0.3 + engineGlow.value * 0.4})`
272
- }), /*#__PURE__*/_jsx(Circle, {
273
- cx: centerX - size * 0.15,
274
- cy: centerY + size * 0.5,
275
- r: size * 0.25 * (1 + engineGlow.value * 0.3),
276
- color: `rgba(255, 200, 0, ${0.1 + engineGlow.value * 0.2})`
277
- }), /*#__PURE__*/_jsx(Circle, {
278
- cx: centerX + size * 0.15,
279
- cy: centerY + size * 0.5,
280
- r: size * 0.25 * (1 + engineGlow.value * 0.3),
281
- color: `rgba(255, 200, 0, ${0.1 + engineGlow.value * 0.2})`
282
- }), isControlled && /*#__PURE__*/_jsxs(Group, {
283
- children: [/*#__PURE__*/_jsx(Circle, {
284
- cx: centerX - size * 0.15,
285
- cy: centerY + size * 0.65,
286
- r: size * 0.12 * thrusterPulse.value,
287
- color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
288
- }), /*#__PURE__*/_jsx(Circle, {
289
- cx: centerX + size * 0.15,
290
- cy: centerY + size * 0.65,
291
- r: size * 0.12 * thrusterPulse.value,
292
- color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
293
- }), /*#__PURE__*/_jsx(Circle, {
294
- cx: centerX - size * 0.15,
295
- cy: centerY + size * 0.8,
296
- r: size * 0.08 * thrusterPulse.value,
297
- color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
298
- }), /*#__PURE__*/_jsx(Circle, {
299
- cx: centerX + size * 0.15,
300
- cy: centerY + size * 0.8,
301
- r: size * 0.08 * thrusterPulse.value,
302
- color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
303
- })]
304
173
  }), /*#__PURE__*/_jsx(Circle, {
305
174
  cx: centerX - size * 0.8,
306
175
  cy: centerY,
307
- r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
308
- color: `rgba(0, 255, 0, ${0.8 + energyField.value * 0.2})`
309
- }), /*#__PURE__*/_jsx(Circle, {
310
- cx: centerX - size * 0.8,
311
- cy: centerY,
312
- r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
313
- color: `rgba(0, 255, 0, ${0.3 + energyField.value * 0.3})`
176
+ r: size * 0.06,
177
+ color: isControlled ? '#00ff00' : '#00cc00'
314
178
  }), /*#__PURE__*/_jsx(Circle, {
315
179
  cx: centerX + size * 0.8,
316
180
  cy: centerY,
317
- r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
318
- color: `rgba(255, 0, 0, ${0.8 + energyField.value * 0.2})`
319
- }), /*#__PURE__*/_jsx(Circle, {
320
- cx: centerX + size * 0.8,
321
- cy: centerY,
322
- r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
323
- color: `rgba(255, 0, 0, ${0.3 + energyField.value * 0.3})`
324
- }), /*#__PURE__*/_jsx(Path, {
325
- path: spacecraftBody,
326
- children: /*#__PURE__*/_jsx(LinearGradient, {
327
- start: vec(centerX - size * 0.3, centerY - size * 0.5),
328
- 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)']
330
- })
331
- }), /*#__PURE__*/_jsx(Circle, {
332
- cx: centerX - size * 0.1,
333
- 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})`
336
- }), /*#__PURE__*/_jsx(Circle, {
337
- cx: centerX + size * 0.05,
338
- cy: centerY - size * 0.35,
339
- r: size * 0.04,
340
- color: `rgba(100,255,255,${0.6 + energyField.value * 0.3})`
181
+ r: size * 0.06,
182
+ color: isControlled ? '#ff0000' : '#cc0000'
341
183
  }), /*#__PURE__*/_jsx(Circle, {
342
184
  cx: centerX,
343
185
  cy: centerY,
@@ -345,18 +187,16 @@ export const Spacecraft3D = ({
345
187
  children: /*#__PURE__*/_jsx(RadialGradient, {
346
188
  c: vec(centerX, centerY),
347
189
  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)']
190
+ colors: isControlled ? ['#ffffff', '#00ffff', '#0099ff'] : ['#cccccc', '#0099ff', '#006699']
349
191
  })
350
- }), Array.from({
351
- length: 8
352
- }, (_, i) => /*#__PURE__*/_jsx(Circle, {
353
- cx: centerX + Math.cos(i * Math.PI / 4) * size * 0.3,
354
- cy: centerY + Math.sin(i * Math.PI / 4) * size * 0.3,
355
- 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})`
357
- }, i))]
192
+ }), /*#__PURE__*/_jsx(Circle, {
193
+ cx: centerX - size * 0.1,
194
+ cy: centerY - size * 0.45,
195
+ r: size * 0.08,
196
+ color: "rgba(255,255,255,0.8)"
197
+ })]
358
198
  })
359
199
  })
360
200
  });
361
- };
201
+ });
362
202
  //# 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","useMemo","Canvas","Circle","Path","Skia","vec","Group","LinearGradient","RadialGradient","View","jsx","_jsx","jsxs","_jsxs","Spacecraft3D","memo","spacecraft","isControlled","size","canvasSize","spacecraftPaths","centerX","centerY","bodyPath","Make","bodyWidth","bodyHeight","addOval","x","y","width","height","leftWing","rightWing","wingWidth","wingHeight","moveTo","lineTo","close","cockpitPath","cockpitSize","leftFlame","rightFlame","flameLength","style","position","left","top","transform","scale","children","path","start","end","colors","c","r","cx","cy","color"],"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":[]}