react-native-games 1.0.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.
- package/README.md +80 -368
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -167
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -182
- package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js.map +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js +1 -318
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +1 -183
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js +1 -237
- package/lib/module/games/balloon-blaster/components/GameArea.js +1 -156
- package/lib/module/games/balloon-blaster/components/GameBackground.js +1 -476
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js +1 -112
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/balloon-blaster/components/index.js +1 -7
- package/lib/module/games/candy-crush/CandyCrush.js +1 -131
- package/lib/module/games/candy-crush/CandyCrush.js.map +1 -1
- package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -125
- package/lib/module/games/candy-crush/CandyCrushConstants.js.map +1 -1
- package/lib/module/games/candy-crush/CandyCrushService.js +1 -370
- package/lib/module/games/candy-crush/CandyCrushStore.js +1 -303
- package/lib/module/games/candy-crush/components/CandyItem.js +1 -191
- package/lib/module/games/candy-crush/components/GameBackground.js +1 -85
- package/lib/module/games/candy-crush/components/GameGrid.js +1 -314
- package/lib/module/games/candy-crush/components/ScoreBoard.js +1 -79
- package/lib/module/games/candy-crush/components/index.js +1 -7
- package/lib/module/games/candy-crush/index.js +1 -6
- package/lib/module/games/colors-sort/ColorsSort.js +1 -143
- package/lib/module/games/colors-sort/ColorsSort.js.map +1 -1
- package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -72
- package/lib/module/games/colors-sort/ColorsSortConstants.js.map +1 -1
- package/lib/module/games/colors-sort/ColorsSortService.js +1 -255
- package/lib/module/games/colors-sort/ColorsSortStore.js +1 -257
- package/lib/module/games/colors-sort/ColorsSortStore.js.map +1 -1
- package/lib/module/games/colors-sort/components/ColorContainer.js +1 -140
- package/lib/module/games/colors-sort/components/GameBackground.js +1 -135
- package/lib/module/games/colors-sort/components/ScoreBoard.js +1 -70
- package/lib/module/games/colors-sort/components/index.js +1 -6
- package/lib/module/games/dino-jump/DinoJump.js +1 -209
- package/lib/module/games/dino-jump/DinoJump.js.map +1 -1
- package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -189
- package/lib/module/games/dino-jump/DinoJumpConstants.js.map +1 -1
- package/lib/module/games/dino-jump/DinoJumpService.js +1 -270
- package/lib/module/games/dino-jump/DinoJumpStore.js +1 -381
- package/lib/module/games/dino-jump/components/DinoSprite.js +1 -418
- package/lib/module/games/dino-jump/components/DinoSprite.js.map +1 -1
- package/lib/module/games/dino-jump/components/GameArea.js +1 -68
- package/lib/module/games/dino-jump/components/GameBackground.js +1 -444
- package/lib/module/games/dino-jump/components/ObstacleSprite.js +1 -306
- package/lib/module/games/dino-jump/components/ScoreBoard.js +1 -105
- package/lib/module/games/dino-jump/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/dino-jump/components/StarSprite.js +1 -45
- package/lib/module/games/dino-jump/components/index.js +1 -9
- package/lib/module/games/flappy-bird/FlappyBird.js +1 -126
- package/lib/module/games/flappy-bird/FlappyBird.js.map +1 -1
- package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -90
- package/lib/module/games/flappy-bird/FlappyBirdConstants.js.map +1 -1
- package/lib/module/games/flappy-bird/FlappyBirdStore.js +1 -300
- package/lib/module/games/flappy-bird/components/Bird.js +1 -87
- package/lib/module/games/flappy-bird/components/GameArea.js +1 -87
- package/lib/module/games/flappy-bird/components/GameBackground.js +1 -79
- package/lib/module/games/flappy-bird/components/Pipes.js +1 -172
- package/lib/module/games/flappy-bird/components/ScoreBoard.js +1 -73
- package/lib/module/games/flappy-bird/components/index.js +1 -8
- package/lib/module/games/fruit-merger/FruitMerger.js +1 -120
- package/lib/module/games/fruit-merger/FruitMerger.js.map +1 -1
- package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -119
- package/lib/module/games/fruit-merger/FruitMergerConstants.js.map +1 -1
- package/lib/module/games/fruit-merger/FruitMergerService.js +1 -13
- package/lib/module/games/fruit-merger/FruitMergerStore.js +1 -315
- package/lib/module/games/fruit-merger/components/FruitItem.js +1 -102
- package/lib/module/games/fruit-merger/components/GameArea.js +1 -103
- package/lib/module/games/fruit-merger/components/GameBackground.js +1 -498
- package/lib/module/games/fruit-merger/components/ScoreBoard.js +1 -58
- package/lib/module/games/fruit-merger/components/index.js +1 -7
- package/lib/module/games/fruit-ninja/FruitNinja.js +1 -134
- package/lib/module/games/fruit-ninja/FruitNinja.js.map +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -148
- package/lib/module/games/fruit-ninja/FruitNinjaConstants.js.map +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaService.js +1 -311
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js +1 -191
- package/lib/module/games/fruit-ninja/FruitNinjaStore.js.map +1 -1
- package/lib/module/games/fruit-ninja/components/FruitComponent.js +1 -99
- package/lib/module/games/fruit-ninja/components/GameArea.js +1 -215
- package/lib/module/games/fruit-ninja/components/GameBackground.js +1 -1267
- package/lib/module/games/fruit-ninja/components/ScoreBoard.js +1 -92
- package/lib/module/games/fruit-ninja/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/fruit-ninja/components/index.js +1 -7
- package/lib/module/games/game-2048/Game2048.js +1 -149
- package/lib/module/games/game-2048/Game2048.js.map +1 -1
- package/lib/module/games/game-2048/Game2048Constants.js +1 -263
- package/lib/module/games/game-2048/Game2048Constants.js.map +1 -1
- package/lib/module/games/game-2048/Game2048Service.js +1 -457
- package/lib/module/games/game-2048/Game2048Store.js +1 -236
- package/lib/module/games/game-2048/components/GameBackground.js +1 -247
- package/lib/module/games/game-2048/components/GameGrid.js +1 -139
- package/lib/module/games/game-2048/components/GameTile.js +1 -72
- package/lib/module/games/game-2048/components/ScoreBoard.js +1 -52
- package/lib/module/games/game-2048/components/index.js +1 -7
- package/lib/module/games/maze-runner/MazeRunner.js +1 -267
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -1
- package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -100
- package/lib/module/games/maze-runner/MazeRunnerConstants.js.map +1 -1
- package/lib/module/games/maze-runner/MazeRunnerService.js +1 -586
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +1 -150
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js +1 -370
- package/lib/module/games/maze-runner/components/GameBackground.js +1 -175
- package/lib/module/games/maze-runner/components/ScoreBoard.js +1 -61
- package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +1 -209
- package/lib/module/games/maze-runner/components/StaticGameBackground.js +1 -169
- package/lib/module/games/maze-runner/components/WallComponent.js +1 -91
- package/lib/module/games/maze-runner/components/index.js +1 -8
- package/lib/module/games/popit-fidget/PopitFidget.js +1 -285
- package/lib/module/games/popit-fidget/PopitFidget.js.map +1 -1
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -113
- package/lib/module/games/popit-fidget/PopitFidgetConstants.js.map +1 -1
- package/lib/module/games/popit-fidget/PopitFidgetService.js +1 -132
- package/lib/module/games/popit-fidget/PopitFidgetStore.js +1 -125
- package/lib/module/games/popit-fidget/components/BubbleComponent.js +1 -198
- package/lib/module/games/popit-fidget/components/FidgetGrid.js +1 -165
- package/lib/module/games/popit-fidget/components/GameBackground.js +1 -177
- package/lib/module/games/popit-fidget/components/ScoreBoard.js +1 -61
- package/lib/module/games/popit-fidget/components/index.js +1 -7
- package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -159
- package/lib/module/games/sliding-numbers/SlidingNumbers.js.map +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -207
- package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js.map +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersService.js +1 -248
- package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +1 -274
- package/lib/module/games/sliding-numbers/components/GameBackground.js +1 -259
- package/lib/module/games/sliding-numbers/components/NumbersGrid.js +1 -174
- package/lib/module/games/sliding-numbers/components/NumbersTile.js +1 -116
- package/lib/module/games/sliding-numbers/components/ScoreBoard.js +1 -64
- package/lib/module/games/sliding-numbers/components/index.js +1 -7
- package/lib/module/games/snake/Snake.js +1 -189
- package/lib/module/games/snake/Snake.js.map +1 -1
- package/lib/module/games/snake/SnakeConstants.js +1 -138
- package/lib/module/games/snake/SnakeConstants.js.map +1 -1
- package/lib/module/games/snake/SnakeService.js +1 -148
- package/lib/module/games/snake/SnakeStore.js +1 -182
- package/lib/module/games/snake/components/GameBackground.js +1 -221
- package/lib/module/games/snake/components/GameGrid.js +1 -153
- package/lib/module/games/snake/components/ScoreBoard.js +1 -51
- package/lib/module/games/snake/components/index.js +1 -6
- package/lib/module/games/snake/index.js +1 -6
- package/lib/module/games/space-fighter/SpaceFighter.js +1 -165
- package/lib/module/games/space-fighter/SpaceFighter.js.map +1 -1
- package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -108
- package/lib/module/games/space-fighter/SpaceFighterConstants.js.map +1 -1
- package/lib/module/games/space-fighter/SpaceFighterService.js +1 -326
- package/lib/module/games/space-fighter/SpaceFighterStore.js +1 -209
- package/lib/module/games/space-fighter/components/AsteroidComponent.js +1 -113
- package/lib/module/games/space-fighter/components/GameArea.js +1 -289
- package/lib/module/games/space-fighter/components/GameBackground.js +1 -239
- package/lib/module/games/space-fighter/components/ScoreBoard.js +1 -136
- package/lib/module/games/space-fighter/components/Spacecraft3D.js +1 -202
- package/lib/module/games/space-fighter/components/SpacecraftPath.js +1 -52
- package/lib/module/games/space-fighter/components/index.js +1 -9
- package/lib/module/games/whack-a-mole/WhackAMole.js +1 -270
- package/lib/module/games/whack-a-mole/WhackAMole.js.map +1 -1
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -115
- package/lib/module/games/whack-a-mole/WhackAMoleConstants.js.map +1 -1
- package/lib/module/games/whack-a-mole/WhackAMoleService.js +1 -120
- package/lib/module/games/whack-a-mole/WhackAMoleStore.js +1 -172
- package/lib/module/games/whack-a-mole/components/GameBackground.js +1 -477
- package/lib/module/games/whack-a-mole/components/GameGrid.js +1 -97
- package/lib/module/games/whack-a-mole/components/GameHole.js +1 -196
- package/lib/module/games/whack-a-mole/components/MoleCharacter.js +1 -241
- package/lib/module/games/whack-a-mole/components/ScoreBoard.js +1 -67
- package/lib/module/games/whack-a-mole/components/ScoreBoard.js.map +1 -1
- package/lib/module/games/whack-a-mole/components/index.js +1 -8
- package/lib/module/helpers/AnimationFrame.js +1 -120
- package/lib/module/helpers/AnimationTracker.js +1 -89
- package/lib/module/helpers/ErrorHandler.js +1 -269
- package/lib/module/helpers/GameControlButton.js +1 -219
- package/lib/module/helpers/GameOverModal.js +1 -144
- package/lib/module/helpers/GameOverModal.js.map +1 -1
- package/lib/module/helpers/GameSettingsModal.js +1 -287
- package/lib/module/helpers/ParticleBlast.js +1 -134
- package/lib/module/helpers/ScoreBoardContainer.js +1 -34
- package/lib/module/helpers/index.js +1 -12
- package/lib/module/index.js +1 -22
- package/lib/module/services/GamesConstants.js +1 -178
- package/lib/module/services/GamesService.js +1 -112
- package/lib/module/services/GamesService.js.map +1 -1
- package/lib/module/services/HapticsService.js +1 -77
- package/lib/module/services/SoundsService.js +1 -302
- package/lib/module/services/UtilsService.js +1 -32
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -1
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +1 -1
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +7 -7
- package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts.map +1 -1
- package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts.map +1 -1
- package/lib/typescript/src/games/dino-jump/DinoJump.d.ts.map +1 -1
- package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts.map +1 -1
- package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts.map +1 -1
- package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts.map +1 -1
- package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/games/game-2048/Game2048.d.ts.map +1 -1
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -1
- package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts.map +1 -1
- package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts.map +1 -1
- package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts.map +1 -1
- package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +1 -1
- package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts.map +1 -1
- package/lib/typescript/src/helpers/GameOverModal.d.ts +3 -0
- package/lib/typescript/src/helpers/GameOverModal.d.ts.map +1 -1
- package/lib/typescript/src/services/GamesConstants.d.ts +7 -7
- package/package.json +2 -2
|
@@ -1,91 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Canvas, Rect, LinearGradient, vec, Shadow, RoundedRect } from '@shopify/react-native-skia';
|
|
5
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
-
// Memoized WallComponent to prevent unnecessary re-renders
|
|
7
|
-
export const WallComponent = /*#__PURE__*/React.memo(({
|
|
8
|
-
walls,
|
|
9
|
-
width,
|
|
10
|
-
height
|
|
11
|
-
}) => {
|
|
12
|
-
// Group walls by type and position for better joining
|
|
13
|
-
const renderWall = (wall, index) => {
|
|
14
|
-
const cornerRadius = 2; // Small radius for slightly rounded corners
|
|
15
|
-
const shadowOffset = 1.5;
|
|
16
|
-
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
17
|
-
children: [/*#__PURE__*/_jsxs(RoundedRect, {
|
|
18
|
-
x: wall.x,
|
|
19
|
-
y: wall.y,
|
|
20
|
-
width: wall.width,
|
|
21
|
-
height: wall.height,
|
|
22
|
-
r: cornerRadius,
|
|
23
|
-
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
24
|
-
start: vec(0, 0),
|
|
25
|
-
end: wall.type === 'horizontal' ? vec(0, wall.height) : vec(wall.width, 0),
|
|
26
|
-
colors: ['#654321',
|
|
27
|
-
// Dark brown
|
|
28
|
-
'#8B4513',
|
|
29
|
-
// Saddle brown
|
|
30
|
-
'#A0522D',
|
|
31
|
-
// Sienna
|
|
32
|
-
'#CD853F',
|
|
33
|
-
// Peru
|
|
34
|
-
'#D2691E' // Chocolate
|
|
35
|
-
]
|
|
36
|
-
}), /*#__PURE__*/_jsx(Shadow, {
|
|
37
|
-
dx: shadowOffset,
|
|
38
|
-
dy: shadowOffset,
|
|
39
|
-
blur: 3,
|
|
40
|
-
color: "rgba(0, 0, 0, 0.4)"
|
|
41
|
-
})]
|
|
42
|
-
}), /*#__PURE__*/_jsx(RoundedRect, {
|
|
43
|
-
x: wall.x + 1,
|
|
44
|
-
y: wall.y + 1,
|
|
45
|
-
width: Math.max(0, wall.width - 2),
|
|
46
|
-
height: Math.max(0, wall.height - 2),
|
|
47
|
-
r: Math.max(0, cornerRadius - 1),
|
|
48
|
-
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
49
|
-
start: vec(0, 0),
|
|
50
|
-
end: wall.type === 'horizontal' ? vec(0, wall.height - 2) : vec(wall.width - 2, 0),
|
|
51
|
-
colors: ['rgba(255, 255, 255, 0.3)',
|
|
52
|
-
// Light highlight
|
|
53
|
-
'rgba(255, 255, 255, 0.1)',
|
|
54
|
-
// Subtle highlight
|
|
55
|
-
'rgba(0, 0, 0, 0.1)',
|
|
56
|
-
// Subtle shadow
|
|
57
|
-
'rgba(0, 0, 0, 0.2)' // Darker shadow
|
|
58
|
-
]
|
|
59
|
-
})
|
|
60
|
-
}), wall.type === 'horizontal' && /*#__PURE__*/_jsx(Rect, {
|
|
61
|
-
x: wall.x,
|
|
62
|
-
y: wall.y,
|
|
63
|
-
width: wall.width,
|
|
64
|
-
height: 1,
|
|
65
|
-
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
66
|
-
start: vec(0, 0),
|
|
67
|
-
end: vec(wall.width, 0),
|
|
68
|
-
colors: ['rgba(255, 255, 255, 0.6)', 'rgba(255, 255, 255, 0.3)']
|
|
69
|
-
})
|
|
70
|
-
}), wall.type === 'vertical' && /*#__PURE__*/_jsx(Rect, {
|
|
71
|
-
x: wall.x,
|
|
72
|
-
y: wall.y,
|
|
73
|
-
width: 1,
|
|
74
|
-
height: wall.height,
|
|
75
|
-
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
76
|
-
start: vec(0, 0),
|
|
77
|
-
end: vec(0, wall.height),
|
|
78
|
-
colors: ['rgba(255, 255, 255, 0.6)', 'rgba(255, 255, 255, 0.3)']
|
|
79
|
-
})
|
|
80
|
-
})]
|
|
81
|
-
}, index);
|
|
82
|
-
};
|
|
83
|
-
return /*#__PURE__*/_jsx(Canvas, {
|
|
84
|
-
style: {
|
|
85
|
-
width,
|
|
86
|
-
height
|
|
87
|
-
},
|
|
88
|
-
children: walls.map((wall, index) => renderWall(wall, index))
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=WallComponent.js.map
|
|
1
|
+
"use strict";import React from 'react';import{Canvas,Rect,LinearGradient,vec,Shadow,RoundedRect}from '@shopify/react-native-skia';import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";export const WallComponent = React.memo(({walls,width,height})=>{const renderWall =(wall,index)=>{const cornerRadius = 2;const shadowOffset = 1.5;return _jsxs(React.Fragment,{children:[_jsxs(RoundedRect,{x:wall.x,y:wall.y,width:wall.width,height:wall.height,r:cornerRadius,children:[_jsx(LinearGradient,{start:vec(0,0),end:wall.type === 'horizontal' ? vec(0,wall.height):vec(wall.width,0),colors:['#654321','#8B4513','#A0522D','#CD853F','#D2691E' ]}),_jsx(Shadow,{dx:shadowOffset,dy:shadowOffset,blur:3,color:"rgba(0,0,0,0.4)"})]}),_jsx(RoundedRect,{x:wall.x + 1,y:wall.y + 1,width:Math.max(0,wall.width - 2),height:Math.max(0,wall.height - 2),r:Math.max(0,cornerRadius - 1),children:_jsx(LinearGradient,{start:vec(0,0),end:wall.type === 'horizontal' ? vec(0,wall.height - 2):vec(wall.width - 2,0),colors:['rgba(255,255,255,0.3)','rgba(255,255,255,0.1)','rgba(0,0,0,0.1)','rgba(0,0,0,0.2)' ]})}),wall.type === 'horizontal' && _jsx(Rect,{x:wall.x,y:wall.y,width:wall.width,height:1,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(wall.width,0),colors:['rgba(255,255,255,0.6)','rgba(255,255,255,0.3)']})}),wall.type === 'vertical' && _jsx(Rect,{x:wall.x,y:wall.y,width:1,height:wall.height,children:_jsx(LinearGradient,{start:vec(0,0),end:vec(0,wall.height),colors:['rgba(255,255,255,0.6)','rgba(255,255,255,0.3)']})})]},index);};return _jsx(Canvas,{style:{width,height},children:walls.map((wall,index)=> renderWall(wall,index))});});
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export { EnhancedBallComponent } from "./EnhancedBallComponent.js";
|
|
4
|
-
export { WallComponent } from "./WallComponent.js";
|
|
5
|
-
export { EnhancedGameArea } from "./EnhancedGameArea.js";
|
|
6
|
-
export { GameBackground } from "./GameBackground.js";
|
|
7
|
-
export { ScoreBoard } from "./ScoreBoard.js";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";export{EnhancedBallComponent}from "./EnhancedBallComponent.js";export{WallComponent}from "./WallComponent.js";export{EnhancedGameArea}from "./EnhancedGameArea.js";export{GameBackground}from "./GameBackground.js";export{ScoreBoard}from "./ScoreBoard.js";
|
|
@@ -1,285 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React, { useEffect, useRef, useCallback, useMemo } from 'react';
|
|
4
|
-
import { View, StyleSheet, Dimensions } from 'react-native';
|
|
5
|
-
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
6
|
-
import { usePopitFidgetStore } from "./PopitFidgetStore.js";
|
|
7
|
-
import { PopitFidgetService } from "./PopitFidgetService.js";
|
|
8
|
-
import { GAME_IDS, DEFAULT_GAME_SETTINGS } from "../../services/UtilsService.js";
|
|
9
|
-
import { playSound, GAME_SOUNDS } from "../../services/SoundsService.js";
|
|
10
|
-
import { playHaptic, HapticType } from "../../services/HapticsService.js";
|
|
11
|
-
import { GameBackground, FidgetGrid as FidgetGridComponent, ScoreBoard } from "./components/index.js";
|
|
12
|
-
import { GameControlButton, GameOverModal } from "../../helpers/index.js";
|
|
13
|
-
import { GameSettingsModal } from "../../helpers/index.js";
|
|
14
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
const {
|
|
16
|
-
width,
|
|
17
|
-
height
|
|
18
|
-
} = Dimensions.get('window');
|
|
19
|
-
const PopitFidget = ({
|
|
20
|
-
settings,
|
|
21
|
-
onSettingsChange
|
|
22
|
-
}) => {
|
|
23
|
-
// Use selective subscriptions to prevent unnecessary re-renders
|
|
24
|
-
const fidgetGrid = usePopitFidgetStore(state => state.fidgetGrid);
|
|
25
|
-
const timeElapsed = usePopitFidgetStore(state => state.timeElapsed);
|
|
26
|
-
const isPlaying = usePopitFidgetStore(state => state.isPlaying);
|
|
27
|
-
const gameOver = usePopitFidgetStore(state => state.gameOver);
|
|
28
|
-
const gameWon = usePopitFidgetStore(state => state.gameWon);
|
|
29
|
-
|
|
30
|
-
// Get store actions (these don't cause re-renders)
|
|
31
|
-
const startGame = usePopitFidgetStore(state => state.startGame);
|
|
32
|
-
const resetGame = usePopitFidgetStore(state => state.resetGame);
|
|
33
|
-
const setFidgetGrid = usePopitFidgetStore(state => state.setFidgetGrid);
|
|
34
|
-
const popBubble = usePopitFidgetStore(state => state.popBubble);
|
|
35
|
-
const incrementTime = usePopitFidgetStore(state => state.incrementTime);
|
|
36
|
-
const serviceRef = useRef(null);
|
|
37
|
-
|
|
38
|
-
// Use settings from props
|
|
39
|
-
const {
|
|
40
|
-
difficulty = 'medium',
|
|
41
|
-
enableSounds = true,
|
|
42
|
-
enableHaptics = true
|
|
43
|
-
} = settings || {};
|
|
44
|
-
|
|
45
|
-
// Initialize service and generate initial fidget grid
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
if (!serviceRef.current) {
|
|
48
|
-
serviceRef.current = new PopitFidgetService();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Generate initial fidget grid so it shows before game starts
|
|
52
|
-
if (serviceRef.current && !fidgetGrid) {
|
|
53
|
-
const grid = serviceRef.current.generateFidgetGrid(difficulty);
|
|
54
|
-
setFidgetGrid(grid);
|
|
55
|
-
}
|
|
56
|
-
}, [fidgetGrid, setFidgetGrid, difficulty]);
|
|
57
|
-
|
|
58
|
-
// Unmount-only cleanup to fully reset without causing state update loops
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
return () => {
|
|
61
|
-
// Stop timers and reset store, but do NOT generate a new grid on unmount
|
|
62
|
-
try {
|
|
63
|
-
serviceRef.current?.stopGameTimer();
|
|
64
|
-
} catch {}
|
|
65
|
-
try {
|
|
66
|
-
resetGame();
|
|
67
|
-
} catch {}
|
|
68
|
-
try {
|
|
69
|
-
serviceRef.current?.cleanup();
|
|
70
|
-
} catch {}
|
|
71
|
-
};
|
|
72
|
-
}, []);
|
|
73
|
-
|
|
74
|
-
// Memoize service to prevent recreation
|
|
75
|
-
const service = useMemo(() => {
|
|
76
|
-
if (!serviceRef.current) {
|
|
77
|
-
serviceRef.current = new PopitFidgetService();
|
|
78
|
-
}
|
|
79
|
-
return serviceRef.current;
|
|
80
|
-
}, []);
|
|
81
|
-
|
|
82
|
-
// Generate new fidget grid (simplified - always square based on difficulty)
|
|
83
|
-
const generateNewFidget = useCallback(() => {
|
|
84
|
-
const grid = service.generateFidgetGrid(difficulty);
|
|
85
|
-
setFidgetGrid(grid);
|
|
86
|
-
}, [service, setFidgetGrid, difficulty]);
|
|
87
|
-
|
|
88
|
-
// Track previous difficulty to avoid infinite loops
|
|
89
|
-
const prevDifficultyRef = React.useRef(difficulty);
|
|
90
|
-
|
|
91
|
-
// Watch for difficulty changes and regenerate grid when difficulty changes
|
|
92
|
-
const handleDifficultyChange = useCallback(() => {
|
|
93
|
-
// Only regenerate if difficulty actually changed
|
|
94
|
-
if (prevDifficultyRef.current !== difficulty) {
|
|
95
|
-
if (!isPlaying) {
|
|
96
|
-
// Game not playing - just regenerate grid
|
|
97
|
-
generateNewFidget();
|
|
98
|
-
}
|
|
99
|
-
prevDifficultyRef.current = difficulty;
|
|
100
|
-
}
|
|
101
|
-
}, [difficulty, isPlaying, generateNewFidget]);
|
|
102
|
-
useEffect(() => {
|
|
103
|
-
handleDifficultyChange();
|
|
104
|
-
}, [handleDifficultyChange]);
|
|
105
|
-
|
|
106
|
-
// Watch for game completion events and play appropriate sounds
|
|
107
|
-
React.useEffect(() => {
|
|
108
|
-
if (gameOver && !isPlaying) {
|
|
109
|
-
if (gameWon) {
|
|
110
|
-
// All bubbles popped - game completed successfully
|
|
111
|
-
playSound(GAME_SOUNDS.BUBBLE_POPPER.COMPLETE, enableSounds);
|
|
112
|
-
} else {
|
|
113
|
-
// Time ran out - game over
|
|
114
|
-
playSound(GAME_SOUNDS.TIME_UP, enableSounds);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}, [gameOver, gameWon, isPlaying, enableSounds]);
|
|
118
|
-
|
|
119
|
-
// Timer effect - handles time elapsed when game is playing
|
|
120
|
-
useEffect(() => {
|
|
121
|
-
let timerInterval = null;
|
|
122
|
-
if (isPlaying) {
|
|
123
|
-
timerInterval = setInterval(() => {
|
|
124
|
-
incrementTime();
|
|
125
|
-
}, 1000);
|
|
126
|
-
}
|
|
127
|
-
return () => {
|
|
128
|
-
if (timerInterval) {
|
|
129
|
-
clearInterval(timerInterval);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
}, [isPlaying, incrementTime]);
|
|
133
|
-
|
|
134
|
-
// Start game
|
|
135
|
-
const startGameHandler = useCallback(() => {
|
|
136
|
-
// Always generate new fidget when starting a new game
|
|
137
|
-
generateNewFidget();
|
|
138
|
-
|
|
139
|
-
// Play game start sound
|
|
140
|
-
playSound(GAME_SOUNDS.BUBBLE_POPPER.START, enableSounds);
|
|
141
|
-
|
|
142
|
-
// Store uses fixed 60s duration internally
|
|
143
|
-
startGame();
|
|
144
|
-
|
|
145
|
-
// Haptic feedback
|
|
146
|
-
playHaptic(HapticType.MEDIUM, enableHaptics);
|
|
147
|
-
}, [startGame, enableSounds, enableHaptics, generateNewFidget]);
|
|
148
|
-
|
|
149
|
-
// Stop game - simply reset the game state without showing game over popup
|
|
150
|
-
const stopGameHandler = useCallback(() => {
|
|
151
|
-
service.stopGameTimer();
|
|
152
|
-
resetGame();
|
|
153
|
-
generateNewFidget();
|
|
154
|
-
}, [service, resetGame, generateNewFidget]);
|
|
155
|
-
|
|
156
|
-
// Reset game
|
|
157
|
-
const resetGameHandler = useCallback(() => {
|
|
158
|
-
service.stopGameTimer();
|
|
159
|
-
resetGame();
|
|
160
|
-
generateNewFidget();
|
|
161
|
-
}, [service, resetGame, generateNewFidget]);
|
|
162
|
-
|
|
163
|
-
// Handle bubble pop with stable callback reference
|
|
164
|
-
const handleBubblePop = useCallback((row, col) => {
|
|
165
|
-
if (!fidgetGrid) return;
|
|
166
|
-
const bubble = fidgetGrid.bubbles[row]?.[col];
|
|
167
|
-
if (!bubble || bubble.isPopped) return;
|
|
168
|
-
|
|
169
|
-
// Play pop sound
|
|
170
|
-
playSound(GAME_SOUNDS.BUBBLE_POPPER.POP, enableSounds);
|
|
171
|
-
|
|
172
|
-
// Pop the bubble in store
|
|
173
|
-
popBubble(row, col);
|
|
174
|
-
|
|
175
|
-
// Haptic feedback
|
|
176
|
-
playHaptic(HapticType.LIGHT, enableHaptics);
|
|
177
|
-
|
|
178
|
-
// Completion percentage is already calculated efficiently in the store
|
|
179
|
-
}, [fidgetGrid, popBubble, enableSounds, enableHaptics]);
|
|
180
|
-
|
|
181
|
-
// Memoize screen dimensions to prevent recalculation
|
|
182
|
-
const screenDimensions = useMemo(() => ({
|
|
183
|
-
width,
|
|
184
|
-
height
|
|
185
|
-
}), []);
|
|
186
|
-
|
|
187
|
-
// Calculate bubble size based on grid - made bigger for Pop It appearance
|
|
188
|
-
const bubbleSize = useMemo(() => {
|
|
189
|
-
if (!fidgetGrid) return 60;
|
|
190
|
-
const availableWidth = screenDimensions.width * 0.85;
|
|
191
|
-
const availableHeight = screenDimensions.height * 0.6;
|
|
192
|
-
const maxSize = Math.min(availableWidth / fidgetGrid.size, availableHeight / fidgetGrid.size);
|
|
193
|
-
// Increased minimum and maximum sizes for bigger, more prominent bubbles
|
|
194
|
-
return Math.max(45, Math.min(80, maxSize * 0.9));
|
|
195
|
-
}, [fidgetGrid, screenDimensions]);
|
|
196
|
-
|
|
197
|
-
// Memoize game control button props to prevent unnecessary re-renders
|
|
198
|
-
const gameControlButtonProps = useMemo(() => ({
|
|
199
|
-
isPlaying,
|
|
200
|
-
gameOver,
|
|
201
|
-
onStartGame: startGameHandler,
|
|
202
|
-
onStopGame: stopGameHandler,
|
|
203
|
-
startButtonText: "START POPPING",
|
|
204
|
-
stopButtonText: "STOP GAME",
|
|
205
|
-
startButtonSubtext: "Pop bubbles to relax!",
|
|
206
|
-
stopButtonSubtext: "End current game",
|
|
207
|
-
startButtonColor: "#9c27b0",
|
|
208
|
-
stopButtonColor: "#dc2626",
|
|
209
|
-
startButtonBorderColor: "#ce93d8",
|
|
210
|
-
stopButtonBorderColor: "#f87171"
|
|
211
|
-
}), [isPlaying, gameOver, startGameHandler, stopGameHandler]);
|
|
212
|
-
|
|
213
|
-
// Memoize game over modal props to prevent unnecessary re-renders
|
|
214
|
-
const gameOverModalProps = useMemo(() => ({
|
|
215
|
-
isVisible: gameOver,
|
|
216
|
-
score: timeElapsed,
|
|
217
|
-
onPlayAgain: resetGameHandler,
|
|
218
|
-
buttonText: "Pop Again!",
|
|
219
|
-
primaryColor: "rgba(108, 92, 231, 0.85)",
|
|
220
|
-
borderColor: "rgba(108, 92, 231, 0.95)",
|
|
221
|
-
buttonColor: "#9c27b0",
|
|
222
|
-
buttonBorderColor: "#ce93d8",
|
|
223
|
-
scoreFormatter: time => {
|
|
224
|
-
const mins = Math.floor(time / 60);
|
|
225
|
-
const secs = time % 60;
|
|
226
|
-
return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
227
|
-
},
|
|
228
|
-
scoreLabel: "Time Elapsed"
|
|
229
|
-
}), [gameOver, timeElapsed, resetGameHandler]);
|
|
230
|
-
|
|
231
|
-
// Get offset from settings
|
|
232
|
-
const offset = settings?.offset ?? 0;
|
|
233
|
-
return /*#__PURE__*/_jsx(View, {
|
|
234
|
-
style: styles.container,
|
|
235
|
-
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
236
|
-
children: /*#__PURE__*/_jsxs(View, {
|
|
237
|
-
style: [styles.gameContainer, {
|
|
238
|
-
paddingTop: offset
|
|
239
|
-
}],
|
|
240
|
-
children: [/*#__PURE__*/_jsx(GameBackground, {
|
|
241
|
-
width: screenDimensions.width,
|
|
242
|
-
height: screenDimensions.height,
|
|
243
|
-
isPlaying: isPlaying
|
|
244
|
-
}), /*#__PURE__*/_jsx(ScoreBoard, {
|
|
245
|
-
timeElapsed: timeElapsed,
|
|
246
|
-
offset: offset
|
|
247
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
248
|
-
style: styles.gameArea,
|
|
249
|
-
children: fidgetGrid && /*#__PURE__*/_jsx(FidgetGridComponent, {
|
|
250
|
-
grid: fidgetGrid,
|
|
251
|
-
bubbleSize: bubbleSize,
|
|
252
|
-
onBubblePop: handleBubblePop,
|
|
253
|
-
hapticEnabled: enableHaptics,
|
|
254
|
-
isPlaying: isPlaying
|
|
255
|
-
})
|
|
256
|
-
}), /*#__PURE__*/_jsx(GameControlButton, {
|
|
257
|
-
...gameControlButtonProps
|
|
258
|
-
}), /*#__PURE__*/_jsx(GameOverModal, {
|
|
259
|
-
...gameOverModalProps
|
|
260
|
-
}), /*#__PURE__*/_jsx(GameSettingsModal, {
|
|
261
|
-
gameId: GAME_IDS.POPIT_FIDGET,
|
|
262
|
-
settings: settings || DEFAULT_GAME_SETTINGS,
|
|
263
|
-
onSettingsChange: onSettingsChange
|
|
264
|
-
})]
|
|
265
|
-
})
|
|
266
|
-
})
|
|
267
|
-
});
|
|
268
|
-
};
|
|
269
|
-
const styles = StyleSheet.create({
|
|
270
|
-
container: {
|
|
271
|
-
flex: 1
|
|
272
|
-
},
|
|
273
|
-
gameContainer: {
|
|
274
|
-
flex: 1,
|
|
275
|
-
backgroundColor: '#fef7ff' // Very light lavender to complement rainbow theme
|
|
276
|
-
},
|
|
277
|
-
gameArea: {
|
|
278
|
-
flex: 1,
|
|
279
|
-
justifyContent: 'center',
|
|
280
|
-
alignItems: 'center',
|
|
281
|
-
paddingHorizontal: 20
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
export { PopitFidget };
|
|
285
|
-
//# sourceMappingURL=PopitFidget.js.map
|
|
1
|
+
"use strict";import React,{useEffect,useRef,useCallback,useMemo}from 'react';import{View,StyleSheet,Dimensions}from 'react-native';import{GestureHandlerRootView}from 'react-native-gesture-handler';import{usePopitFidgetStore}from "./PopitFidgetStore.js";import{PopitFidgetService}from "./PopitFidgetService.js";import{GAME_IDS,DEFAULT_GAME_SETTINGS}from "../../services/UtilsService.js";import{playSound,GAME_SOUNDS}from "../../services/SoundsService.js";import{playHaptic,HapticType}from "../../services/HapticsService.js";import{GameBackground,FidgetGrid as FidgetGridComponent,ScoreBoard}from "./components/index.js";import{GameControlButton,GameOverModal}from "../../helpers/index.js";import{GameSettingsModal}from "../../helpers/index.js";import{jsx as _jsx,jsxs as _jsxs}from "react/jsx-runtime";const{width,height}= Dimensions.get('window');const PopitFidget =({settings,onSettingsChange})=>{const fidgetGrid = usePopitFidgetStore(state => state.fidgetGrid);const timeElapsed = usePopitFidgetStore(state => state.timeElapsed);const isPlaying = usePopitFidgetStore(state => state.isPlaying);const gameOver = usePopitFidgetStore(state => state.gameOver);const gameWon = usePopitFidgetStore(state => state.gameWon);const startGame = usePopitFidgetStore(state => state.startGame);const resetGame = usePopitFidgetStore(state => state.resetGame);const setFidgetGrid = usePopitFidgetStore(state => state.setFidgetGrid);const popBubble = usePopitFidgetStore(state => state.popBubble);const incrementTime = usePopitFidgetStore(state => state.incrementTime);const serviceRef = useRef(null);const{difficulty = 'medium',enableSounds = true,enableHaptics = true}= settings ||{};useEffect(()=>{if(!serviceRef.current){serviceRef.current = new PopitFidgetService();}if(serviceRef.current && !fidgetGrid){const grid = serviceRef.current.generateFidgetGrid(difficulty);setFidgetGrid(grid);}},[fidgetGrid,setFidgetGrid,difficulty]);useEffect(()=>{return()=>{try{serviceRef.current?.stopGameTimer();}catch{}try{resetGame();}catch{}try{serviceRef.current?.cleanup();}catch{}};},[]);const service = useMemo(()=>{if(!serviceRef.current){serviceRef.current = new PopitFidgetService();}return serviceRef.current;},[]);const generateNewFidget = useCallback(()=>{const grid = service.generateFidgetGrid(difficulty);setFidgetGrid(grid);},[service,setFidgetGrid,difficulty]);const prevDifficultyRef = React.useRef(difficulty);const handleDifficultyChange = useCallback(()=>{if(prevDifficultyRef.current !== difficulty){if(!isPlaying){generateNewFidget();}prevDifficultyRef.current = difficulty;}},[difficulty,isPlaying,generateNewFidget]);useEffect(()=>{handleDifficultyChange();},[handleDifficultyChange]);React.useEffect(()=>{if(gameOver && !isPlaying){if(gameWon){playSound(GAME_SOUNDS.BUBBLE_POPPER.COMPLETE,enableSounds);}else{playSound(GAME_SOUNDS.TIME_UP,enableSounds);}}},[gameOver,gameWon,isPlaying,enableSounds]);useEffect(()=>{let timerInterval = null;if(isPlaying){timerInterval = setInterval(()=>{incrementTime();},1000);}return()=>{if(timerInterval){clearInterval(timerInterval);}};},[isPlaying,incrementTime]);const startGameHandler = useCallback(()=>{generateNewFidget();playSound(GAME_SOUNDS.BUBBLE_POPPER.START,enableSounds);startGame();playHaptic(HapticType.MEDIUM,enableHaptics);},[startGame,enableSounds,enableHaptics,generateNewFidget]);const stopGameHandler = useCallback(()=>{service.stopGameTimer();resetGame();generateNewFidget();},[service,resetGame,generateNewFidget]);const resetGameHandler = useCallback(()=>{service.stopGameTimer();resetGame();generateNewFidget();},[service,resetGame,generateNewFidget]);const handleBubblePop = useCallback((row,col)=>{if(!fidgetGrid)return;const bubble = fidgetGrid.bubbles[row]?.[col];if(!bubble || bubble.isPopped)return;playSound(GAME_SOUNDS.BUBBLE_POPPER.POP,enableSounds);popBubble(row,col);playHaptic(HapticType.LIGHT,enableHaptics);},[fidgetGrid,popBubble,enableSounds,enableHaptics]);const screenDimensions = useMemo(()=>({width,height}),[]);const bubbleSize = useMemo(()=>{if(!fidgetGrid)return 60;const availableWidth = screenDimensions.width * 0.85;const availableHeight = screenDimensions.height * 0.6;const maxSize = Math.min(availableWidth / fidgetGrid.size,availableHeight / fidgetGrid.size);return Math.max(45,Math.min(80,maxSize * 0.9));},[fidgetGrid,screenDimensions]);const gameControlButtonProps = useMemo(()=>({isPlaying,gameOver,onStartGame:startGameHandler,onStopGame:stopGameHandler,startButtonText:"START POPPING",stopButtonText:"STOP GAME",startButtonSubtext:"Pop bubbles to relax!",stopButtonSubtext:"End current game",startButtonColor:"#9c27b0",stopButtonColor:"#dc2626",startButtonBorderColor:"#ce93d8",stopButtonBorderColor:"#f87171"}),[isPlaying,gameOver,startGameHandler,stopGameHandler]);const gameOverModalProps = useMemo(()=>({isVisible:gameOver,score:timeElapsed,onPlayAgain:resetGameHandler,buttonText:"Pop Again!",primaryColor:"rgba(156,39,176,0.5)",borderColor:"rgba(156,39,176,0.5)",buttonColor:"#ffffff",buttonBorderColor:"#ffffff",buttonTextColor:"#9c27b0",scoreFormatter:time =>{const mins = Math.floor(time / 60);const secs = time % 60;return `${mins.toString().padStart(2,'0')}:${secs.toString().padStart(2,'0')}`;},scoreLabel:"Time Elapsed"}),[gameOver,timeElapsed,resetGameHandler]);const offset = settings?.offset ?? 0;return _jsx(View,{style:styles.container,children:_jsx(GestureHandlerRootView,{children:_jsxs(View,{style:[styles.gameContainer,{paddingTop:offset}],children:[_jsx(GameBackground,{width:screenDimensions.width,height:screenDimensions.height,isPlaying:isPlaying}),_jsx(ScoreBoard,{timeElapsed:timeElapsed,offset:offset}),_jsx(View,{style:styles.gameArea,children:fidgetGrid && _jsx(FidgetGridComponent,{grid:fidgetGrid,bubbleSize:bubbleSize,onBubblePop:handleBubblePop,hapticEnabled:enableHaptics,isPlaying:isPlaying})}),_jsx(GameControlButton,{...gameControlButtonProps}),_jsx(GameOverModal,{...gameOverModalProps}),_jsx(GameSettingsModal,{gameId:GAME_IDS.POPIT_FIDGET,settings:settings || DEFAULT_GAME_SETTINGS,onSettingsChange:onSettingsChange})]})})});};const styles = StyleSheet.create({container:{flex:1},gameContainer:{flex:1,backgroundColor:'#fef7ff'},gameArea:{flex:1,justifyContent:'center',alignItems:'center',paddingHorizontal:20}});export{PopitFidget};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","usePopitFidgetStore","PopitFidgetService","GAME_IDS","DEFAULT_GAME_SETTINGS","playSound","GAME_SOUNDS","playHaptic","HapticType","GameBackground","FidgetGrid","FidgetGridComponent","ScoreBoard","GameControlButton","GameOverModal","GameSettingsModal","jsx","_jsx","jsxs","_jsxs","width","height","get","PopitFidget","settings","onSettingsChange","fidgetGrid","state","timeElapsed","isPlaying","gameOver","gameWon","startGame","resetGame","setFidgetGrid","popBubble","incrementTime","serviceRef","difficulty","enableSounds","enableHaptics","current","grid","generateFidgetGrid","stopGameTimer","cleanup","service","generateNewFidget","prevDifficultyRef","handleDifficultyChange","BUBBLE_POPPER","COMPLETE","TIME_UP","timerInterval","setInterval","clearInterval","startGameHandler","START","MEDIUM","stopGameHandler","resetGameHandler","handleBubblePop","row","col","bubble","bubbles","isPopped","POP","LIGHT","screenDimensions","bubbleSize","availableWidth","availableHeight","maxSize","Math","min","size","max","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","score","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","scoreFormatter","time","mins","floor","secs","toString","padStart","scoreLabel","offset","style","styles","container","children","gameContainer","paddingTop","gameArea","onBubblePop","hapticEnabled","gameId","POPIT_FIDGET","create","flex","backgroundColor","justifyContent","alignItems","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["games/popit-fidget/PopitFidget.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","View","StyleSheet","Dimensions","GestureHandlerRootView","usePopitFidgetStore","PopitFidgetService","GAME_IDS","DEFAULT_GAME_SETTINGS","playSound","GAME_SOUNDS","playHaptic","HapticType","GameBackground","FidgetGrid","FidgetGridComponent","ScoreBoard","GameControlButton","GameOverModal","GameSettingsModal","jsx","_jsx","jsxs","_jsxs","width","height","get","PopitFidget","settings","onSettingsChange","fidgetGrid","state","timeElapsed","isPlaying","gameOver","gameWon","startGame","resetGame","setFidgetGrid","popBubble","incrementTime","serviceRef","difficulty","enableSounds","enableHaptics","current","grid","generateFidgetGrid","stopGameTimer","cleanup","service","generateNewFidget","prevDifficultyRef","handleDifficultyChange","BUBBLE_POPPER","COMPLETE","TIME_UP","timerInterval","setInterval","clearInterval","startGameHandler","START","MEDIUM","stopGameHandler","resetGameHandler","handleBubblePop","row","col","bubble","bubbles","isPopped","POP","LIGHT","screenDimensions","bubbleSize","availableWidth","availableHeight","maxSize","Math","min","size","max","gameControlButtonProps","onStartGame","onStopGame","startButtonText","stopButtonText","startButtonSubtext","stopButtonSubtext","startButtonColor","stopButtonColor","startButtonBorderColor","stopButtonBorderColor","gameOverModalProps","isVisible","score","onPlayAgain","buttonText","primaryColor","borderColor","buttonColor","buttonBorderColor","buttonTextColor","scoreFormatter","time","mins","floor","secs","toString","padStart","scoreLabel","offset","style","styles","container","children","gameContainer","paddingTop","gameArea","onBubblePop","hapticEnabled","gameId","POPIT_FIDGET","create","flex","backgroundColor","justifyContent","alignItems","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["games/popit-fidget/PopitFidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,113 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
// Popit Fidget Game Constants
|
|
4
|
-
export const POPIT_FIDGET_GAME_CONFIG = {
|
|
5
|
-
GAME_DURATION: 120,
|
|
6
|
-
// seconds
|
|
7
|
-
POINTS_PER_BUBBLE: 10,
|
|
8
|
-
COMPLETION_BONUS: 500,
|
|
9
|
-
TIME_BONUS_MULTIPLIER: 5,
|
|
10
|
-
BUBBLE_SIZE: 40,
|
|
11
|
-
ANIMATION_DURATION: 300,
|
|
12
|
-
PARTICLE_COUNT: 4,
|
|
13
|
-
// Reduced for better performance
|
|
14
|
-
PARTICLE_LIFETIME: 800,
|
|
15
|
-
// Difficulty-based square grid sizes
|
|
16
|
-
GRID_SIZES: {
|
|
17
|
-
easy: 5,
|
|
18
|
-
// 5x5 = 25 bubbles
|
|
19
|
-
medium: 6,
|
|
20
|
-
// 6x6 = 36 bubbles
|
|
21
|
-
hard: 7 // 7x7 = 49 bubbles
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
export const POPIT_FIDGET_ANIMATION_CONFIG = {
|
|
25
|
-
POP_SCALE: 1.3,
|
|
26
|
-
POP_DURATION: 200,
|
|
27
|
-
FADE_DURATION: 300,
|
|
28
|
-
BOUNCE_SCALE: 0.9,
|
|
29
|
-
PARTICLE_VELOCITY: 3,
|
|
30
|
-
PARTICLE_GRAVITY: 0.2
|
|
31
|
-
};
|
|
32
|
-
export const POPIT_FIDGET_COLORS = {
|
|
33
|
-
BACKGROUND: '#f5f5f5',
|
|
34
|
-
// Light gray background
|
|
35
|
-
FIDGET_BORDER: '#333',
|
|
36
|
-
FIDGET_SHADOW: 'rgba(0,0,0,0.3)',
|
|
37
|
-
SCORE: '#4a90e2',
|
|
38
|
-
UI: '#6c5ce7',
|
|
39
|
-
POPPED_BUBBLE: '#d0d0d0',
|
|
40
|
-
PARTICLE_GLOW: 'rgba(255,255,255,0.9)',
|
|
41
|
-
// Pop It fidget toy colors - rainbow gradient
|
|
42
|
-
FIDGET_BASE: '#ffffff',
|
|
43
|
-
BUBBLE_SHADOW: 'rgba(0,0,0,0.2)',
|
|
44
|
-
BUBBLE_HIGHLIGHT: 'rgba(255,255,255,0.6)'
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// Rainbow gradient colors for authentic Pop It fidget toy look - enhanced vibrancy
|
|
48
|
-
export const RAINBOW_COLORS = ['#E91E63',
|
|
49
|
-
// Vibrant pink/magenta (like image)
|
|
50
|
-
'#F44336',
|
|
51
|
-
// Bright red
|
|
52
|
-
'#FF5722',
|
|
53
|
-
// Deep orange
|
|
54
|
-
'#FF9800',
|
|
55
|
-
// Orange
|
|
56
|
-
'#FFC107',
|
|
57
|
-
// Amber/yellow
|
|
58
|
-
'#8E24AA',
|
|
59
|
-
// Deep purple
|
|
60
|
-
'#CDDC39',
|
|
61
|
-
// Lime
|
|
62
|
-
'#8BC34A',
|
|
63
|
-
// Light green
|
|
64
|
-
'#4CAF50',
|
|
65
|
-
// Green
|
|
66
|
-
'#009688',
|
|
67
|
-
// Teal
|
|
68
|
-
'#00BCD4',
|
|
69
|
-
// Cyan
|
|
70
|
-
'#03A9F4',
|
|
71
|
-
// Light blue
|
|
72
|
-
'#2196F3',
|
|
73
|
-
// Blue
|
|
74
|
-
'#3F51B5',
|
|
75
|
-
// Indigo
|
|
76
|
-
'#9C27B0',
|
|
77
|
-
// Purple
|
|
78
|
-
'#E91E63' // Back to vibrant pink for seamless loop
|
|
79
|
-
];
|
|
80
|
-
|
|
81
|
-
// Legacy bubble colors for backward compatibility
|
|
82
|
-
export const BUBBLE_COLORS = RAINBOW_COLORS;
|
|
83
|
-
|
|
84
|
-
// Popit Fidget Game Theme - Matches scoreboard purple
|
|
85
|
-
export const POPIT_FIDGET_THEME = {
|
|
86
|
-
backgroundColor: '#fef7ff',
|
|
87
|
-
// Very light lavender to match game background
|
|
88
|
-
headerBackgroundColor: 'rgba(108, 92, 231, 0.9)',
|
|
89
|
-
// Purple header to match scoreboard
|
|
90
|
-
headerTextColor: '#ffffff',
|
|
91
|
-
sectionBackgroundColor: 'rgba(108, 92, 231, 0.4)',
|
|
92
|
-
// Match scoreboard transparency
|
|
93
|
-
sectionTitleColor: '#ffffff',
|
|
94
|
-
// White text on purple sections
|
|
95
|
-
buttonSelectedColor: '#9c27b0',
|
|
96
|
-
// Match start button purple
|
|
97
|
-
buttonUnselectedColor: 'rgba(255, 255, 255, 0.3)',
|
|
98
|
-
buttonSelectedTextColor: '#ffffff',
|
|
99
|
-
buttonUnselectedTextColor: '#1f2937',
|
|
100
|
-
switchTrackColorFalse: 'rgba(108, 92, 231, 0.5)',
|
|
101
|
-
switchTrackColorTrue: '#9c27b0',
|
|
102
|
-
// Match start button
|
|
103
|
-
switchThumbColor: '#ffffff',
|
|
104
|
-
infoTextColor: '#1f2937' // Dark text for readability
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
// Popit Fidget Difficulty Descriptions
|
|
108
|
-
export const POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS = {
|
|
109
|
-
easy: 'Smaller fidget grids, relaxing pace',
|
|
110
|
-
medium: 'Medium grids, satisfying pops',
|
|
111
|
-
hard: 'Large complex shapes, ultimate satisfaction!'
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=PopitFidgetConstants.js.map
|
|
1
|
+
"use strict";export const POPIT_FIDGET_GAME_CONFIG ={GAME_DURATION:120,POINTS_PER_BUBBLE:10,COMPLETION_BONUS:500,TIME_BONUS_MULTIPLIER:5,BUBBLE_SIZE:40,ANIMATION_DURATION:300,PARTICLE_COUNT:4,PARTICLE_LIFETIME:800,GRID_SIZES:{easy:5,medium:6,hard:7}};export const POPIT_FIDGET_ANIMATION_CONFIG ={POP_SCALE:1.3,POP_DURATION:200,FADE_DURATION:300,BOUNCE_SCALE:0.9,PARTICLE_VELOCITY:3,PARTICLE_GRAVITY:0.2};export const POPIT_FIDGET_COLORS ={BACKGROUND:'#f5f5f5',FIDGET_BORDER:'#333',FIDGET_SHADOW:'rgba(0,0,0,0.3)',SCORE:'#4a90e2',UI:'#6c5ce7',POPPED_BUBBLE:'#d0d0d0',PARTICLE_GLOW:'rgba(255,255,255,0.9)',FIDGET_BASE:'#ffffff',BUBBLE_SHADOW:'rgba(0,0,0,0.2)',BUBBLE_HIGHLIGHT:'rgba(255,255,255,0.6)'};export const RAINBOW_COLORS = ['#E91E63','#F44336','#FF5722','#FF9800','#FFC107','#8E24AA','#CDDC39','#8BC34A','#4CAF50','#009688','#00BCD4','#03A9F4','#2196F3','#3F51B5','#9C27B0','#E91E63' ];export const BUBBLE_COLORS = RAINBOW_COLORS;export const POPIT_FIDGET_THEME ={backgroundColor:'rgba(0,0,0,0.7)',headerBackgroundColor:'#9c27b0',headerTextColor:'#ffffff',sectionBackgroundColor:'rgba(156,39,176,0.15)',sectionTitleColor:'#9c27b0',buttonSelectedColor:'#9c27b0',buttonUnselectedColor:'rgba(255,255,255,0.2)',buttonSelectedTextColor:'#ffffff',buttonUnselectedTextColor:'rgba(255,255,255,0.7)',switchTrackColorFalse:'rgba(156,39,176,0.3)',switchTrackColorTrue:'#9c27b0',switchThumbColor:'#ffffff',infoTextColor:'rgba(255,255,255,0.9)'};export const POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS ={easy:'Smaller fidget grids,relaxing pace',medium:'Medium grids,satisfying pops',hard:'Large complex shapes,ultimate satisfaction!'};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["POPIT_FIDGET_GAME_CONFIG","GAME_DURATION","POINTS_PER_BUBBLE","COMPLETION_BONUS","TIME_BONUS_MULTIPLIER","BUBBLE_SIZE","ANIMATION_DURATION","PARTICLE_COUNT","PARTICLE_LIFETIME","GRID_SIZES","easy","medium","hard","POPIT_FIDGET_ANIMATION_CONFIG","POP_SCALE","POP_DURATION","FADE_DURATION","BOUNCE_SCALE","PARTICLE_VELOCITY","PARTICLE_GRAVITY","POPIT_FIDGET_COLORS","BACKGROUND","FIDGET_BORDER","FIDGET_SHADOW","SCORE","UI","POPPED_BUBBLE","PARTICLE_GLOW","FIDGET_BASE","BUBBLE_SHADOW","BUBBLE_HIGHLIGHT","RAINBOW_COLORS","BUBBLE_COLORS","POPIT_FIDGET_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/popit-fidget/PopitFidgetConstants.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,wBAAwB,GAAG;EACtCC,aAAa,EAAE,GAAG;EAAE;EACpBC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAE,GAAG;EACrBC,qBAAqB,EAAE,CAAC;EACxBC,WAAW,EAAE,EAAE;EACfC,kBAAkB,EAAE,GAAG;EACvBC,cAAc,EAAE,CAAC;EAAE;EACnBC,iBAAiB,EAAE,GAAG;EACtB;EACAC,UAAU,EAAE;IACVC,IAAI,EAAE,CAAC;IAAK;IACZC,MAAM,EAAE,CAAC;IAAG;IACZC,IAAI,EAAE,CAAC,CAAK;EACd;AACF,CAAU;AAEV,OAAO,MAAMC,6BAA6B,GAAG;EAC3CC,SAAS,EAAE,GAAG;EACdC,YAAY,EAAE,GAAG;EACjBC,aAAa,EAAE,GAAG;EAClBC,YAAY,EAAE,GAAG;EACjBC,iBAAiB,EAAE,CAAC;EACpBC,gBAAgB,EAAE;AACpB,CAAU;AAEV,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,UAAU,EAAE,SAAS;EAAE;EACvBC,aAAa,EAAE,MAAM;EACrBC,aAAa,EAAE,iBAAiB;EAChCC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,uBAAuB;EACtC;EACAC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,iBAAiB;EAChCC,gBAAgB,EAAE;AACpB,CAAU;;AAEV;AACA,OAAO,MAAMC,cAAc,GAAG,CAC5B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAGD,cAAc;;AAE3C;AACA,OAAO,MAAME,kBAAqC,GAAG;EACnDC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"names":["POPIT_FIDGET_GAME_CONFIG","GAME_DURATION","POINTS_PER_BUBBLE","COMPLETION_BONUS","TIME_BONUS_MULTIPLIER","BUBBLE_SIZE","ANIMATION_DURATION","PARTICLE_COUNT","PARTICLE_LIFETIME","GRID_SIZES","easy","medium","hard","POPIT_FIDGET_ANIMATION_CONFIG","POP_SCALE","POP_DURATION","FADE_DURATION","BOUNCE_SCALE","PARTICLE_VELOCITY","PARTICLE_GRAVITY","POPIT_FIDGET_COLORS","BACKGROUND","FIDGET_BORDER","FIDGET_SHADOW","SCORE","UI","POPPED_BUBBLE","PARTICLE_GLOW","FIDGET_BASE","BUBBLE_SHADOW","BUBBLE_HIGHLIGHT","RAINBOW_COLORS","BUBBLE_COLORS","POPIT_FIDGET_THEME","backgroundColor","headerBackgroundColor","headerTextColor","sectionBackgroundColor","sectionTitleColor","buttonSelectedColor","buttonUnselectedColor","buttonSelectedTextColor","buttonUnselectedTextColor","switchTrackColorFalse","switchTrackColorTrue","switchThumbColor","infoTextColor","POPIT_FIDGET_DIFFICULTY_DESCRIPTIONS"],"sourceRoot":"../../../../src","sources":["games/popit-fidget/PopitFidgetConstants.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,wBAAwB,GAAG;EACtCC,aAAa,EAAE,GAAG;EAAE;EACpBC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAE,GAAG;EACrBC,qBAAqB,EAAE,CAAC;EACxBC,WAAW,EAAE,EAAE;EACfC,kBAAkB,EAAE,GAAG;EACvBC,cAAc,EAAE,CAAC;EAAE;EACnBC,iBAAiB,EAAE,GAAG;EACtB;EACAC,UAAU,EAAE;IACVC,IAAI,EAAE,CAAC;IAAK;IACZC,MAAM,EAAE,CAAC;IAAG;IACZC,IAAI,EAAE,CAAC,CAAK;EACd;AACF,CAAU;AAEV,OAAO,MAAMC,6BAA6B,GAAG;EAC3CC,SAAS,EAAE,GAAG;EACdC,YAAY,EAAE,GAAG;EACjBC,aAAa,EAAE,GAAG;EAClBC,YAAY,EAAE,GAAG;EACjBC,iBAAiB,EAAE,CAAC;EACpBC,gBAAgB,EAAE;AACpB,CAAU;AAEV,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,UAAU,EAAE,SAAS;EAAE;EACvBC,aAAa,EAAE,MAAM;EACrBC,aAAa,EAAE,iBAAiB;EAChCC,KAAK,EAAE,SAAS;EAChBC,EAAE,EAAE,SAAS;EACbC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,uBAAuB;EACtC;EACAC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,iBAAiB;EAChCC,gBAAgB,EAAE;AACpB,CAAU;;AAEV;AACA,OAAO,MAAMC,cAAc,GAAG,CAC5B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACH;;AAEV;AACA,OAAO,MAAMC,aAAa,GAAGD,cAAc;;AAE3C;AACA,OAAO,MAAME,kBAAqC,GAAG;EACnDC,eAAe,EAAE,oBAAoB;EAAE;EACvCC,qBAAqB,EAAE,SAAS;EAAE;EAClCC,eAAe,EAAE,SAAS;EAC1BC,sBAAsB,EAAE,0BAA0B;EAAE;EACpDC,iBAAiB,EAAE,SAAS;EAAE;EAC9BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,0BAA0B;EACjDC,uBAAuB,EAAE,SAAS;EAClCC,yBAAyB,EAAE,0BAA0B;EAAE;EACvDC,qBAAqB,EAAE,yBAAyB;EAChDC,oBAAoB,EAAE,SAAS;EAAE;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,aAAa,EAAE,0BAA0B,CAAE;AAC7C,CAAC;;AAED;AACA,OAAO,MAAMC,oCAAoC,GAAG;EAClDrC,IAAI,EAAE,qCAAqC;EAC3CC,MAAM,EAAE,+BAA+B;EACvCC,IAAI,EAAE;AACR,CAAU","ignoreList":[]}
|