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,362 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { Canvas, Circle, Path, Skia, vec, Group, Shadow, LinearGradient, RadialGradient } from '@shopify/react-native-skia';
|
|
5
|
+
import { useSharedValue, useAnimatedStyle, withRepeat, withTiming, withSequence, interpolate, Extrapolation } from 'react-native-reanimated';
|
|
6
|
+
import Animated from 'react-native-reanimated';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export const Spacecraft3D = ({
|
|
9
|
+
spacecraft,
|
|
10
|
+
isControlled
|
|
11
|
+
}) => {
|
|
12
|
+
const size = spacecraft.size;
|
|
13
|
+
const canvasSize = size * 2.5; // Larger canvas for 3D effects
|
|
14
|
+
|
|
15
|
+
// Animations
|
|
16
|
+
const engineGlow = useSharedValue(0);
|
|
17
|
+
const thrusterPulse = useSharedValue(1);
|
|
18
|
+
const hoverFloat = useSharedValue(0);
|
|
19
|
+
const energyField = useSharedValue(0);
|
|
20
|
+
const plasmaEffect = useSharedValue(0);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
// Engine glow animation - more dynamic
|
|
23
|
+
engineGlow.value = withRepeat(withSequence(withTiming(1, {
|
|
24
|
+
duration: 600
|
|
25
|
+
}), withTiming(0.4, {
|
|
26
|
+
duration: 400
|
|
27
|
+
}), withTiming(0.8, {
|
|
28
|
+
duration: 300
|
|
29
|
+
}), withTiming(0.2, {
|
|
30
|
+
duration: 500
|
|
31
|
+
})), -1, false);
|
|
32
|
+
|
|
33
|
+
// Energy field animation
|
|
34
|
+
energyField.value = withRepeat(withSequence(withTiming(1, {
|
|
35
|
+
duration: 1200
|
|
36
|
+
}), withTiming(0, {
|
|
37
|
+
duration: 800
|
|
38
|
+
})), -1, false);
|
|
39
|
+
|
|
40
|
+
// Plasma effect animation
|
|
41
|
+
plasmaEffect.value = withRepeat(withSequence(withTiming(1, {
|
|
42
|
+
duration: 400
|
|
43
|
+
}), withTiming(0.3, {
|
|
44
|
+
duration: 600
|
|
45
|
+
}), withTiming(0.9, {
|
|
46
|
+
duration: 300
|
|
47
|
+
}), withTiming(0.1, {
|
|
48
|
+
duration: 700
|
|
49
|
+
})), -1, false);
|
|
50
|
+
|
|
51
|
+
// Thruster pulse when controlled - more intense
|
|
52
|
+
if (isControlled) {
|
|
53
|
+
thrusterPulse.value = withRepeat(withSequence(withTiming(1.5, {
|
|
54
|
+
duration: 150
|
|
55
|
+
}), withTiming(0.8, {
|
|
56
|
+
duration: 100
|
|
57
|
+
}), withTiming(1.2, {
|
|
58
|
+
duration: 150
|
|
59
|
+
})), -1, false);
|
|
60
|
+
} else {
|
|
61
|
+
thrusterPulse.value = withTiming(1, {
|
|
62
|
+
duration: 300
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// More dynamic hover float
|
|
67
|
+
hoverFloat.value = withRepeat(withSequence(withTiming(1, {
|
|
68
|
+
duration: 1500
|
|
69
|
+
}), withTiming(-0.5, {
|
|
70
|
+
duration: 1000
|
|
71
|
+
}), withTiming(0.5, {
|
|
72
|
+
duration: 800
|
|
73
|
+
}), withTiming(-1, {
|
|
74
|
+
duration: 1200
|
|
75
|
+
})), -1, false);
|
|
76
|
+
}, [isControlled]);
|
|
77
|
+
const animatedStyle = useAnimatedStyle(() => {
|
|
78
|
+
const scale = isControlled ? 1.1 : 1;
|
|
79
|
+
const floatY = interpolate(hoverFloat.value, [-1, 1], [-2, 2], Extrapolation.CLAMP);
|
|
80
|
+
return {
|
|
81
|
+
transform: [{
|
|
82
|
+
scale
|
|
83
|
+
}, {
|
|
84
|
+
translateY: floatY
|
|
85
|
+
}]
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// Create spacecraft body path
|
|
90
|
+
const createSpacecraftBody = () => {
|
|
91
|
+
const path = Skia.Path.Make();
|
|
92
|
+
const centerX = canvasSize / 2;
|
|
93
|
+
const centerY = canvasSize / 2;
|
|
94
|
+
const bodyWidth = size * 0.8;
|
|
95
|
+
const bodyHeight = size * 1.2;
|
|
96
|
+
|
|
97
|
+
// Main body (elongated oval)
|
|
98
|
+
path.addOval({
|
|
99
|
+
x: centerX - bodyWidth / 2,
|
|
100
|
+
y: centerY - bodyHeight / 2,
|
|
101
|
+
width: bodyWidth,
|
|
102
|
+
height: bodyHeight
|
|
103
|
+
});
|
|
104
|
+
return path;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// Create wing paths
|
|
108
|
+
const createWings = () => {
|
|
109
|
+
const leftWing = Skia.Path.Make();
|
|
110
|
+
const rightWing = Skia.Path.Make();
|
|
111
|
+
const centerX = canvasSize / 2;
|
|
112
|
+
const centerY = canvasSize / 2;
|
|
113
|
+
const wingWidth = size * 0.6;
|
|
114
|
+
const wingHeight = size * 0.3;
|
|
115
|
+
|
|
116
|
+
// Left wing
|
|
117
|
+
leftWing.moveTo(centerX - size * 0.3, centerY);
|
|
118
|
+
leftWing.lineTo(centerX - size * 0.3 - wingWidth, centerY - wingHeight / 2);
|
|
119
|
+
leftWing.lineTo(centerX - size * 0.3 - wingWidth * 0.8, centerY + wingHeight / 2);
|
|
120
|
+
leftWing.close();
|
|
121
|
+
|
|
122
|
+
// Right wing
|
|
123
|
+
rightWing.moveTo(centerX + size * 0.3, centerY);
|
|
124
|
+
rightWing.lineTo(centerX + size * 0.3 + wingWidth, centerY - wingHeight / 2);
|
|
125
|
+
rightWing.lineTo(centerX + size * 0.3 + wingWidth * 0.8, centerY + wingHeight / 2);
|
|
126
|
+
rightWing.close();
|
|
127
|
+
return {
|
|
128
|
+
leftWing,
|
|
129
|
+
rightWing
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// Create cockpit path
|
|
134
|
+
const createCockpit = () => {
|
|
135
|
+
const path = Skia.Path.Make();
|
|
136
|
+
const centerX = canvasSize / 2;
|
|
137
|
+
const centerY = canvasSize / 2;
|
|
138
|
+
const cockpitSize = size * 0.4;
|
|
139
|
+
path.addOval({
|
|
140
|
+
x: centerX - cockpitSize / 2,
|
|
141
|
+
y: centerY - size * 0.4 - cockpitSize / 2,
|
|
142
|
+
width: cockpitSize,
|
|
143
|
+
height: cockpitSize * 0.8
|
|
144
|
+
});
|
|
145
|
+
return path;
|
|
146
|
+
};
|
|
147
|
+
const spacecraftBody = createSpacecraftBody();
|
|
148
|
+
const {
|
|
149
|
+
leftWing,
|
|
150
|
+
rightWing
|
|
151
|
+
} = createWings();
|
|
152
|
+
const cockpit = createCockpit();
|
|
153
|
+
const centerX = canvasSize / 2;
|
|
154
|
+
const centerY = canvasSize / 2;
|
|
155
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
156
|
+
style: [{
|
|
157
|
+
position: 'absolute',
|
|
158
|
+
left: spacecraft.x - canvasSize / 2,
|
|
159
|
+
top: spacecraft.y - canvasSize / 2,
|
|
160
|
+
width: canvasSize,
|
|
161
|
+
height: canvasSize
|
|
162
|
+
}, animatedStyle],
|
|
163
|
+
children: /*#__PURE__*/_jsx(Canvas, {
|
|
164
|
+
style: {
|
|
165
|
+
width: canvasSize,
|
|
166
|
+
height: canvasSize
|
|
167
|
+
},
|
|
168
|
+
children: /*#__PURE__*/_jsxs(Group, {
|
|
169
|
+
children: [/*#__PURE__*/_jsxs(Group, {
|
|
170
|
+
children: [/*#__PURE__*/_jsx(Shadow, {
|
|
171
|
+
dx: 2,
|
|
172
|
+
dy: 4,
|
|
173
|
+
blur: 6,
|
|
174
|
+
color: "rgba(0,0,0,0.4)"
|
|
175
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
176
|
+
path: leftWing,
|
|
177
|
+
color: "rgba(0,100,200,0.6)"
|
|
178
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
179
|
+
path: rightWing,
|
|
180
|
+
color: "rgba(0,100,200,0.6)"
|
|
181
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
182
|
+
path: spacecraftBody,
|
|
183
|
+
color: "rgba(0,150,255,0.7)"
|
|
184
|
+
})]
|
|
185
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
186
|
+
cx: centerX,
|
|
187
|
+
cy: centerY,
|
|
188
|
+
r: size * 0.8,
|
|
189
|
+
color: `rgba(0, 255, 255, ${0.1 + energyField.value * 0.3})`
|
|
190
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
191
|
+
cx: centerX,
|
|
192
|
+
cy: centerY,
|
|
193
|
+
r: size * 0.6,
|
|
194
|
+
color: `rgba(100, 200, 255, ${0.15 + energyField.value * 0.25})`
|
|
195
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
196
|
+
path: spacecraftBody,
|
|
197
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
198
|
+
start: vec(centerX - size * 0.4, centerY - size * 0.6),
|
|
199
|
+
end: vec(centerX + size * 0.4, centerY + size * 0.6),
|
|
200
|
+
colors: ['#00ffff', '#00d4ff', '#0099ff', '#0066cc', '#003399']
|
|
201
|
+
})
|
|
202
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
203
|
+
path: spacecraftBody,
|
|
204
|
+
children: /*#__PURE__*/_jsx(RadialGradient, {
|
|
205
|
+
c: vec(centerX, centerY - size * 0.2),
|
|
206
|
+
r: size * 0.5,
|
|
207
|
+
colors: [`rgba(255, 100, 255, ${plasmaEffect.value * 0.4})`, `rgba(100, 255, 255, ${plasmaEffect.value * 0.2})`, 'rgba(0, 0, 0, 0)']
|
|
208
|
+
})
|
|
209
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
210
|
+
path: leftWing,
|
|
211
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
212
|
+
start: vec(centerX - size * 0.8, centerY - size * 0.2),
|
|
213
|
+
end: vec(centerX - size * 0.2, centerY + size * 0.2),
|
|
214
|
+
colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
|
|
215
|
+
})
|
|
216
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
217
|
+
path: rightWing,
|
|
218
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
219
|
+
start: vec(centerX + size * 0.2, centerY - size * 0.2),
|
|
220
|
+
end: vec(centerX + size * 0.8, centerY + size * 0.2),
|
|
221
|
+
colors: ['#00ccff', '#0099cc', '#006699', '#003366', '#001133']
|
|
222
|
+
})
|
|
223
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
224
|
+
path: leftWing,
|
|
225
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
226
|
+
start: vec(centerX - size * 0.6, centerY),
|
|
227
|
+
end: vec(centerX - size * 0.9, centerY),
|
|
228
|
+
colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
|
|
229
|
+
})
|
|
230
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
231
|
+
path: rightWing,
|
|
232
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
233
|
+
start: vec(centerX + size * 0.6, centerY),
|
|
234
|
+
end: vec(centerX + size * 0.9, centerY),
|
|
235
|
+
colors: ['rgba(0, 255, 255, 0)', `rgba(0, 255, 255, ${energyField.value * 0.6})`, `rgba(255, 100, 255, ${energyField.value * 0.4})`]
|
|
236
|
+
})
|
|
237
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
238
|
+
path: cockpit,
|
|
239
|
+
children: /*#__PURE__*/_jsx(RadialGradient, {
|
|
240
|
+
c: vec(centerX, centerY - size * 0.4),
|
|
241
|
+
r: size * 0.3,
|
|
242
|
+
colors: ['rgba(255,255,255,0.8)', 'rgba(100,200,255,0.6)', 'rgba(0,100,200,0.8)']
|
|
243
|
+
})
|
|
244
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
245
|
+
cx: centerX - size * 0.15,
|
|
246
|
+
cy: centerY + size * 0.5,
|
|
247
|
+
r: size * 0.08,
|
|
248
|
+
children: /*#__PURE__*/_jsx(RadialGradient, {
|
|
249
|
+
c: vec(centerX - size * 0.15, centerY + size * 0.5),
|
|
250
|
+
r: size * 0.08,
|
|
251
|
+
colors: ['#ffffff', '#ffff00', '#ff6600', '#ff0000']
|
|
252
|
+
})
|
|
253
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
254
|
+
cx: centerX + size * 0.15,
|
|
255
|
+
cy: centerY + size * 0.5,
|
|
256
|
+
r: size * 0.08,
|
|
257
|
+
children: /*#__PURE__*/_jsx(RadialGradient, {
|
|
258
|
+
c: vec(centerX + size * 0.15, centerY + size * 0.5),
|
|
259
|
+
r: size * 0.08,
|
|
260
|
+
colors: ['#ffffff', '#ffff00', '#ff6600', '#ff0000']
|
|
261
|
+
})
|
|
262
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
263
|
+
cx: centerX - size * 0.15,
|
|
264
|
+
cy: centerY + size * 0.5,
|
|
265
|
+
r: size * 0.15 * (1 + engineGlow.value * 0.5),
|
|
266
|
+
color: `rgba(255, 100, 0, ${0.3 + engineGlow.value * 0.4})`
|
|
267
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
268
|
+
cx: centerX + size * 0.15,
|
|
269
|
+
cy: centerY + size * 0.5,
|
|
270
|
+
r: size * 0.15 * (1 + engineGlow.value * 0.5),
|
|
271
|
+
color: `rgba(255, 100, 0, ${0.3 + engineGlow.value * 0.4})`
|
|
272
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
273
|
+
cx: centerX - size * 0.15,
|
|
274
|
+
cy: centerY + size * 0.5,
|
|
275
|
+
r: size * 0.25 * (1 + engineGlow.value * 0.3),
|
|
276
|
+
color: `rgba(255, 200, 0, ${0.1 + engineGlow.value * 0.2})`
|
|
277
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
278
|
+
cx: centerX + size * 0.15,
|
|
279
|
+
cy: centerY + size * 0.5,
|
|
280
|
+
r: size * 0.25 * (1 + engineGlow.value * 0.3),
|
|
281
|
+
color: `rgba(255, 200, 0, ${0.1 + engineGlow.value * 0.2})`
|
|
282
|
+
}), isControlled && /*#__PURE__*/_jsxs(Group, {
|
|
283
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
284
|
+
cx: centerX - size * 0.15,
|
|
285
|
+
cy: centerY + size * 0.65,
|
|
286
|
+
r: size * 0.12 * thrusterPulse.value,
|
|
287
|
+
color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
|
|
288
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
289
|
+
cx: centerX + size * 0.15,
|
|
290
|
+
cy: centerY + size * 0.65,
|
|
291
|
+
r: size * 0.12 * thrusterPulse.value,
|
|
292
|
+
color: `rgba(255, 50, 0, ${0.6 + plasmaEffect.value * 0.3})`
|
|
293
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
294
|
+
cx: centerX - size * 0.15,
|
|
295
|
+
cy: centerY + size * 0.8,
|
|
296
|
+
r: size * 0.08 * thrusterPulse.value,
|
|
297
|
+
color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
|
|
298
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
299
|
+
cx: centerX + size * 0.15,
|
|
300
|
+
cy: centerY + size * 0.8,
|
|
301
|
+
r: size * 0.08 * thrusterPulse.value,
|
|
302
|
+
color: `rgba(255, 150, 0, ${0.4 + engineGlow.value * 0.3})`
|
|
303
|
+
})]
|
|
304
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
305
|
+
cx: centerX - size * 0.8,
|
|
306
|
+
cy: centerY,
|
|
307
|
+
r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
|
|
308
|
+
color: `rgba(0, 255, 0, ${0.8 + energyField.value * 0.2})`
|
|
309
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
310
|
+
cx: centerX - size * 0.8,
|
|
311
|
+
cy: centerY,
|
|
312
|
+
r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
|
|
313
|
+
color: `rgba(0, 255, 0, ${0.3 + energyField.value * 0.3})`
|
|
314
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
315
|
+
cx: centerX + size * 0.8,
|
|
316
|
+
cy: centerY,
|
|
317
|
+
r: size * 0.06 * (1 + plasmaEffect.value * 0.3),
|
|
318
|
+
color: `rgba(255, 0, 0, ${0.8 + energyField.value * 0.2})`
|
|
319
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
320
|
+
cx: centerX + size * 0.8,
|
|
321
|
+
cy: centerY,
|
|
322
|
+
r: size * 0.12 * (1 + plasmaEffect.value * 0.2),
|
|
323
|
+
color: `rgba(255, 0, 0, ${0.3 + energyField.value * 0.3})`
|
|
324
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
325
|
+
path: spacecraftBody,
|
|
326
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
327
|
+
start: vec(centerX - size * 0.3, centerY - size * 0.5),
|
|
328
|
+
end: vec(centerX - size * 0.1, centerY - size * 0.3),
|
|
329
|
+
colors: [`rgba(255,255,255,${0.6 + plasmaEffect.value * 0.2})`, `rgba(100,255,255,${0.3 + energyField.value * 0.2})`, 'rgba(255,255,255,0)']
|
|
330
|
+
})
|
|
331
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
332
|
+
cx: centerX - size * 0.1,
|
|
333
|
+
cy: centerY - size * 0.45,
|
|
334
|
+
r: size * 0.08 * (1 + hoverFloat.value * 0.1),
|
|
335
|
+
color: `rgba(255,255,255,${0.8 + plasmaEffect.value * 0.2})`
|
|
336
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
337
|
+
cx: centerX + size * 0.05,
|
|
338
|
+
cy: centerY - size * 0.35,
|
|
339
|
+
r: size * 0.04,
|
|
340
|
+
color: `rgba(100,255,255,${0.6 + energyField.value * 0.3})`
|
|
341
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
342
|
+
cx: centerX,
|
|
343
|
+
cy: centerY,
|
|
344
|
+
r: size * 0.08,
|
|
345
|
+
children: /*#__PURE__*/_jsx(RadialGradient, {
|
|
346
|
+
c: vec(centerX, centerY),
|
|
347
|
+
r: size * 0.08,
|
|
348
|
+
colors: [`rgba(255, 255, 255, ${0.9 + plasmaEffect.value * 0.1})`, `rgba(0, 255, 255, ${0.7 + energyField.value * 0.2})`, `rgba(0, 100, 255, ${0.5 + plasmaEffect.value * 0.3})`, 'rgba(0, 0, 0, 0)']
|
|
349
|
+
})
|
|
350
|
+
}), Array.from({
|
|
351
|
+
length: 8
|
|
352
|
+
}, (_, i) => /*#__PURE__*/_jsx(Circle, {
|
|
353
|
+
cx: centerX + Math.cos(i * Math.PI / 4) * size * 0.3,
|
|
354
|
+
cy: centerY + Math.sin(i * Math.PI / 4) * size * 0.3,
|
|
355
|
+
r: size * 0.02 * (1 + Math.sin(energyField.value * Math.PI + i) * 0.5),
|
|
356
|
+
color: `rgba(0, 255, 255, ${0.3 + Math.abs(Math.sin(plasmaEffect.value * Math.PI + i)) * 0.4})`
|
|
357
|
+
}, i))]
|
|
358
|
+
})
|
|
359
|
+
})
|
|
360
|
+
});
|
|
361
|
+
};
|
|
362
|
+
//# sourceMappingURL=Spacecraft3D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","Canvas","Circle","Path","Skia","vec","Group","Shadow","LinearGradient","RadialGradient","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","interpolate","Extrapolation","Animated","jsx","_jsx","jsxs","_jsxs","Spacecraft3D","spacecraft","isControlled","size","canvasSize","engineGlow","thrusterPulse","hoverFloat","energyField","plasmaEffect","value","duration","animatedStyle","scale","floatY","CLAMP","transform","translateY","createSpacecraftBody","path","Make","centerX","centerY","bodyWidth","bodyHeight","addOval","x","y","width","height","createWings","leftWing","rightWing","wingWidth","wingHeight","moveTo","lineTo","close","createCockpit","cockpitSize","spacecraftBody","cockpit","View","style","position","left","top","children","dx","dy","blur","color","cx","cy","r","start","end","colors","c","Array","from","length","_","i","Math","cos","PI","sin","abs"],"sourceRoot":"../../../../../src","sources":["games/space-traveller/components/Spacecraft3D.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { COLORS } from "../SpaceTravellerService.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const SpacecraftPath = ({
|
|
8
|
+
path
|
|
9
|
+
}) => {
|
|
10
|
+
if (path.length < 2) return null;
|
|
11
|
+
return /*#__PURE__*/_jsx(View, {
|
|
12
|
+
style: {
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
top: 0,
|
|
15
|
+
left: 0,
|
|
16
|
+
right: 0,
|
|
17
|
+
bottom: 0
|
|
18
|
+
},
|
|
19
|
+
children: path.map((point, index) => {
|
|
20
|
+
if (index === 0) return null;
|
|
21
|
+
const opacity = index / path.length * 0.5;
|
|
22
|
+
return /*#__PURE__*/_jsx(View, {
|
|
23
|
+
style: {
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
left: point.x - 2,
|
|
26
|
+
top: point.y - 2,
|
|
27
|
+
width: 4,
|
|
28
|
+
height: 4,
|
|
29
|
+
borderRadius: 2,
|
|
30
|
+
backgroundColor: COLORS.SPACECRAFT,
|
|
31
|
+
opacity
|
|
32
|
+
}
|
|
33
|
+
}, index);
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=SpacecraftPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","COLORS","jsx","_jsx","SpacecraftPath","path","length","style","position","top","left","right","bottom","children","map","point","index","opacity","x","y","width","height","borderRadius","backgroundColor","SPACECRAFT"],"sourceRoot":"../../../../../src","sources":["games/space-traveller/components/SpacecraftPath.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,MAAM,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMlD,OAAO,MAAMC,cAA6C,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EACzE,IAAIA,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;EAEhC,oBACEH,IAAA,CAACH,IAAI;IAACO,KAAK,EAAE;MAAEC,QAAQ,EAAE,UAAU;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAE;IAAAC,QAAA,EACzER,IAAI,CAACS,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;MAC1B,IAAIA,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI;MAC5B,MAAMC,OAAO,GAAID,KAAK,GAAGX,IAAI,CAACC,MAAM,GAAI,GAAG;MAC3C,oBACEH,IAAA,CAACH,IAAI;QAEHO,KAAK,EAAE;UACLC,QAAQ,EAAE,UAAU;UACpBE,IAAI,EAAEK,KAAK,CAACG,CAAC,GAAG,CAAC;UACjBT,GAAG,EAAEM,KAAK,CAACI,CAAC,GAAG,CAAC;UAChBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CAAC;UACTC,YAAY,EAAE,CAAC;UACfC,eAAe,EAAEtB,MAAM,CAACuB,UAAU;UAClCP;QACF;MAAE,GAVGD,KAWN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { ScoreBoard } from "./ScoreBoard.js";
|
|
4
|
+
export { AsteroidComponent } from "./AsteroidComponent.js";
|
|
5
|
+
export { Spacecraft3D } from "./Spacecraft3D.js";
|
|
6
|
+
export { ParticleComponent } from "./ParticleComponent.js";
|
|
7
|
+
export { SpacecraftPath } from "./SpacecraftPath.js";
|
|
8
|
+
export { GameArea } from "./GameArea.js";
|
|
9
|
+
export { GameControls } from "./GameControls.js";
|
|
10
|
+
export { GameOverModal } from "./GameOverModal.js";
|
|
11
|
+
export { SettingsModal } from "./SettingsModal.js";
|
|
12
|
+
export { GameBackground } from "./GameBackground.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ScoreBoard","AsteroidComponent","Spacecraft3D","ParticleComponent","SpacecraftPath","GameArea","GameControls","GameOverModal","SettingsModal","GameBackground"],"sourceRoot":"../../../../../src","sources":["games/space-traveller/components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Games
|
|
4
|
+
export * from "./games/balloon-blaster/BalloonBlaster.js";
|
|
5
|
+
export * from "./games/fruit-slicer/FruitSlicer.js";
|
|
6
|
+
export * from "./games/maze-runner/MazeRunner.js";
|
|
7
|
+
export * from "./games/space-traveller/SpaceTraveller.js";
|
|
8
|
+
export * from "./games/cat-popper/CatPopper.js";
|
|
9
|
+
|
|
10
|
+
// Services
|
|
11
|
+
export * from "./services/GamesService.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,2CAAwC;AACtD,cAAc,qCAAkC;AAChD,cAAc,mCAAgC;AAC9C,cAAc,2CAAwC;AACtD,cAAc,iCAA8B;;AAE5C;AACA,cAAc,4BAAyB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|