react-native-games 1.1.0 → 1.2.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 (212) hide show
  1. package/README.md +58 -7
  2. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -167
  3. package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
  4. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -182
  5. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
  6. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -318
  7. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -183
  8. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -237
  9. package/lib/module/games/balloon-blaster/components/GameArea.js +1 -156
  10. package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -476
  11. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -112
  12. package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
  13. package/lib/module/games/balloon-blaster/components/index.js +1 -7
  14. package/lib/module/games/candy-crush/CandyCrush.js +1 -131
  15. package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
  16. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -125
  17. package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -1
  18. package/lib/module/games/candy-crush/CandyCrushService.js +1 -370
  19. package/lib/module/games/candy-crush/CandyCrushStore.js +1 -303
  20. package/lib/module/games/candy-crush/components/CandyItem.js +1 -191
  21. package/lib/module/games/candy-crush/components/GameBackground.js +1 -85
  22. package/lib/module/games/candy-crush/components/GameGrid.js +1 -314
  23. package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -79
  24. package/lib/module/games/candy-crush/components/index.js +1 -7
  25. package/lib/module/games/candy-crush/index.js +1 -6
  26. package/lib/module/games/colors-sort/ColorsSort.js +1 -143
  27. package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
  28. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -72
  29. package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
  30. package/lib/module/games/colors-sort/ColorsSortService.js +1 -255
  31. package/lib/module/games/colors-sort/ColorsSortStore.js +1 -257
  32. package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
  33. package/lib/module/games/colors-sort/components/ColorContainer.js +1 -140
  34. package/lib/module/games/colors-sort/components/GameBackground.js +1 -135
  35. package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -70
  36. package/lib/module/games/colors-sort/components/index.js +1 -6
  37. package/lib/module/games/dino-jump/DinoJump.js +1 -209
  38. package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
  39. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -189
  40. package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
  41. package/lib/module/games/dino-jump/DinoJumpService.js +1 -270
  42. package/lib/module/games/dino-jump/DinoJumpStore.js +1 -381
  43. package/lib/module/games/dino-jump/components/DinoSprite.js +1 -418
  44. package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
  45. package/lib/module/games/dino-jump/components/GameArea.js +1 -68
  46. package/lib/module/games/dino-jump/components/GameBackground.js +1 -444
  47. package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -306
  48. package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -105
  49. package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
  50. package/lib/module/games/dino-jump/components/StarSprite.js +1 -45
  51. package/lib/module/games/dino-jump/components/index.js +1 -9
  52. package/lib/module/games/flappy-bird/FlappyBird.js +1 -126
  53. package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
  54. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -90
  55. package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
  56. package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -300
  57. package/lib/module/games/flappy-bird/components/Bird.js +1 -87
  58. package/lib/module/games/flappy-bird/components/GameArea.js +1 -87
  59. package/lib/module/games/flappy-bird/components/GameBackground.js +1 -79
  60. package/lib/module/games/flappy-bird/components/Pipes.js +1 -172
  61. package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -73
  62. package/lib/module/games/flappy-bird/components/index.js +1 -8
  63. package/lib/module/games/fruit-merger/FruitMerger.js +1 -120
  64. package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
  65. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -119
  66. package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
  67. package/lib/module/games/fruit-merger/FruitMergerService.js +1 -13
  68. package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -315
  69. package/lib/module/games/fruit-merger/components/FruitItem.js +1 -102
  70. package/lib/module/games/fruit-merger/components/GameArea.js +1 -103
  71. package/lib/module/games/fruit-merger/components/GameBackground.js +1 -498
  72. package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -58
  73. package/lib/module/games/fruit-merger/components/index.js +1 -7
  74. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -134
  75. package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
  76. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -148
  77. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
  78. package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -311
  79. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -191
  80. package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
  81. package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -99
  82. package/lib/module/games/fruit-ninja/components/GameArea.js +1 -215
  83. package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1267
  84. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -92
  85. package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
  86. package/lib/module/games/fruit-ninja/components/index.js +1 -7
  87. package/lib/module/games/game-2048/Game2048.js +1 -149
  88. package/lib/module/games/game-2048/Game2048.js.map +1 -1
  89. package/lib/module/games/game-2048/Game2048Constants.js +1 -263
  90. package/lib/module/games/game-2048/Game2048Constants.js.map +1 -1
  91. package/lib/module/games/game-2048/Game2048Service.js +1 -457
  92. package/lib/module/games/game-2048/Game2048Store.js +1 -236
  93. package/lib/module/games/game-2048/components/GameBackground.js +1 -247
  94. package/lib/module/games/game-2048/components/GameGrid.js +1 -139
  95. package/lib/module/games/game-2048/components/GameTile.js +1 -72
  96. package/lib/module/games/game-2048/components/ScoreBoard.js +1 -52
  97. package/lib/module/games/game-2048/components/index.js +1 -7
  98. package/lib/module/games/maze-runner/MazeRunner.js +1 -267
  99. package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
  100. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -100
  101. package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
  102. package/lib/module/games/maze-runner/MazeRunnerService.js +1 -586
  103. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -150
  104. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -370
  105. package/lib/module/games/maze-runner/components/GameBackground.js +1 -175
  106. package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -61
  107. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -209
  108. package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -169
  109. package/lib/module/games/maze-runner/components/WallComponent.js +1 -91
  110. package/lib/module/games/maze-runner/components/index.js +1 -8
  111. package/lib/module/games/popit-fidget/PopitFidget.js +1 -285
  112. package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
  113. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -113
  114. package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
  115. package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -132
  116. package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -125
  117. package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -198
  118. package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -165
  119. package/lib/module/games/popit-fidget/components/GameBackground.js +1 -177
  120. package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -61
  121. package/lib/module/games/popit-fidget/components/index.js +1 -7
  122. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -159
  123. package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
  124. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -207
  125. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -1
  126. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -248
  127. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -274
  128. package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -259
  129. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -174
  130. package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -116
  131. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -64
  132. package/lib/module/games/sliding-numbers/components/index.js +1 -7
  133. package/lib/module/games/snake/Snake.js +1 -189
  134. package/lib/module/games/snake/Snake.js.map +1 -1
  135. package/lib/module/games/snake/SnakeConstants.js +1 -138
  136. package/lib/module/games/snake/SnakeConstants.js.map +1 -1
  137. package/lib/module/games/snake/SnakeService.js +1 -148
  138. package/lib/module/games/snake/SnakeStore.js +1 -182
  139. package/lib/module/games/snake/components/GameBackground.js +1 -221
  140. package/lib/module/games/snake/components/GameGrid.js +1 -153
  141. package/lib/module/games/snake/components/ScoreBoard.js +1 -51
  142. package/lib/module/games/snake/components/index.js +1 -6
  143. package/lib/module/games/snake/index.js +1 -6
  144. package/lib/module/games/space-fighter/SpaceFighter.js +1 -165
  145. package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
  146. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -108
  147. package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
  148. package/lib/module/games/space-fighter/SpaceFighterService.js +1 -326
  149. package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -209
  150. package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -113
  151. package/lib/module/games/space-fighter/components/GameArea.js +1 -289
  152. package/lib/module/games/space-fighter/components/GameBackground.js +1 -239
  153. package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -136
  154. package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -202
  155. package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -52
  156. package/lib/module/games/space-fighter/components/index.js +1 -9
  157. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -270
  158. package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
  159. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -115
  160. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
  161. package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -120
  162. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -172
  163. package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -477
  164. package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -97
  165. package/lib/module/games/whack-a-mole/components/GameHole.js +1 -196
  166. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -241
  167. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -67
  168. package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
  169. package/lib/module/games/whack-a-mole/components/index.js +1 -8
  170. package/lib/module/helpers/AnimationFrame.js +1 -120
  171. package/lib/module/helpers/AnimationTracker.js +1 -89
  172. package/lib/module/helpers/ErrorHandler.js +1 -269
  173. package/lib/module/helpers/GameControlButton.js +1 -219
  174. package/lib/module/helpers/GameOverModal.js +1 -144
  175. package/lib/module/helpers/GameOverModal.js.map +1 -1
  176. package/lib/module/helpers/GameSettingsModal.js +1 -287
  177. package/lib/module/helpers/ParticleBlast.js +1 -134
  178. package/lib/module/helpers/ScoreBoardContainer.js +1 -34
  179. package/lib/module/helpers/index.js +1 -12
  180. package/lib/module/index.js +1 -22
  181. package/lib/module/services/GamesConstants.js +1 -178
  182. package/lib/module/services/GamesService.js +1 -112
  183. package/lib/module/services/GamesService.js.map +1 -1
  184. package/lib/module/services/HapticsService.js +1 -77
  185. package/lib/module/services/SoundsService.js +1 -302
  186. package/lib/module/services/UtilsService.js +1 -32
  187. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
  188. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +1 -1
  189. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
  190. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +7 -7
  191. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
  192. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
  193. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
  194. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
  195. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
  196. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
  197. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
  198. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
  199. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
  200. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
  201. package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
  202. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
  203. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
  204. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
  205. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
  206. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
  207. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +1 -1
  208. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
  209. package/lib/typescript/src/helpers/GameOverModal.d.ts +3 -0
  210. package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -1
  211. package/lib/typescript/src/services/GamesConstants.d.ts +7 -7
  212. package/package.json +2 -2
