react-native-games 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +66 -0
- package/README.md +269 -0
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +391 -0
- package/lib/module/games/balloon-blaster/BalloonBlaster.js.map +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js +293 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterService.js.map +1 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +156 -0
- package/lib/module/games/balloon-blaster/BalloonBlasterStore.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js +227 -0
- package/lib/module/games/balloon-blaster/components/BalloonComponent.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/GameArea.js +42 -0
- package/lib/module/games/balloon-blaster/components/GameArea.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/GameBackground.js +544 -0
- package/lib/module/games/balloon-blaster/components/GameBackground.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/GameControls.js +229 -0
- package/lib/module/games/balloon-blaster/components/GameControls.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/GameOverModal.js +133 -0
- package/lib/module/games/balloon-blaster/components/GameOverModal.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js +52 -0
- package/lib/module/games/balloon-blaster/components/ParticleSystem.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js +119 -0
- package/lib/module/games/balloon-blaster/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/SliceTrail.js +58 -0
- package/lib/module/games/balloon-blaster/components/SliceTrail.js.map +1 -0
- package/lib/module/games/balloon-blaster/components/index.js +11 -0
- package/lib/module/games/balloon-blaster/components/index.js.map +1 -0
- package/lib/module/games/cat-popper/CatPopper.js +230 -0
- package/lib/module/games/cat-popper/CatPopper.js.map +1 -0
- package/lib/module/games/cat-popper/CatPopperService.js +100 -0
- package/lib/module/games/cat-popper/CatPopperService.js.map +1 -0
- package/lib/module/games/cat-popper/CatPopperStore.js +113 -0
- package/lib/module/games/cat-popper/CatPopperStore.js.map +1 -0
- package/lib/module/games/cat-popper/components/CatCharacter.js +281 -0
- package/lib/module/games/cat-popper/components/CatCharacter.js.map +1 -0
- package/lib/module/games/cat-popper/components/GameBackground.js +531 -0
- package/lib/module/games/cat-popper/components/GameBackground.js.map +1 -0
- package/lib/module/games/cat-popper/components/GameControls.js +230 -0
- package/lib/module/games/cat-popper/components/GameControls.js.map +1 -0
- package/lib/module/games/cat-popper/components/GameGrid.js +66 -0
- package/lib/module/games/cat-popper/components/GameGrid.js.map +1 -0
- package/lib/module/games/cat-popper/components/GameHole.js +183 -0
- package/lib/module/games/cat-popper/components/GameHole.js.map +1 -0
- package/lib/module/games/cat-popper/components/GameOverModal.js +131 -0
- package/lib/module/games/cat-popper/components/GameOverModal.js.map +1 -0
- package/lib/module/games/cat-popper/components/ScoreBoard.js +77 -0
- package/lib/module/games/cat-popper/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/cat-popper/components/index.js +10 -0
- package/lib/module/games/cat-popper/components/index.js.map +1 -0
- package/lib/module/games/fruit-slicer/FruitSlicer.js +411 -0
- package/lib/module/games/fruit-slicer/FruitSlicer.js.map +1 -0
- package/lib/module/games/fruit-slicer/FruitSlicerService.js +293 -0
- package/lib/module/games/fruit-slicer/FruitSlicerService.js.map +1 -0
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js +156 -0
- package/lib/module/games/fruit-slicer/FruitSlicerStore.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/FruitComponent.js +99 -0
- package/lib/module/games/fruit-slicer/components/FruitComponent.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/GameArea.js +50 -0
- package/lib/module/games/fruit-slicer/components/GameArea.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/GameBackground.js +1296 -0
- package/lib/module/games/fruit-slicer/components/GameBackground.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/GameControls.js +230 -0
- package/lib/module/games/fruit-slicer/components/GameControls.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/GameOverModal.js +189 -0
- package/lib/module/games/fruit-slicer/components/GameOverModal.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/ParticleSystem.js +52 -0
- package/lib/module/games/fruit-slicer/components/ParticleSystem.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/ScoreBoard.js +121 -0
- package/lib/module/games/fruit-slicer/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/SliceTrail.js +58 -0
- package/lib/module/games/fruit-slicer/components/SliceTrail.js.map +1 -0
- package/lib/module/games/fruit-slicer/components/index.js +11 -0
- package/lib/module/games/fruit-slicer/components/index.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunner.js +242 -0
- package/lib/module/games/maze-runner/MazeRunner.js.map +1 -0
- package/lib/module/games/maze-runner/MazeRunnerService.js +560 -0
- package/lib/module/games/maze-runner/MazeRunnerService.js.map +1 -0
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +149 -0
- package/lib/module/games/maze-runner/components/EnhancedBallComponent.js.map +1 -0
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js +357 -0
- package/lib/module/games/maze-runner/components/EnhancedGameArea.js.map +1 -0
- package/lib/module/games/maze-runner/components/GameBackground.js +216 -0
- package/lib/module/games/maze-runner/components/GameBackground.js.map +1 -0
- package/lib/module/games/maze-runner/components/GameControls.js +129 -0
- package/lib/module/games/maze-runner/components/GameControls.js.map +1 -0
- package/lib/module/games/maze-runner/components/GameOverModal.js +134 -0
- package/lib/module/games/maze-runner/components/GameOverModal.js.map +1 -0
- package/lib/module/games/maze-runner/components/ScoreBoard.js +81 -0
- package/lib/module/games/maze-runner/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +209 -0
- package/lib/module/games/maze-runner/components/SkiaPipeComponent.js.map +1 -0
- package/lib/module/games/maze-runner/components/StaticGameBackground.js +169 -0
- package/lib/module/games/maze-runner/components/StaticGameBackground.js.map +1 -0
- package/lib/module/games/maze-runner/components/WallComponent.js +90 -0
- package/lib/module/games/maze-runner/components/WallComponent.js.map +1 -0
- package/lib/module/games/maze-runner/components/index.js +10 -0
- package/lib/module/games/maze-runner/components/index.js.map +1 -0
- package/lib/module/games/space-traveller/SpaceTraveller.js +393 -0
- package/lib/module/games/space-traveller/SpaceTraveller.js.map +1 -0
- package/lib/module/games/space-traveller/SpaceTravellerService.js +298 -0
- package/lib/module/games/space-traveller/SpaceTravellerService.js.map +1 -0
- package/lib/module/games/space-traveller/SpaceTravellerStore.js +139 -0
- package/lib/module/games/space-traveller/SpaceTravellerStore.js.map +1 -0
- package/lib/module/games/space-traveller/components/AsteroidComponent.js +111 -0
- package/lib/module/games/space-traveller/components/AsteroidComponent.js.map +1 -0
- package/lib/module/games/space-traveller/components/GameArea.js +75 -0
- package/lib/module/games/space-traveller/components/GameArea.js.map +1 -0
- package/lib/module/games/space-traveller/components/GameBackground.js +294 -0
- package/lib/module/games/space-traveller/components/GameBackground.js.map +1 -0
- package/lib/module/games/space-traveller/components/GameControls.js +177 -0
- package/lib/module/games/space-traveller/components/GameControls.js.map +1 -0
- package/lib/module/games/space-traveller/components/GameOverModal.js +182 -0
- package/lib/module/games/space-traveller/components/GameOverModal.js.map +1 -0
- package/lib/module/games/space-traveller/components/ParticleComponent.js +34 -0
- package/lib/module/games/space-traveller/components/ParticleComponent.js.map +1 -0
- package/lib/module/games/space-traveller/components/ScoreBoard.js +143 -0
- package/lib/module/games/space-traveller/components/ScoreBoard.js.map +1 -0
- package/lib/module/games/space-traveller/components/SettingsModal.js +222 -0
- package/lib/module/games/space-traveller/components/SettingsModal.js.map +1 -0
- package/lib/module/games/space-traveller/components/Spacecraft3D.js +362 -0
- package/lib/module/games/space-traveller/components/Spacecraft3D.js.map +1 -0
- package/lib/module/games/space-traveller/components/SpacecraftPath.js +37 -0
- package/lib/module/games/space-traveller/components/SpacecraftPath.js.map +1 -0
- package/lib/module/games/space-traveller/components/index.js +13 -0
- package/lib/module/games/space-traveller/components/index.js.map +1 -0
- package/lib/module/index.js +12 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/services/GamesConstants.js +561 -0
- package/lib/module/services/GamesConstants.js.map +1 -0
- package/lib/module/services/GamesService.js +34 -0
- package/lib/module/services/GamesService.js.map +1 -0
- package/lib/module/shared/settings/GameSettings.js +295 -0
- package/lib/module/shared/settings/GameSettings.js.map +1 -0
- package/lib/module/shared/settings/SettingsService.js +119 -0
- package/lib/module/shared/settings/SettingsService.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +16 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +66 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +37 -0
- package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +10 -0
- package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +17 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts +10 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameControls.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts +9 -0
- package/lib/typescript/src/games/balloon-blaster/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts +8 -0
- package/lib/typescript/src/games/balloon-blaster/components/ParticleSystem.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +9 -0
- package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts +11 -0
- package/lib/typescript/src/games/balloon-blaster/components/SliceTrail.d.ts.map +1 -0
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts +9 -0
- package/lib/typescript/src/games/balloon-blaster/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/CatPopper.d.ts +13 -0
- package/lib/typescript/src/games/cat-popper/CatPopper.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts +32 -0
- package/lib/typescript/src/games/cat-popper/CatPopperService.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts +21 -0
- package/lib/typescript/src/games/cat-popper/CatPopperStore.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts +7 -0
- package/lib/typescript/src/games/cat-popper/components/CatCharacter.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/cat-popper/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts +10 -0
- package/lib/typescript/src/games/cat-popper/components/GameControls.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts +13 -0
- package/lib/typescript/src/games/cat-popper/components/GameGrid.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts +12 -0
- package/lib/typescript/src/games/cat-popper/components/GameHole.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts +9 -0
- package/lib/typescript/src/games/cat-popper/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts +8 -0
- package/lib/typescript/src/games/cat-popper/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/cat-popper/components/index.d.ts +8 -0
- package/lib/typescript/src/games/cat-popper/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts +16 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicer.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts +67 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerService.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts +37 -0
- package/lib/typescript/src/games/fruit-slicer/FruitSlicerStore.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts +10 -0
- package/lib/typescript/src/games/fruit-slicer/components/FruitComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts +17 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts +10 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameControls.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts +9 -0
- package/lib/typescript/src/games/fruit-slicer/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts +8 -0
- package/lib/typescript/src/games/fruit-slicer/components/ParticleSystem.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts +9 -0
- package/lib/typescript/src/games/fruit-slicer/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts +11 -0
- package/lib/typescript/src/games/fruit-slicer/components/SliceTrail.d.ts.map +1 -0
- package/lib/typescript/src/games/fruit-slicer/components/index.d.ts +9 -0
- package/lib/typescript/src/games/fruit-slicer/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +18 -0
- package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts +82 -0
- package/lib/typescript/src/games/maze-runner/MazeRunnerService.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +11 -0
- package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +12 -0
- package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/maze-runner/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts +10 -0
- package/lib/typescript/src/games/maze-runner/components/GameControls.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts +11 -0
- package/lib/typescript/src/games/maze-runner/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +8 -0
- package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +25 -0
- package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/StaticGameBackground.d.ts +7 -0
- package/lib/typescript/src/games/maze-runner/components/StaticGameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +10 -0
- package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/maze-runner/components/index.d.ts +8 -0
- package/lib/typescript/src/games/maze-runner/components/index.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts +17 -0
- package/lib/typescript/src/games/space-traveller/SpaceTraveller.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts +65 -0
- package/lib/typescript/src/games/space-traveller/SpaceTravellerService.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts +35 -0
- package/lib/typescript/src/games/space-traveller/SpaceTravellerStore.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts +9 -0
- package/lib/typescript/src/games/space-traveller/components/AsteroidComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts +17 -0
- package/lib/typescript/src/games/space-traveller/components/GameArea.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts +7 -0
- package/lib/typescript/src/games/space-traveller/components/GameBackground.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts +10 -0
- package/lib/typescript/src/games/space-traveller/components/GameControls.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts +9 -0
- package/lib/typescript/src/games/space-traveller/components/GameOverModal.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts +8 -0
- package/lib/typescript/src/games/space-traveller/components/ParticleComponent.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts +8 -0
- package/lib/typescript/src/games/space-traveller/components/ScoreBoard.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts +9 -0
- package/lib/typescript/src/games/space-traveller/components/SettingsModal.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts +9 -0
- package/lib/typescript/src/games/space-traveller/components/Spacecraft3D.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts +10 -0
- package/lib/typescript/src/games/space-traveller/components/SpacecraftPath.d.ts.map +1 -0
- package/lib/typescript/src/games/space-traveller/components/index.d.ts +11 -0
- package/lib/typescript/src/games/space-traveller/components/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +7 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/services/GamesConstants.d.ts +372 -0
- package/lib/typescript/src/services/GamesConstants.d.ts.map +1 -0
- package/lib/typescript/src/services/GamesService.d.ts +8 -0
- package/lib/typescript/src/services/GamesService.d.ts.map +1 -0
- package/lib/typescript/src/shared/settings/GameSettings.d.ts +36 -0
- package/lib/typescript/src/shared/settings/GameSettings.d.ts.map +1 -0
- package/lib/typescript/src/shared/settings/SettingsService.d.ts +32 -0
- package/lib/typescript/src/shared/settings/SettingsService.d.ts.map +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Canvas, Path, Circle, LinearGradient, vec, Shadow } from '@shopify/react-native-skia';
|
|
5
|
+
// PipeSegment type not exported from MazeRunnerService
|
|
6
|
+
// Using inline type definition
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
8
|
+
export const SkiaPipeComponent = ({
|
|
9
|
+
segment,
|
|
10
|
+
pipeWidth
|
|
11
|
+
}) => {
|
|
12
|
+
const canvasWidth = Math.abs(segment.end.x - segment.start.x) + pipeWidth * 2;
|
|
13
|
+
const canvasHeight = Math.abs(segment.end.y - segment.start.y) + pipeWidth * 2;
|
|
14
|
+
const canvasSize = Math.max(canvasWidth, canvasHeight, pipeWidth * 3);
|
|
15
|
+
const renderStraightPipe = () => {
|
|
16
|
+
const {
|
|
17
|
+
start,
|
|
18
|
+
end
|
|
19
|
+
} = segment;
|
|
20
|
+
const centerX = canvasSize / 2;
|
|
21
|
+
const centerY = canvasSize / 2;
|
|
22
|
+
if (segment.direction === 'horizontal') {
|
|
23
|
+
const length = Math.abs(end.x - start.x);
|
|
24
|
+
const pipeLeft = centerX - length / 2;
|
|
25
|
+
const pipeRight = centerX + length / 2;
|
|
26
|
+
const pipeTop = centerY - pipeWidth / 2;
|
|
27
|
+
const pipeBottom = centerY + pipeWidth / 2;
|
|
28
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
29
|
+
children: [/*#__PURE__*/_jsxs(Path, {
|
|
30
|
+
path: `M ${pipeLeft} ${pipeTop} L ${pipeRight} ${pipeTop} L ${pipeRight} ${pipeBottom} L ${pipeLeft} ${pipeBottom} Z`,
|
|
31
|
+
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
32
|
+
start: vec(centerX, pipeTop),
|
|
33
|
+
end: vec(centerX, pipeBottom),
|
|
34
|
+
colors: ['#8B4513', '#A0522D', '#654321', '#4A4A4A', '#2F2F2F']
|
|
35
|
+
}), /*#__PURE__*/_jsx(Shadow, {
|
|
36
|
+
dx: 0,
|
|
37
|
+
dy: 2,
|
|
38
|
+
blur: 4,
|
|
39
|
+
color: "rgba(0,0,0,0.4)"
|
|
40
|
+
})]
|
|
41
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
42
|
+
path: `M ${pipeLeft} ${pipeTop} L ${pipeRight} ${pipeTop} L ${pipeRight} ${pipeTop + 2} L ${pipeLeft} ${pipeTop + 2} Z`,
|
|
43
|
+
color: "rgba(160, 82, 45, 0.8)"
|
|
44
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
45
|
+
path: `M ${pipeLeft} ${pipeBottom - 2} L ${pipeRight} ${pipeBottom - 2} L ${pipeRight} ${pipeBottom} L ${pipeLeft} ${pipeBottom} Z`,
|
|
46
|
+
color: "rgba(47, 47, 47, 0.8)"
|
|
47
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
48
|
+
cx: pipeLeft,
|
|
49
|
+
cy: centerY,
|
|
50
|
+
r: pipeWidth / 2,
|
|
51
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
52
|
+
start: vec(pipeLeft - pipeWidth / 4, centerY - pipeWidth / 4),
|
|
53
|
+
end: vec(pipeLeft + pipeWidth / 4, centerY + pipeWidth / 4),
|
|
54
|
+
colors: ['#A0522D', '#8B4513', '#654321']
|
|
55
|
+
})
|
|
56
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
57
|
+
cx: pipeRight,
|
|
58
|
+
cy: centerY,
|
|
59
|
+
r: pipeWidth / 2,
|
|
60
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
61
|
+
start: vec(pipeRight - pipeWidth / 4, centerY - pipeWidth / 4),
|
|
62
|
+
end: vec(pipeRight + pipeWidth / 4, centerY + pipeWidth / 4),
|
|
63
|
+
colors: ['#A0522D', '#8B4513', '#654321']
|
|
64
|
+
})
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
// Vertical pipe
|
|
69
|
+
const length = Math.abs(end.y - start.y);
|
|
70
|
+
const pipeTop = centerY - length / 2;
|
|
71
|
+
const pipeBottom = centerY + length / 2;
|
|
72
|
+
const pipeLeft = centerX - pipeWidth / 2;
|
|
73
|
+
const pipeRight = centerX + pipeWidth / 2;
|
|
74
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
75
|
+
children: [/*#__PURE__*/_jsxs(Path, {
|
|
76
|
+
path: `M ${pipeLeft} ${pipeTop} L ${pipeRight} ${pipeTop} L ${pipeRight} ${pipeBottom} L ${pipeLeft} ${pipeBottom} Z`,
|
|
77
|
+
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
78
|
+
start: vec(pipeLeft, centerY),
|
|
79
|
+
end: vec(pipeRight, centerY),
|
|
80
|
+
colors: ['#8B4513', '#A0522D', '#654321', '#4A4A4A', '#2F2F2F']
|
|
81
|
+
}), /*#__PURE__*/_jsx(Shadow, {
|
|
82
|
+
dx: 2,
|
|
83
|
+
dy: 0,
|
|
84
|
+
blur: 4,
|
|
85
|
+
color: "rgba(0,0,0,0.4)"
|
|
86
|
+
})]
|
|
87
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
88
|
+
path: `M ${pipeLeft} ${pipeTop} L ${pipeLeft + 2} ${pipeTop} L ${pipeLeft + 2} ${pipeBottom} L ${pipeLeft} ${pipeBottom} Z`,
|
|
89
|
+
color: "rgba(160, 82, 45, 0.8)"
|
|
90
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
91
|
+
path: `M ${pipeRight - 2} ${pipeTop} L ${pipeRight} ${pipeTop} L ${pipeRight} ${pipeBottom} L ${pipeRight - 2} ${pipeBottom} Z`,
|
|
92
|
+
color: "rgba(47, 47, 47, 0.8)"
|
|
93
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
94
|
+
cx: centerX,
|
|
95
|
+
cy: pipeTop,
|
|
96
|
+
r: pipeWidth / 2,
|
|
97
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
98
|
+
start: vec(centerX - pipeWidth / 4, pipeTop - pipeWidth / 4),
|
|
99
|
+
end: vec(centerX + pipeWidth / 4, pipeTop + pipeWidth / 4),
|
|
100
|
+
colors: ['#A0522D', '#8B4513', '#654321']
|
|
101
|
+
})
|
|
102
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
103
|
+
cx: centerX,
|
|
104
|
+
cy: pipeBottom,
|
|
105
|
+
r: pipeWidth / 2,
|
|
106
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
107
|
+
start: vec(centerX - pipeWidth / 4, pipeBottom - pipeWidth / 4),
|
|
108
|
+
end: vec(centerX + pipeWidth / 4, pipeBottom + pipeWidth / 4),
|
|
109
|
+
colors: ['#A0522D', '#8B4513', '#654321']
|
|
110
|
+
})
|
|
111
|
+
})]
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const renderCornerPipe = () => {
|
|
116
|
+
const centerX = canvasSize / 2;
|
|
117
|
+
const centerY = canvasSize / 2;
|
|
118
|
+
const radius = pipeWidth * 1.5;
|
|
119
|
+
const {
|
|
120
|
+
cornerType
|
|
121
|
+
} = segment;
|
|
122
|
+
let startAngle = 0;
|
|
123
|
+
let endAngle = 90;
|
|
124
|
+
let sweepAngle = 90;
|
|
125
|
+
switch (cornerType) {
|
|
126
|
+
case 'top-right':
|
|
127
|
+
startAngle = 0;
|
|
128
|
+
endAngle = 90;
|
|
129
|
+
break;
|
|
130
|
+
case 'bottom-right':
|
|
131
|
+
startAngle = 270;
|
|
132
|
+
endAngle = 360;
|
|
133
|
+
break;
|
|
134
|
+
case 'bottom-left':
|
|
135
|
+
startAngle = 180;
|
|
136
|
+
endAngle = 270;
|
|
137
|
+
break;
|
|
138
|
+
case 'top-left':
|
|
139
|
+
startAngle = 90;
|
|
140
|
+
endAngle = 180;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
const startAngleRad = startAngle * Math.PI / 180;
|
|
144
|
+
const endAngleRad = endAngle * Math.PI / 180;
|
|
145
|
+
const innerRadius = radius - pipeWidth / 2;
|
|
146
|
+
const outerRadius = radius + pipeWidth / 2;
|
|
147
|
+
|
|
148
|
+
// Calculate arc points
|
|
149
|
+
const innerStartX = centerX + innerRadius * Math.cos(startAngleRad);
|
|
150
|
+
const innerStartY = centerY + innerRadius * Math.sin(startAngleRad);
|
|
151
|
+
const innerEndX = centerX + innerRadius * Math.cos(endAngleRad);
|
|
152
|
+
const innerEndY = centerY + innerRadius * Math.sin(endAngleRad);
|
|
153
|
+
const outerStartX = centerX + outerRadius * Math.cos(startAngleRad);
|
|
154
|
+
const outerStartY = centerY + outerRadius * Math.sin(startAngleRad);
|
|
155
|
+
const outerEndX = centerX + outerRadius * Math.cos(endAngleRad);
|
|
156
|
+
const outerEndY = centerY + outerRadius * Math.sin(endAngleRad);
|
|
157
|
+
const largeArcFlag = sweepAngle > 180 ? 1 : 0;
|
|
158
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
159
|
+
children: [/*#__PURE__*/_jsxs(Path, {
|
|
160
|
+
path: `
|
|
161
|
+
M ${innerStartX} ${innerStartY}
|
|
162
|
+
A ${innerRadius} ${innerRadius} 0 ${largeArcFlag} 1 ${innerEndX} ${innerEndY}
|
|
163
|
+
L ${outerEndX} ${outerEndY}
|
|
164
|
+
A ${outerRadius} ${outerRadius} 0 ${largeArcFlag} 0 ${outerStartX} ${outerStartY}
|
|
165
|
+
Z
|
|
166
|
+
`,
|
|
167
|
+
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
168
|
+
start: vec(centerX - radius, centerY - radius),
|
|
169
|
+
end: vec(centerX + radius, centerY + radius),
|
|
170
|
+
colors: ['#8B4513', '#A0522D', '#654321', '#4A4A4A', '#2F2F2F']
|
|
171
|
+
}), /*#__PURE__*/_jsx(Shadow, {
|
|
172
|
+
dx: 2,
|
|
173
|
+
dy: 2,
|
|
174
|
+
blur: 4,
|
|
175
|
+
color: "rgba(0,0,0,0.4)"
|
|
176
|
+
})]
|
|
177
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
178
|
+
path: `
|
|
179
|
+
M ${innerStartX} ${innerStartY}
|
|
180
|
+
A ${innerRadius} ${innerRadius} 0 ${largeArcFlag} 1 ${innerEndX} ${innerEndY}
|
|
181
|
+
L ${centerX + (innerRadius + 2) * Math.cos(endAngleRad)} ${centerY + (innerRadius + 2) * Math.sin(endAngleRad)}
|
|
182
|
+
A ${innerRadius + 2} ${innerRadius + 2} 0 ${largeArcFlag} 0 ${centerX + (innerRadius + 2) * Math.cos(startAngleRad)} ${centerY + (innerRadius + 2) * Math.sin(startAngleRad)}
|
|
183
|
+
Z
|
|
184
|
+
`,
|
|
185
|
+
color: "rgba(160, 82, 45, 0.6)"
|
|
186
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
187
|
+
cx: centerX,
|
|
188
|
+
cy: centerY,
|
|
189
|
+
r: pipeWidth / 3,
|
|
190
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
191
|
+
start: vec(centerX - pipeWidth / 6, centerY - pipeWidth / 6),
|
|
192
|
+
end: vec(centerX + pipeWidth / 6, centerY + pipeWidth / 6),
|
|
193
|
+
colors: ['#A0522D', '#8B4513', '#654321']
|
|
194
|
+
})
|
|
195
|
+
})]
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
return /*#__PURE__*/_jsx(Canvas, {
|
|
199
|
+
style: {
|
|
200
|
+
position: 'absolute',
|
|
201
|
+
left: segment.start.x - canvasSize / 2,
|
|
202
|
+
top: segment.start.y - canvasSize / 2,
|
|
203
|
+
width: canvasSize,
|
|
204
|
+
height: canvasSize
|
|
205
|
+
},
|
|
206
|
+
children: segment.type === 'straight' ? renderStraightPipe() : renderCornerPipe()
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=SkiaPipeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Canvas","Path","Circle","LinearGradient","vec","Shadow","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SkiaPipeComponent","segment","pipeWidth","canvasWidth","Math","abs","end","x","start","canvasHeight","y","canvasSize","max","renderStraightPipe","centerX","centerY","direction","length","pipeLeft","pipeRight","pipeTop","pipeBottom","children","path","colors","dx","dy","blur","color","cx","cy","r","renderCornerPipe","radius","cornerType","startAngle","endAngle","sweepAngle","startAngleRad","PI","endAngleRad","innerRadius","outerRadius","innerStartX","cos","innerStartY","sin","innerEndX","innerEndY","outerStartX","outerStartY","outerEndX","outerEndY","largeArcFlag","style","position","left","top","width","height","type"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/SkiaPipeComponent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Canvas, LinearGradient, vec, Circle, Path, Shadow } from '@shopify/react-native-skia';
|
|
5
|
+
import Animated from 'react-native-reanimated';
|
|
6
|
+
import { Dimensions } from 'react-native';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
8
|
+
const {
|
|
9
|
+
width: screenWidth,
|
|
10
|
+
height: screenHeight
|
|
11
|
+
} = Dimensions.get('window');
|
|
12
|
+
export const GameBackground = ({
|
|
13
|
+
children
|
|
14
|
+
}) => {
|
|
15
|
+
// Static background with no animations or changing elements
|
|
16
|
+
const staticStyle = {
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
top: 0,
|
|
19
|
+
left: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
bottom: 0,
|
|
22
|
+
zIndex: -1
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Pre-calculated static maze pattern - no Math.random() or changing values
|
|
26
|
+
const staticMazePattern = React.useMemo(() => {
|
|
27
|
+
const gridSize = 20;
|
|
28
|
+
const cellSize = screenWidth / gridSize;
|
|
29
|
+
const elements = [];
|
|
30
|
+
|
|
31
|
+
// Create completely static maze pattern
|
|
32
|
+
for (let i = 0; i < gridSize; i++) {
|
|
33
|
+
for (let j = 0; j < gridSize; j++) {
|
|
34
|
+
const x = i * cellSize;
|
|
35
|
+
const y = j * cellSize;
|
|
36
|
+
// Fixed deterministic opacity based on position
|
|
37
|
+
const seed = (i * 31 + j * 17) % 100;
|
|
38
|
+
const opacity = seed > 70 ? 0.08 : 0.04;
|
|
39
|
+
|
|
40
|
+
// Fixed vertical lines pattern
|
|
41
|
+
if ((i + j * 2) % 5 > 2) {
|
|
42
|
+
elements.push(/*#__PURE__*/_jsx(Path, {
|
|
43
|
+
path: `M ${x} ${y} L ${x} ${y + cellSize}`,
|
|
44
|
+
style: "stroke",
|
|
45
|
+
strokeWidth: 1,
|
|
46
|
+
color: `rgba(139, 69, 19, ${opacity})`
|
|
47
|
+
}, `v-${i}-${j}`));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Fixed horizontal lines pattern
|
|
51
|
+
if ((i * 2 + j) % 5 > 2) {
|
|
52
|
+
elements.push(/*#__PURE__*/_jsx(Path, {
|
|
53
|
+
path: `M ${x} ${y} L ${x + cellSize} ${y}`,
|
|
54
|
+
style: "stroke",
|
|
55
|
+
strokeWidth: 1,
|
|
56
|
+
color: `rgba(139, 69, 19, ${opacity})`
|
|
57
|
+
}, `h-${i}-${j}`));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return elements;
|
|
62
|
+
}, []);
|
|
63
|
+
|
|
64
|
+
// Static floating elements - no animations
|
|
65
|
+
const staticFloatingElements = React.useMemo(() => {
|
|
66
|
+
const elements = [];
|
|
67
|
+
|
|
68
|
+
// Static maze pieces with fixed positioning
|
|
69
|
+
for (let i = 0; i < 6; i++) {
|
|
70
|
+
const seed = i * 37;
|
|
71
|
+
const x = screenWidth / 6 * i + seed % 40;
|
|
72
|
+
const y = screenHeight / 3 * (i % 3) + seed * 2 % 80;
|
|
73
|
+
const size = 12 + seed * 3 % 8;
|
|
74
|
+
elements.push(/*#__PURE__*/_jsx(Circle, {
|
|
75
|
+
cx: x,
|
|
76
|
+
cy: y,
|
|
77
|
+
r: size,
|
|
78
|
+
opacity: 0.1,
|
|
79
|
+
color: "rgba(139, 69, 19, 0.2)",
|
|
80
|
+
children: /*#__PURE__*/_jsx(Shadow, {
|
|
81
|
+
dx: 1,
|
|
82
|
+
dy: 1,
|
|
83
|
+
blur: 2,
|
|
84
|
+
color: "rgba(0,0,0,0.1)"
|
|
85
|
+
})
|
|
86
|
+
}, `maze-piece-${i}`));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Static corner accents
|
|
90
|
+
const cornerSize = 30;
|
|
91
|
+
elements.push(
|
|
92
|
+
/*#__PURE__*/
|
|
93
|
+
// Top-left corner
|
|
94
|
+
_jsx(Path, {
|
|
95
|
+
path: `M 15 15 L ${cornerSize + 15} 15 L ${cornerSize + 15} 30 L 30 30 L 30 ${cornerSize + 15} L 15 ${cornerSize + 15} Z`,
|
|
96
|
+
color: "rgba(139, 69, 19, 0.15)",
|
|
97
|
+
opacity: 0.5,
|
|
98
|
+
children: /*#__PURE__*/_jsx(Shadow, {
|
|
99
|
+
dx: 1,
|
|
100
|
+
dy: 1,
|
|
101
|
+
blur: 2,
|
|
102
|
+
color: "rgba(0,0,0,0.05)"
|
|
103
|
+
})
|
|
104
|
+
}, "corner-tl"),
|
|
105
|
+
/*#__PURE__*/
|
|
106
|
+
// Top-right corner
|
|
107
|
+
_jsx(Path, {
|
|
108
|
+
path: `M ${screenWidth - cornerSize - 15} 15 L ${screenWidth - 15} 15 L ${screenWidth - 15} ${cornerSize + 15} L ${screenWidth - 30} ${cornerSize + 15} L ${screenWidth - 30} 30 L ${screenWidth - cornerSize - 15} 30 Z`,
|
|
109
|
+
color: "rgba(139, 69, 19, 0.15)",
|
|
110
|
+
opacity: 0.5,
|
|
111
|
+
children: /*#__PURE__*/_jsx(Shadow, {
|
|
112
|
+
dx: -1,
|
|
113
|
+
dy: 1,
|
|
114
|
+
blur: 2,
|
|
115
|
+
color: "rgba(0,0,0,0.05)"
|
|
116
|
+
})
|
|
117
|
+
}, "corner-tr"));
|
|
118
|
+
return elements;
|
|
119
|
+
}, []);
|
|
120
|
+
|
|
121
|
+
// Static particles - no animations
|
|
122
|
+
const staticParticles = React.useMemo(() => {
|
|
123
|
+
const particles = [];
|
|
124
|
+
for (let i = 0; i < 12; i++) {
|
|
125
|
+
const seed = i * 43;
|
|
126
|
+
const x = seed % screenWidth;
|
|
127
|
+
const y = seed * 7 % screenHeight;
|
|
128
|
+
const size = 1.5 + seed * 3 % 2;
|
|
129
|
+
const opacity = 0.08 + seed * 5 % 15 / 100;
|
|
130
|
+
particles.push(/*#__PURE__*/_jsx(Circle, {
|
|
131
|
+
cx: x,
|
|
132
|
+
cy: y,
|
|
133
|
+
r: size,
|
|
134
|
+
color: `rgba(160, 82, 45, ${opacity})`
|
|
135
|
+
}, `particle-${i}`));
|
|
136
|
+
}
|
|
137
|
+
return particles;
|
|
138
|
+
}, []);
|
|
139
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
140
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
141
|
+
style: staticStyle,
|
|
142
|
+
children: /*#__PURE__*/_jsxs(Canvas, {
|
|
143
|
+
style: {
|
|
144
|
+
width: screenWidth,
|
|
145
|
+
height: screenHeight
|
|
146
|
+
},
|
|
147
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
148
|
+
path: `M 0 0 L ${screenWidth} 0 L ${screenWidth} ${screenHeight} L 0 ${screenHeight} Z`,
|
|
149
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
150
|
+
start: vec(0, 0),
|
|
151
|
+
end: vec(0, screenHeight),
|
|
152
|
+
colors: ['#f8f4e6',
|
|
153
|
+
// Light cream
|
|
154
|
+
'#f0e6d2',
|
|
155
|
+
// Warm beige
|
|
156
|
+
'#e8d5b7',
|
|
157
|
+
// Light brown
|
|
158
|
+
'#d4c4a8' // Medium beige
|
|
159
|
+
]
|
|
160
|
+
})
|
|
161
|
+
}), staticMazePattern, staticFloatingElements, staticParticles, /*#__PURE__*/_jsx(Path, {
|
|
162
|
+
path: `M 0 0 L ${screenWidth} 0 L ${screenWidth} ${screenHeight} L 0 ${screenHeight} Z`,
|
|
163
|
+
color: "rgba(139, 69, 19, 0.02)"
|
|
164
|
+
})]
|
|
165
|
+
})
|
|
166
|
+
}), children]
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=StaticGameBackground.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Canvas","LinearGradient","vec","Circle","Path","Shadow","Animated","Dimensions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","width","screenWidth","height","screenHeight","get","GameBackground","children","staticStyle","position","top","left","right","bottom","zIndex","staticMazePattern","useMemo","gridSize","cellSize","elements","i","j","x","y","seed","opacity","push","path","style","strokeWidth","color","staticFloatingElements","size","cx","cy","r","dx","dy","blur","cornerSize","staticParticles","particles","View","start","end","colors"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/StaticGameBackground.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
export const WallComponent = ({
|
|
7
|
+
walls,
|
|
8
|
+
width,
|
|
9
|
+
height
|
|
10
|
+
}) => {
|
|
11
|
+
// Group walls by type and position for better joining
|
|
12
|
+
const renderWall = (wall, index) => {
|
|
13
|
+
const cornerRadius = 2; // Small radius for slightly rounded corners
|
|
14
|
+
const shadowOffset = 1.5;
|
|
15
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
16
|
+
children: [/*#__PURE__*/_jsxs(RoundedRect, {
|
|
17
|
+
x: wall.x,
|
|
18
|
+
y: wall.y,
|
|
19
|
+
width: wall.width,
|
|
20
|
+
height: wall.height,
|
|
21
|
+
r: cornerRadius,
|
|
22
|
+
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
23
|
+
start: vec(0, 0),
|
|
24
|
+
end: wall.type === 'horizontal' ? vec(0, wall.height) : vec(wall.width, 0),
|
|
25
|
+
colors: ['#654321',
|
|
26
|
+
// Dark brown
|
|
27
|
+
'#8B4513',
|
|
28
|
+
// Saddle brown
|
|
29
|
+
'#A0522D',
|
|
30
|
+
// Sienna
|
|
31
|
+
'#CD853F',
|
|
32
|
+
// Peru
|
|
33
|
+
'#D2691E' // Chocolate
|
|
34
|
+
]
|
|
35
|
+
}), /*#__PURE__*/_jsx(Shadow, {
|
|
36
|
+
dx: shadowOffset,
|
|
37
|
+
dy: shadowOffset,
|
|
38
|
+
blur: 3,
|
|
39
|
+
color: "rgba(0, 0, 0, 0.4)"
|
|
40
|
+
})]
|
|
41
|
+
}), /*#__PURE__*/_jsx(RoundedRect, {
|
|
42
|
+
x: wall.x + 1,
|
|
43
|
+
y: wall.y + 1,
|
|
44
|
+
width: Math.max(0, wall.width - 2),
|
|
45
|
+
height: Math.max(0, wall.height - 2),
|
|
46
|
+
r: Math.max(0, cornerRadius - 1),
|
|
47
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
48
|
+
start: vec(0, 0),
|
|
49
|
+
end: wall.type === 'horizontal' ? vec(0, wall.height - 2) : vec(wall.width - 2, 0),
|
|
50
|
+
colors: ['rgba(255, 255, 255, 0.3)',
|
|
51
|
+
// Light highlight
|
|
52
|
+
'rgba(255, 255, 255, 0.1)',
|
|
53
|
+
// Subtle highlight
|
|
54
|
+
'rgba(0, 0, 0, 0.1)',
|
|
55
|
+
// Subtle shadow
|
|
56
|
+
'rgba(0, 0, 0, 0.2)' // Darker shadow
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
}), wall.type === 'horizontal' && /*#__PURE__*/_jsx(Rect, {
|
|
60
|
+
x: wall.x,
|
|
61
|
+
y: wall.y,
|
|
62
|
+
width: wall.width,
|
|
63
|
+
height: 1,
|
|
64
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
65
|
+
start: vec(0, 0),
|
|
66
|
+
end: vec(wall.width, 0),
|
|
67
|
+
colors: ['rgba(255, 255, 255, 0.6)', 'rgba(255, 255, 255, 0.3)']
|
|
68
|
+
})
|
|
69
|
+
}), wall.type === 'vertical' && /*#__PURE__*/_jsx(Rect, {
|
|
70
|
+
x: wall.x,
|
|
71
|
+
y: wall.y,
|
|
72
|
+
width: 1,
|
|
73
|
+
height: wall.height,
|
|
74
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
75
|
+
start: vec(0, 0),
|
|
76
|
+
end: vec(0, wall.height),
|
|
77
|
+
colors: ['rgba(255, 255, 255, 0.6)', 'rgba(255, 255, 255, 0.3)']
|
|
78
|
+
})
|
|
79
|
+
})]
|
|
80
|
+
}, index);
|
|
81
|
+
};
|
|
82
|
+
return /*#__PURE__*/_jsx(Canvas, {
|
|
83
|
+
style: {
|
|
84
|
+
width,
|
|
85
|
+
height
|
|
86
|
+
},
|
|
87
|
+
children: walls.map((wall, index) => renderWall(wall, index))
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=WallComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Canvas","Rect","LinearGradient","vec","Shadow","RoundedRect","jsx","_jsx","jsxs","_jsxs","WallComponent","walls","width","height","renderWall","wall","index","cornerRadius","shadowOffset","Fragment","children","x","y","r","start","end","type","colors","dx","dy","blur","color","Math","max","style","map"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/WallComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,IAAI,EAAEC,cAAc,EAAEC,GAAG,EAAEC,MAAM,EAAEC,WAAW,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASpG,OAAO,MAAMC,aAA2C,GAAGA,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAAO,CAAC,KAAK;EACvF;EACA,MAAMC,UAAU,GAAGA,CAACC,IAAU,EAAEC,KAAa,KAAK;IAChD,MAAMC,YAAY,GAAG,CAAC,CAAC,CAAC;IACxB,MAAMC,YAAY,GAAG,GAAG;IAExB,oBACET,KAAA,CAACV,KAAK,CAACoB,QAAQ;MAAAC,QAAA,gBAEbX,KAAA,CAACJ,WAAW;QACVgB,CAAC,EAAEN,IAAI,CAACM,CAAE;QACVC,CAAC,EAAEP,IAAI,CAACO,CAAE;QACVV,KAAK,EAAEG,IAAI,CAACH,KAAM;QAClBC,MAAM,EAAEE,IAAI,CAACF,MAAO;QACpBU,CAAC,EAAEN,YAAa;QAAAG,QAAA,gBAEhBb,IAAA,CAACL,cAAc;UACbsB,KAAK,EAAErB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;UACjBsB,GAAG,EAAEV,IAAI,CAACW,IAAI,KAAK,YAAY,GAAGvB,GAAG,CAAC,CAAC,EAAEY,IAAI,CAACF,MAAM,CAAC,GAAGV,GAAG,CAACY,IAAI,CAACH,KAAK,EAAE,CAAC,CAAE;UAC3Ee,MAAM,EAAE,CACN,SAAS;UAAE;UACX,SAAS;UAAE;UACX,SAAS;UAAE;UACX,SAAS;UAAE;UACX,SAAS,CAAE;UAAA;QACX,CACH,CAAC,eACFpB,IAAA,CAACH,MAAM;UACLwB,EAAE,EAAEV,YAAa;UACjBW,EAAE,EAAEX,YAAa;UACjBY,IAAI,EAAE,CAAE;UACRC,KAAK,EAAC;QAAoB,CAC3B,CAAC;MAAA,CACS,CAAC,eAGdxB,IAAA,CAACF,WAAW;QACVgB,CAAC,EAAEN,IAAI,CAACM,CAAC,GAAG,CAAE;QACdC,CAAC,EAAEP,IAAI,CAACO,CAAC,GAAG,CAAE;QACdV,KAAK,EAAEoB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAElB,IAAI,CAACH,KAAK,GAAG,CAAC,CAAE;QACnCC,MAAM,EAAEmB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAElB,IAAI,CAACF,MAAM,GAAG,CAAC,CAAE;QACrCU,CAAC,EAAES,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEhB,YAAY,GAAG,CAAC,CAAE;QAAAG,QAAA,eAEjCb,IAAA,CAACL,cAAc;UACbsB,KAAK,EAAErB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;UACjBsB,GAAG,EAAEV,IAAI,CAACW,IAAI,KAAK,YAAY,GAAGvB,GAAG,CAAC,CAAC,EAAEY,IAAI,CAACF,MAAM,GAAG,CAAC,CAAC,GAAGV,GAAG,CAACY,IAAI,CAACH,KAAK,GAAG,CAAC,EAAE,CAAC,CAAE;UACnFe,MAAM,EAAE,CACN,0BAA0B;UAAE;UAC5B,0BAA0B;UAAE;UAC5B,oBAAoB;UAAQ;UAC5B,oBAAoB,CAAQ;UAAA;QAC5B,CACH;MAAC,CACS,CAAC,EAGbZ,IAAI,CAACW,IAAI,KAAK,YAAY,iBACzBnB,IAAA,CAACN,IAAI;QACHoB,CAAC,EAAEN,IAAI,CAACM,CAAE;QACVC,CAAC,EAAEP,IAAI,CAACO,CAAE;QACVV,KAAK,EAAEG,IAAI,CAACH,KAAM;QAClBC,MAAM,EAAE,CAAE;QAAAO,QAAA,eAEVb,IAAA,CAACL,cAAc;UACbsB,KAAK,EAAErB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;UACjBsB,GAAG,EAAEtB,GAAG,CAACY,IAAI,CAACH,KAAK,EAAE,CAAC,CAAE;UACxBe,MAAM,EAAE,CAAC,0BAA0B,EAAE,0BAA0B;QAAE,CAClE;MAAC,CACE,CACP,EAGAZ,IAAI,CAACW,IAAI,KAAK,UAAU,iBACvBnB,IAAA,CAACN,IAAI;QACHoB,CAAC,EAAEN,IAAI,CAACM,CAAE;QACVC,CAAC,EAAEP,IAAI,CAACO,CAAE;QACVV,KAAK,EAAE,CAAE;QACTC,MAAM,EAAEE,IAAI,CAACF,MAAO;QAAAO,QAAA,eAEpBb,IAAA,CAACL,cAAc;UACbsB,KAAK,EAAErB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;UACjBsB,GAAG,EAAEtB,GAAG,CAAC,CAAC,EAAEY,IAAI,CAACF,MAAM,CAAE;UACzBc,MAAM,EAAE,CAAC,0BAA0B,EAAE,0BAA0B;QAAE,CAClE;MAAC,CACE,CACP;IAAA,GA9EkBX,KA+EL,CAAC;EAErB,CAAC;EAED,oBACET,IAAA,CAACP,MAAM;IAACkC,KAAK,EAAE;MAAEtB,KAAK;MAAEC;IAAO,CAAE;IAAAO,QAAA,EAC9BT,KAAK,CAACwB,GAAG,CAAC,CAACpB,IAAI,EAAEC,KAAK,KAAKF,UAAU,CAACC,IAAI,EAAEC,KAAK,CAAC;EAAC,CAC9C,CAAC;AAEb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
export { GameControls } from "./GameControls.js";
|
|
9
|
+
export { GameOverModal } from "./GameOverModal.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EnhancedBallComponent","WallComponent","EnhancedGameArea","GameBackground","ScoreBoard","GameControls","GameOverModal"],"sourceRoot":"../../../../../src","sources":["games/maze-runner/components/index.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB","ignoreList":[]}
|