@@ -1,22 +1 @@
1
- "use strict";
2
-
3
- // Games
4
- export * from "./games/balloon-blaster/BalloonBlaster.js";
5
- export * from "./games/popit-fidget/PopitFidget.js";
6
- export * from "./games/whack-a-mole/WhackAMole.js";
7
- export * from "./games/fruit-ninja/FruitNinja.js";
8
- export * from "./games/maze-runner/MazeRunner.js";
9
- export * from "./games/space-fighter/SpaceFighter.js";
10
- export * from "./games/sliding-numbers/SlidingNumbers.js";
11
- export * from "./games/game-2048/Game2048.js";
12
- export * from "./games/dino-jump/DinoJump.js";
13
- export { ColorsSort } from "./games/colors-sort/ColorsSort.js";
14
- export * from "./games/fruit-merger/FruitMerger.js";
15
- export * from "./games/flappy-bird/FlappyBird.js";
16
- export * from "./games/candy-crush/CandyCrush.js";
17
- export * from "./games/snake/Snake.js";
18
-
19
- // Services
20
- export * from "./services/GamesService.js";
21
- export * from "./services/UtilsService.js";
22
- //# sourceMappingURL=index.js.map
1
+ "use strict";export * from "./games/balloon-blaster/BalloonBlaster.js";export * from "./games/popit-fidget/PopitFidget.js";export * from "./games/whack-a-mole/WhackAMole.js";export * from "./games/fruit-ninja/FruitNinja.js";export * from "./games/maze-runner/MazeRunner.js";export * from "./games/space-fighter/SpaceFighter.js";export * from "./games/sliding-numbers/SlidingNumbers.js";export * from "./games/game-2048/Game2048.js";export * from "./games/dino-jump/DinoJump.js";export{ColorsSort}from "./games/colors-sort/ColorsSort.js";export * from "./games/fruit-merger/FruitMerger.js";export * from "./games/flappy-bird/FlappyBird.js";export * from "./games/candy-crush/CandyCrush.js";export * from "./games/snake/Snake.js";export * from "./services/GamesService.js";export * from "./services/UtilsService.js";
@@ -1,178 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * GamesConstants.ts
5
- *
6
- * Contains game themes, difficulty descriptions, and helper functions.
7
- * Does NOT import from GamesService to avoid circular dependencies.
8
- */
9
-
10
- import { GAME_IDS } from "./UtilsService.js";
11
- import { BALLOON_BLASTER_THEME, BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS } from "../games/balloon-blaster/BalloonBlasterConstants.js";
12
- import { FRUIT_NINJA_THEME, FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS } from "../games/fruit-ninja/FruitNinjaConstants.js";
13
- import { MAZE_RUNNER_THEME, MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS } from "../games/maze-runner/MazeRunnerConstants.js";
14
- import { WHACK_A_MOLE_THEME, WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS } from "../games/whack-a-mole/WhackAMoleConstants.js";
15
- import { SPACE_FIGHTER_THEME, SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS } from "../games/space-fighter/SpaceFighterConstants.js";
16
- import { POPIT_FIDGET_THEME, POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS } from "../games/popit-fidget/PopitFidgetConstants.js";
17
- import { SLIDING_NUMBERS_THEME, SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS } from "../games/sliding-numbers/SlidingNumbersConstants.js";
18
- import { GAME_2048_THEME, GAME_2048_DIFFICULTY_DESCRIPTIONS } from "../games/game-2048/Game2048Constants.js";
19
- import { DINO_JUMP_THEME, DINO_JUMP_DIFFICULTY_DESCRIPTIONS } from "../games/dino-jump/DinoJumpConstants.js";
20
- import { COLORS_SORT_THEME, COLORS_SORT_DIFFICULTY_DESCRIPTIONS } from "../games/colors-sort/ColorsSortConstants.js";
21
- import { FRUIT_MERGER_THEME, FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS } from "../games/fruit-merger/FruitMergerConstants.js";
22
- import { FLAPPY_BIRD_THEME, FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS } from "../games/flappy-bird/FlappyBirdConstants.js";
23
- import { CANDY_CRUSH_THEME, CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS } from "../games/candy-crush/CandyCrushConstants.js";
24
- import { SNAKE_THEME, SNAKE_DIFFICULTY_DESCRIPTIONS } from "../games/snake/SnakeConstants.js";
25
- // Game Theme Constants - imported from individual game constants files
26
- export const GAME_THEMES = {
27
- balloonBlaster: BALLOON_BLASTER_THEME,
28
- fruitNinja: FRUIT_NINJA_THEME,
29
- mazeRunner: MAZE_RUNNER_THEME,
30
- whackAMole: WHACK_A_MOLE_THEME,
31
- spaceFighter: SPACE_FIGHTER_THEME,
32
- popitFidget: POPIT_FIDGET_THEME,
33
- slidingNumbers: SLIDING_NUMBERS_THEME,
34
- game2048: GAME_2048_THEME,
35
- dinoJump: DINO_JUMP_THEME,
36
- colorsSort: COLORS_SORT_THEME,
37
- fruitMerger: FRUIT_MERGER_THEME,
38
- flappyBird: FLAPPY_BIRD_THEME,
39
- candyCrush: CANDY_CRUSH_THEME,
40
- snake: SNAKE_THEME
41
- };
42
-
43
- // Game Difficulty Descriptions - imported from individual game constants files
44
- export const GAME_DIFFICULTY_DESCRIPTIONS = {
45
- balloonBlaster: BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS,
46
- fruitNinja: FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS,
47
- mazeRunner: MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS,
48
- whackAMole: WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS,
49
- spaceFighter: SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS,
50
- popitFidget: POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS,
51
- slidingNumbers: SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS,
52
- game2048: GAME_2048_DIFFICULTY_DESCRIPTIONS,
53
- dinoJump: DINO_JUMP_DIFFICULTY_DESCRIPTIONS,
54
- colorsSort: COLORS_SORT_DIFFICULTY_DESCRIPTIONS,
55
- fruitMerger: FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS,
56
- flappyBird: FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS,
57
- candyCrush: CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS,
58
- snake: SNAKE_DIFFICULTY_DESCRIPTIONS
59
- };
60
-
61
- // Difficulty Levels
62
- export const DIFFICULTY_LEVELS = ['easy', 'medium', 'hard'];
63
- // Game Names
64
- export const GAME_NAMES = {
65
- BALLOON_BLASTER: 'balloonBlaster',
66
- FRUIT_SLICER: 'fruitSlicer',
67
- MAZE_RUNNER: 'mazeRunner',
68
- CAT_POPPER: 'catPopper',
69
- SPACE_TRAVELLER: 'spaceTraveller'
70
- };
71
- // Helper functions to get game-specific data
72
- export const getGameTheme = gameId => {
73
- switch (gameId) {
74
- case GAME_IDS.BALLOON_BLASTER:
75
- return GAME_THEMES.balloonBlaster;
76
- case GAME_IDS.FRUIT_NINJA:
77
- return GAME_THEMES.fruitNinja;
78
- case GAME_IDS.MAZE_RUNNER:
79
- return GAME_THEMES.mazeRunner;
80
- case GAME_IDS.WHACK_A_MOLE:
81
- return GAME_THEMES.whackAMole;
82
- case GAME_IDS.SPACE_FIGHTER:
83
- return GAME_THEMES.spaceFighter;
84
- case GAME_IDS.POPIT_FIDGET:
85
- return GAME_THEMES.popitFidget;
86
- case GAME_IDS.SLIDING_NUMBERS:
87
- return GAME_THEMES.slidingNumbers;
88
- case GAME_IDS.GAME_2048:
89
- return GAME_THEMES.game2048;
90
- case GAME_IDS.DINO_JUMP:
91
- return GAME_THEMES.dinoJump;
92
- case GAME_IDS.COLORS_SORT:
93
- return GAME_THEMES.colorsSort;
94
- case GAME_IDS.FRUIT_MERGER:
95
- return GAME_THEMES.fruitMerger;
96
- case GAME_IDS.FLAPPY_BIRD:
97
- return GAME_THEMES.flappyBird;
98
- case GAME_IDS.CANDY_CRUSH:
99
- return GAME_THEMES.candyCrush;
100
- case GAME_IDS.SNAKE:
101
- return GAME_THEMES.snake;
102
- default:
103
- return GAME_THEMES.balloonBlaster;
104
- // fallback
105
- }
106
- };
107
- export const getGameDifficultyDescriptions = gameId => {
108
- switch (gameId) {
109
- case GAME_IDS.BALLOON_BLASTER:
110
- return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;
111
- case GAME_IDS.FRUIT_NINJA:
112
- return GAME_DIFFICULTY_DESCRIPTIONS.fruitNinja;
113
- case GAME_IDS.MAZE_RUNNER:
114
- return GAME_DIFFICULTY_DESCRIPTIONS.mazeRunner;
115
- case GAME_IDS.WHACK_A_MOLE:
116
- return GAME_DIFFICULTY_DESCRIPTIONS.whackAMole;
117
- case GAME_IDS.SPACE_FIGHTER:
118
- return GAME_DIFFICULTY_DESCRIPTIONS.spaceFighter;
119
- case GAME_IDS.POPIT_FIDGET:
120
- return GAME_DIFFICULTY_DESCRIPTIONS.popitFidget;
121
- case GAME_IDS.SLIDING_NUMBERS:
122
- return GAME_DIFFICULTY_DESCRIPTIONS.slidingNumbers;
123
- case GAME_IDS.GAME_2048:
124
- return GAME_DIFFICULTY_DESCRIPTIONS.game2048;
125
- case GAME_IDS.DINO_JUMP:
126
- return GAME_DIFFICULTY_DESCRIPTIONS.dinoJump;
127
- case GAME_IDS.COLORS_SORT:
128
- return GAME_DIFFICULTY_DESCRIPTIONS.colorsSort;
129
- case GAME_IDS.FRUIT_MERGER:
130
- return GAME_DIFFICULTY_DESCRIPTIONS.fruitMerger;
131
- case GAME_IDS.FLAPPY_BIRD:
132
- return GAME_DIFFICULTY_DESCRIPTIONS.flappyBird;
133
- case GAME_IDS.CANDY_CRUSH:
134
- return GAME_DIFFICULTY_DESCRIPTIONS.candyCrush;
135
- case GAME_IDS.SNAKE:
136
- return GAME_DIFFICULTY_DESCRIPTIONS.snake;
137
- default:
138
- return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;
139
- // fallback
140
- }
141
- };
142
-
143
- // Game titles mapping - avoids circular dependency with GamesService
144
- export const getGameTitle = gameId => {
145
- switch (gameId) {
146
- case GAME_IDS.BALLOON_BLASTER:
147
- return 'Balloon Blaster';
148
- case GAME_IDS.FRUIT_NINJA:
149
- return 'Fruit Ninja';
150
- case GAME_IDS.MAZE_RUNNER:
151
- return 'Maze Runner';
152
- case GAME_IDS.WHACK_A_MOLE:
153
- return 'Whack-a-Mole';
154
- case GAME_IDS.SPACE_FIGHTER:
155
- return 'Space Fighter';
156
- case GAME_IDS.POPIT_FIDGET:
157
- return 'Pop It Fidget';
158
- case GAME_IDS.SLIDING_NUMBERS:
159
- return 'Sliding Numbers';
160
- case GAME_IDS.GAME_2048:
161
- return '2048';
162
- case GAME_IDS.DINO_JUMP:
163
- return 'Dino Jump';
164
- case GAME_IDS.COLORS_SORT:
165
- return 'Colors Sort';
166
- case GAME_IDS.FRUIT_MERGER:
167
- return 'Fruit Merger';
168
- case GAME_IDS.FLAPPY_BIRD:
169
- return 'Flappy Bird';
170
- case GAME_IDS.CANDY_CRUSH:
171
- return 'Candy Crush';
172
- case GAME_IDS.SNAKE:
173
- return 'Snake';
174
- default:
175
- return 'Game Settings';
176
- }
177
- };
178
- //# sourceMappingURL=GamesConstants.js.map
1
+ "use strict";import{GAME_IDS}from "./UtilsService.js";import{BALLOON_BLASTER_THEME,BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS}from "../games/balloon-blaster/BalloonBlasterConstants.js";import{FRUIT_NINJA_THEME,FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-ninja/FruitNinjaConstants.js";import{MAZE_RUNNER_THEME,MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS}from "../games/maze-runner/MazeRunnerConstants.js";import{WHACK_A_MOLE_THEME,WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS}from "../games/whack-a-mole/WhackAMoleConstants.js";import{SPACE_FIGHTER_THEME,SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS}from "../games/space-fighter/SpaceFighterConstants.js";import{POPIT_FIDGET_THEME,POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS}from "../games/popit-fidget/PopitFidgetConstants.js";import{SLIDING_NUMBERS_THEME,SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS}from "../games/sliding-numbers/SlidingNumbersConstants.js";import{GAME_2048_THEME,GAME_2048_DIFFICULTY_DESCRIPTIONS}from "../games/game-2048/Game2048Constants.js";import{DINO_JUMP_THEME,DINO_JUMP_DIFFICULTY_DESCRIPTIONS}from "../games/dino-jump/DinoJumpConstants.js";import{COLORS_SORT_THEME,COLORS_SORT_DIFFICULTY_DESCRIPTIONS}from "../games/colors-sort/ColorsSortConstants.js";import{FRUIT_MERGER_THEME,FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS}from "../games/fruit-merger/FruitMergerConstants.js";import{FLAPPY_BIRD_THEME,FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS}from "../games/flappy-bird/FlappyBirdConstants.js";import{CANDY_CRUSH_THEME,CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS}from "../games/candy-crush/CandyCrushConstants.js";import{SNAKE_THEME,SNAKE_DIFFICULTY_DESCRIPTIONS}from "../games/snake/SnakeConstants.js";export const GAME_THEMES ={balloonBlaster:BALLOON_BLASTER_THEME,fruitNinja:FRUIT_NINJA_THEME,mazeRunner:MAZE_RUNNER_THEME,whackAMole:WHACK_A_MOLE_THEME,spaceFighter:SPACE_FIGHTER_THEME,popitFidget:POPIT_FIDGET_THEME,slidingNumbers:SLIDING_NUMBERS_THEME,game2048:GAME_2048_THEME,dinoJump:DINO_JUMP_THEME,colorsSort:COLORS_SORT_THEME,fruitMerger:FRUIT_MERGER_THEME,flappyBird:FLAPPY_BIRD_THEME,candyCrush:CANDY_CRUSH_THEME,snake:SNAKE_THEME};export const GAME_DIFFICULTY_DESCRIPTIONS ={balloonBlaster:BALLOON_BLASTER_DIFFICULTY_DESCRIPTIONS,fruitNinja:FRUIT_NINJA_DIFFICULTY_DESCRIPTIONS,mazeRunner:MAZE_RUNNER_DIFFICULTY_DESCRIPTIONS,whackAMole:WHACK_A_MOLE_DIFFICULTY_DESCRIPTIONS,spaceFighter:SPACE_FIGHTER_DIFFICULTY_DESCRIPTIONS,popitFidget:POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS,slidingNumbers:SLIDING_NUMBERS_DIFFICULTY_DESCRIPTIONS,game2048:GAME_2048_DIFFICULTY_DESCRIPTIONS,dinoJump:DINO_JUMP_DIFFICULTY_DESCRIPTIONS,colorsSort:COLORS_SORT_DIFFICULTY_DESCRIPTIONS,fruitMerger:FRUIT_MERGER_DIFFICULTY_DESCRIPTIONS,flappyBird:FLAPPY_BIRD_DIFFICULTY_DESCRIPTIONS,candyCrush:CANDY_CRUSH_DIFFICULTY_DESCRIPTIONS,snake:SNAKE_DIFFICULTY_DESCRIPTIONS};export const DIFFICULTY_LEVELS = ['easy','medium','hard'];export const GAME_NAMES ={BALLOON_BLASTER:'balloonBlaster',FRUIT_SLICER:'fruitSlicer',MAZE_RUNNER:'mazeRunner',CAT_POPPER:'catPopper',SPACE_TRAVELLER:'spaceTraveller'};export const getGameTheme = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_THEMES.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_THEMES.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_THEMES.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_THEMES.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_THEMES.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_THEMES.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_THEMES.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_THEMES.game2048;case GAME_IDS.DINO_JUMP:return GAME_THEMES.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_THEMES.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_THEMES.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_THEMES.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_THEMES.candyCrush;case GAME_IDS.SNAKE:return GAME_THEMES.snake;default:return GAME_THEMES.balloonBlaster;}};export const getGameDifficultyDescriptions = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;case GAME_IDS.FRUIT_NINJA:return GAME_DIFFICULTY_DESCRIPTIONS.fruitNinja;case GAME_IDS.MAZE_RUNNER:return GAME_DIFFICULTY_DESCRIPTIONS.mazeRunner;case GAME_IDS.WHACK_A_MOLE:return GAME_DIFFICULTY_DESCRIPTIONS.whackAMole;case GAME_IDS.SPACE_FIGHTER:return GAME_DIFFICULTY_DESCRIPTIONS.spaceFighter;case GAME_IDS.POPIT_FIDGET:return GAME_DIFFICULTY_DESCRIPTIONS.popitFidget;case GAME_IDS.SLIDING_NUMBERS:return GAME_DIFFICULTY_DESCRIPTIONS.slidingNumbers;case GAME_IDS.GAME_2048:return GAME_DIFFICULTY_DESCRIPTIONS.game2048;case GAME_IDS.DINO_JUMP:return GAME_DIFFICULTY_DESCRIPTIONS.dinoJump;case GAME_IDS.COLORS_SORT:return GAME_DIFFICULTY_DESCRIPTIONS.colorsSort;case GAME_IDS.FRUIT_MERGER:return GAME_DIFFICULTY_DESCRIPTIONS.fruitMerger;case GAME_IDS.FLAPPY_BIRD:return GAME_DIFFICULTY_DESCRIPTIONS.flappyBird;case GAME_IDS.CANDY_CRUSH:return GAME_DIFFICULTY_DESCRIPTIONS.candyCrush;case GAME_IDS.SNAKE:return GAME_DIFFICULTY_DESCRIPTIONS.snake;default:return GAME_DIFFICULTY_DESCRIPTIONS.balloonBlaster;}};export const getGameTitle = gameId =>{switch(gameId){case GAME_IDS.BALLOON_BLASTER:return 'Balloon Blaster';case GAME_IDS.FRUIT_NINJA:return 'Fruit Ninja';case GAME_IDS.MAZE_RUNNER:return 'Maze Runner';case GAME_IDS.WHACK_A_MOLE:return 'Whack-a-Mole';case GAME_IDS.SPACE_FIGHTER:return 'Space Fighter';case GAME_IDS.POPIT_FIDGET:return 'Pop It Fidget';case GAME_IDS.SLIDING_NUMBERS:return 'Sliding Numbers';case GAME_IDS.GAME_2048:return '2048';case GAME_IDS.DINO_JUMP:return 'Dino Jump';case GAME_IDS.COLORS_SORT:return 'Colors Sort';case GAME_IDS.FRUIT_MERGER:return 'Fruit Merger';case GAME_IDS.FLAPPY_BIRD:return 'Flappy Bird';case GAME_IDS.CANDY_CRUSH:return 'Candy Crush';case GAME_IDS.SNAKE:return 'Snake';default:return 'Game Settings';}};
@@ -1,112 +1 @@
1
- "use strict";
2
-
3
- import { CandyCrush } from "../games/candy-crush/index.js";
4
- import { BalloonBlaster } from "../games/balloon-blaster/BalloonBlaster.js";
5
- import { ColorsSort } from "../games/colors-sort/ColorsSort.js";
6
- import { DinoJump } from "../games/dino-jump/DinoJump.js";
7
- import { FlappyBird } from "../games/flappy-bird/FlappyBird.js";
8
- import { FruitMerger } from "../games/fruit-merger/FruitMerger.js";
9
- import { FruitNinja } from "../games/fruit-ninja/FruitNinja.js";
10
- import { Game2048 } from "../games/game-2048/Game2048.js";
11
- import { MazeRunner } from "../games/maze-runner/MazeRunner.js";
12
- import { PopitFidget } from "../games/popit-fidget/PopitFidget.js";
13
- import { SlidingNumbers } from "../games/sliding-numbers/SlidingNumbers.js";
14
- import { Snake } from "../games/snake/index.js";
15
- import { SpaceFighter } from "../games/space-fighter/SpaceFighter.js";
16
- import { WhackAMole } from "../games/whack-a-mole/WhackAMole.js";
17
- import { GAME_IDS } from "./UtilsService.js";
18
-
19
- // Single source of truth for all games
20
- const GAMES = {
21
- [GAME_IDS.FRUIT_NINJA]: {
22
- id: GAME_IDS.FRUIT_NINJA,
23
- title: 'Fruit Ninja',
24
- description: 'Slice flying fruits with finger swipes - avoid the bombs!',
25
- component: FruitNinja
26
- },
27
- [GAME_IDS.CANDY_CRUSH]: {
28
- id: GAME_IDS.CANDY_CRUSH,
29
- title: 'Candy Crush',
30
- description: 'Match 3 or more candies to score - sweet puzzle fun!',
31
- component: CandyCrush
32
- },
33
- [GAME_IDS.FLAPPY_BIRD]: {
34
- id: GAME_IDS.FLAPPY_BIRD,
35
- title: 'Flappy Bird',
36
- description: 'Tap to flap and navigate through pipes - classic arcade fun!',
37
- component: FlappyBird
38
- },
39
- [GAME_IDS.COLORS_SORT]: {
40
- id: GAME_IDS.COLORS_SORT,
41
- title: 'Colors Sort',
42
- description: 'Sort colored pieces into matching containers - puzzle challenge!',
43
- component: ColorsSort
44
- },
45
- [GAME_IDS.DINO_JUMP]: {
46
- id: GAME_IDS.DINO_JUMP,
47
- title: 'Dino Jump',
48
- description: 'Chrome offline dino game - jump to avoid obstacles!',
49
- component: DinoJump
50
- },
51
- [GAME_IDS.POPIT_FIDGET]: {
52
- id: GAME_IDS.POPIT_FIDGET,
53
- title: 'Popit Fidget',
54
- description: 'Pop satisfying bubbles in this relaxing fidget toy game',
55
- component: PopitFidget
56
- },
57
- [GAME_IDS.WHACK_A_MOLE]: {
58
- id: GAME_IDS.WHACK_A_MOLE,
59
- title: 'Whack A Mole',
60
- description: 'Whack cute cats popping from holes - fast reflexes needed!',
61
- component: WhackAMole
62
- },
63
- [GAME_IDS.BALLOON_BLASTER]: {
64
- id: GAME_IDS.BALLOON_BLASTER,
65
- title: 'Balloon Blaster',
66
- description: 'Pop rising balloons before they escape - quick taps win!',
67
- component: BalloonBlaster
68
- },
69
- [GAME_IDS.SPACE_FIGHTER]: {
70
- id: GAME_IDS.SPACE_FIGHTER,
71
- title: 'Space Fighter',
72
- description: 'Pilot spaceship through asteroid fields in endless space',
73
- component: SpaceFighter
74
- },
75
- [GAME_IDS.MAZE_RUNNER]: {
76
- id: GAME_IDS.MAZE_RUNNER,
77
- title: 'Maze Runner',
78
- description: 'Navigate ball through mazes using tilt and physics controls',
79
- component: MazeRunner
80
- },
81
- [GAME_IDS.SLIDING_NUMBERS]: {
82
- id: GAME_IDS.SLIDING_NUMBERS,
83
- title: 'Sliding Numbers',
84
- description: 'Solve number puzzles by sliding tiles into correct order',
85
- component: SlidingNumbers
86
- },
87
- [GAME_IDS.GAME_2048]: {
88
- id: GAME_IDS.GAME_2048,
89
- title: '2048',
90
- description: 'Combine tiles to reach 2048! Swipe to merge matching numbers',
91
- component: Game2048
92
- },
93
- [GAME_IDS.FRUIT_MERGER]: {
94
- id: GAME_IDS.FRUIT_MERGER,
95
- title: 'Fruit Merger',
96
- description: 'Drop and merge fruits to create bigger ones - reach the pumpkin!',
97
- component: FruitMerger
98
- },
99
- [GAME_IDS.SNAKE]: {
100
- id: GAME_IDS.SNAKE,
101
- title: 'Snake & Eggs',
102
- description: 'Classic snake game - eat eggs, grow longer, avoid walls!',
103
- component: Snake
104
- }
105
- };
106
-
107
- // Derived exports for backward compatibility
108
- export const GAMES_LIST = Object.values(GAMES);
109
- export const GAMES_MAPPING = Object.fromEntries(Object.entries(GAMES).map(([id, {
110
- component
111
- }]) => [id, component]));
112
- //# sourceMappingURL=GamesService.js.map
1
+ "use strict";import{CandyCrush}from "../games/candy-crush/index.js";import{BalloonBlaster}from "../games/balloon-blaster/BalloonBlaster.js";import{ColorsSort}from "../games/colors-sort/ColorsSort.js";import{DinoJump}from "../games/dino-jump/DinoJump.js";import{FlappyBird}from "../games/flappy-bird/FlappyBird.js";import{FruitMerger}from "../games/fruit-merger/FruitMerger.js";import{FruitNinja}from "../games/fruit-ninja/FruitNinja.js";import{Game2048}from "../games/game-2048/Game2048.js";import{MazeRunner}from "../games/maze-runner/MazeRunner.js";import{PopitFidget}from "../games/popit-fidget/PopitFidget.js";import{SlidingNumbers}from "../games/sliding-numbers/SlidingNumbers.js";import{Snake}from "../games/snake/index.js";import{SpaceFighter}from "../games/space-fighter/SpaceFighter.js";import{WhackAMole}from "../games/whack-a-mole/WhackAMole.js";import{GAME_IDS}from "./UtilsService.js";const GAMES ={[GAME_IDS.FRUIT_NINJA]:{id:GAME_IDS.FRUIT_NINJA,title:'Fruit Ninja',description:'Slice flying fruits with finger swipes and combos - avoid the bombs!',component:FruitNinja},[GAME_IDS.POPIT_FIDGET]:{id:GAME_IDS.POPIT_FIDGET,title:'Popit Fidget',description:'Pop satisfying bubbles in this relaxing fidget toy simulation game!',component:PopitFidget},[GAME_IDS.FLAPPY_BIRD]:{id:GAME_IDS.FLAPPY_BIRD,title:'Flappy Bird',description:'Tap to flap and navigate through pipes - classic arcade challenge!',component:FlappyBird},[GAME_IDS.COLORS_SORT]:{id:GAME_IDS.COLORS_SORT,title:'Colors Sort',description:'Sort colored liquids into matching tubes - challenging logic puzzle!',component:ColorsSort},[GAME_IDS.DINO_JUMP]:{id:GAME_IDS.DINO_JUMP,title:'Dino Jump',description:'Jump over obstacles and collect stars for lives - endless runner!',component:DinoJump},[GAME_IDS.CANDY_CRUSH]:{id:GAME_IDS.CANDY_CRUSH,title:'Candy Crush',description:'Match colorful candies in rows to score points - sweet puzzle fun!',component:CandyCrush},[GAME_IDS.WHACK_A_MOLE]:{id:GAME_IDS.WHACK_A_MOLE,title:'Whack A Mole',description:'Whack cute cats popping from holes - test your lightning reflexes!',component:WhackAMole},[GAME_IDS.BALLOON_BLASTER]:{id:GAME_IDS.BALLOON_BLASTER,title:'Balloon Blaster',description:'Pop rising balloons before they escape - quick taps and swipes win!',component:BalloonBlaster},[GAME_IDS.SPACE_FIGHTER]:{id:GAME_IDS.SPACE_FIGHTER,title:'Space Fighter',description:'Pilot your spaceship through asteroid fields - endless space survival!',component:SpaceFighter},[GAME_IDS.MAZE_RUNNER]:{id:GAME_IDS.MAZE_RUNNER,title:'Maze Runner',description:'Navigate ball through procedural mazes - tilt and physics controls!',component:MazeRunner},[GAME_IDS.SLIDING_NUMBERS]:{id:GAME_IDS.SLIDING_NUMBERS,title:'Sliding Numbers',description:'Slide numbered tiles to solve puzzles - classic sliding puzzle game!',component:SlidingNumbers},[GAME_IDS.GAME_2048]:{id:GAME_IDS.GAME_2048,title:'2048',description:'Merge matching tiles to reach 2048 and beyond - addictive puzzle!',component:Game2048},[GAME_IDS.FRUIT_MERGER]:{id:GAME_IDS.FRUIT_MERGER,title:'Fruit Merger',description:'Drop and merge fruits to create bigger ones - reach the watermelon!',component:FruitMerger},[GAME_IDS.SNAKE]:{id:GAME_IDS.SNAKE,title:'Snake & Eggs',description:'Eat eggs to grow longer and avoid walls - classic snake gameplay!',component:Snake}};export const GAMES_LIST = Object.values(GAMES);export const GAMES_MAPPING = Object.fromEntries(Object.entries(GAMES).map(([id,{component}])=> [id,component]));
@@ -1 +1 @@
1
- {"version":3,"names":["CandyCrush","BalloonBlaster","ColorsSort","DinoJump","FlappyBird","FruitMerger","FruitNinja","Game2048","MazeRunner","PopitFidget","SlidingNumbers","Snake","SpaceFighter","WhackAMole","GAME_IDS","GAMES","FRUIT_NINJA","id","title","description","component","CANDY_CRUSH","FLAPPY_BIRD","COLORS_SORT","DINO_JUMP","POPIT_FIDGET","WHACK_A_MOLE","BALLOON_BLASTER","SPACE_FIGHTER","MAZE_RUNNER","SLIDING_NUMBERS","GAME_2048","FRUIT_MERGER","SNAKE","GAMES_LIST","Object","values","GAMES_MAPPING","fromEntries","entries","map"],"sourceRoot":"../../../src","sources":["services/GamesService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CandyCrush","BalloonBlaster","ColorsSort","DinoJump","FlappyBird","FruitMerger","FruitNinja","Game2048","MazeRunner","PopitFidget","SlidingNumbers","Snake","SpaceFighter","WhackAMole","GAME_IDS","GAMES","FRUIT_NINJA","id","title","description","component","POPIT_FIDGET","FLAPPY_BIRD","COLORS_SORT","DINO_JUMP","CANDY_CRUSH","WHACK_A_MOLE","BALLOON_BLASTER","SPACE_FIGHTER","MAZE_RUNNER","SLIDING_NUMBERS","GAME_2048","FRUIT_MERGER","SNAKE","GAMES_LIST","Object","values","GAMES_MAPPING","fromEntries","entries","map"],"sourceRoot":"../../../src","sources":["services/GamesService.ts"],"mappings":"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","ignoreList":[]}
@@ -1,77 +1 @@
1
- "use strict";
2
-
3
- import * as Haptics from 'expo-haptics';
4
- export let HapticType = /*#__PURE__*/function (HapticType) {
5
- HapticType["LIGHT"] = "light";
6
- HapticType["MEDIUM"] = "medium";
7
- HapticType["HEAVY"] = "heavy";
8
- HapticType["SUCCESS"] = "success";
9
- HapticType["WARNING"] = "warning";
10
- HapticType["ERROR"] = "error";
11
- HapticType["SELECTION"] = "selection";
12
- return HapticType;
13
- }({});
14
-
15
- // Cache haptics availability to avoid repeated failed attempts
16
- let hapticsDisabled = false;
17
-
18
- /**
19
- * Play haptic feedback with robust error handling
20
- * @param type - Type of haptic feedback to play
21
- * @param hapticEnabled - Whether haptic feedback is enabled in settings
22
- */
23
- export const playHaptic = (type, hapticEnabled = false) => {
24
- // Early return if haptics are disabled in settings or previously failed
25
- if (!hapticEnabled || hapticsDisabled) return;
26
- try {
27
- switch (type) {
28
- case HapticType.LIGHT:
29
- Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light).catch(error => {
30
- console.warn('Light haptic failed:', error);
31
- hapticsDisabled = true;
32
- });
33
- break;
34
- case HapticType.MEDIUM:
35
- Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium).catch(error => {
36
- console.warn('Medium haptic failed:', error);
37
- hapticsDisabled = true;
38
- });
39
- break;
40
- case HapticType.HEAVY:
41
- Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy).catch(error => {
42
- console.warn('Heavy haptic failed:', error);
43
- hapticsDisabled = true;
44
- });
45
- break;
46
- case HapticType.SUCCESS:
47
- Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success).catch(error => {
48
- console.warn('Success haptic failed:', error);
49
- hapticsDisabled = true;
50
- });
51
- break;
52
- case HapticType.WARNING:
53
- Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning).catch(error => {
54
- console.warn('Warning haptic failed:', error);
55
- hapticsDisabled = true;
56
- });
57
- break;
58
- case HapticType.ERROR:
59
- Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error).catch(error => {
60
- console.warn('Error haptic failed:', error);
61
- hapticsDisabled = true;
62
- });
63
- break;
64
- case HapticType.SELECTION:
65
- Haptics.selectionAsync().catch(error => {
66
- console.warn('Selection haptic failed:', error);
67
- hapticsDisabled = true;
68
- });
69
- break;
70
- }
71
- } catch (error) {
72
- // Synchronous error handling - disable haptics completely
73
- console.warn('Haptic feedback failed, disabling haptics:', error);
74
- hapticsDisabled = true;
75
- }
76
- };
77
- //# sourceMappingURL=HapticsService.js.map
1
+ "use strict";import * as Haptics from 'expo-haptics';export let HapticType = function(HapticType){HapticType["LIGHT"] = "light";HapticType["MEDIUM"] = "medium";HapticType["HEAVY"] = "heavy";HapticType["SUCCESS"] = "success";HapticType["WARNING"] = "warning";HapticType["ERROR"] = "error";HapticType["SELECTION"] = "selection";return HapticType;}({});let hapticsDisabled = false;export const playHaptic =(type,hapticEnabled = false)=>{if(!hapticEnabled || hapticsDisabled)return;try{switch(type){case HapticType.LIGHT:Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light).catch(error =>{console.warn('Light haptic failed:',error);hapticsDisabled = true;});break;case HapticType.MEDIUM:Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium).catch(error =>{console.warn('Medium haptic failed:',error);hapticsDisabled = true;});break;case HapticType.HEAVY:Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Heavy).catch(error =>{console.warn('Heavy haptic failed:',error);hapticsDisabled = true;});break;case HapticType.SUCCESS:Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success).catch(error =>{console.warn('Success haptic failed:',error);hapticsDisabled = true;});break;case HapticType.WARNING:Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning).catch(error =>{console.warn('Warning haptic failed:',error);hapticsDisabled = true;});break;case HapticType.ERROR:Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error).catch(error =>{console.warn('Error haptic failed:',error);hapticsDisabled = true;});break;case HapticType.SELECTION:Haptics.selectionAsync().catch(error =>{console.warn('Selection haptic failed:',error);hapticsDisabled = true;});break;}}catch(error){console.warn('Haptic feedback failed,disabling haptics:',error);hapticsDisabled = true;}};