mirror of
https://github.com/ad044/lainTSX.git
synced 2024-10-22 23:19:06 +00:00
user authorization fully functional, bugfixes, all mobile buttons implemtned
This commit is contained in:
parent
42b5857f8a
commit
613764f91c
12 changed files with 152 additions and 96 deletions
|
@ -14,7 +14,6 @@ import ChangeDiscScene from "./scenes/ChangeDiscScene";
|
||||||
import EndScene from "./scenes/EndScene";
|
import EndScene from "./scenes/EndScene";
|
||||||
import IdleMediaScene from "./scenes/IdleMediaScene";
|
import IdleMediaScene from "./scenes/IdleMediaScene";
|
||||||
import InputHandler from "./components/InputHandler";
|
import InputHandler from "./components/InputHandler";
|
||||||
import { Html } from "@react-three/drei";
|
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const currentScene = useStore((state) => state.currentScene);
|
const currentScene = useStore((state) => state.currentScene);
|
||||||
|
|
|
@ -18,6 +18,7 @@ import sleep from "../../utils/sleep";
|
||||||
|
|
||||||
type BootAnimationProps = {
|
type BootAnimationProps = {
|
||||||
visible: boolean;
|
visible: boolean;
|
||||||
|
mainMenuVisible: boolean;
|
||||||
activeSubScene: string;
|
activeSubScene: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -134,19 +135,21 @@ const BootAnimation = (props: BootAnimationProps) => {
|
||||||
|
|
||||||
await sleep(100);
|
await sleep(100);
|
||||||
currentBootStatusTextTex.offset.y = 0.79;
|
currentBootStatusTextTex.offset.y = 0.79;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
}, [bootBackgroundTextTex, currentBootStatusTextTex.offset, props.visible]);
|
||||||
|
|
||||||
await sleep(1700);
|
useEffect(() => {
|
||||||
|
if (props.mainMenuVisible) {
|
||||||
currentBootStatusTextTex.offset.x = 0.5;
|
currentBootStatusTextTex.offset.x = 0.5;
|
||||||
currentBootStatusTextTex.offset.y = 0.005;
|
currentBootStatusTextTex.offset.y = 0.005;
|
||||||
setBootOpacity(0);
|
setBootOpacity(0);
|
||||||
setGraySquarePosY(0);
|
setGraySquarePosY(0);
|
||||||
setLofPosX(1.3);
|
setLofPosX(1.3);
|
||||||
setLofPosY(1);
|
setLofPosY(1);
|
||||||
|
|
||||||
setBackgroundFloatingTextShown(true);
|
setBackgroundFloatingTextShown(true);
|
||||||
})();
|
|
||||||
}
|
}
|
||||||
}, [bootBackgroundTextTex, currentBootStatusTextTex.offset, props.visible]);
|
}, [currentBootStatusTextTex.offset, props.mainMenuVisible]);
|
||||||
|
|
||||||
const [bootOpacity, setBootOpacity] = useState(1);
|
const [bootOpacity, setBootOpacity] = useState(1);
|
||||||
const [graySquarePosY, setGraySquarePosY] = useState(-0.8);
|
const [graySquarePosY, setGraySquarePosY] = useState(-0.8);
|
||||||
|
@ -196,7 +199,7 @@ const BootAnimation = (props: BootAnimationProps) => {
|
||||||
opacity={animationState.graySquareOpacity}
|
opacity={animationState.graySquareOpacity}
|
||||||
/>
|
/>
|
||||||
</a.sprite>
|
</a.sprite>
|
||||||
{props.activeSubScene !== "authorize_user" ? (
|
{props.activeSubScene !== "authorize_user" && (
|
||||||
<>
|
<>
|
||||||
{/*we have two of each to create looping effect*/}
|
{/*we have two of each to create looping effect*/}
|
||||||
<a.sprite
|
<a.sprite
|
||||||
|
@ -315,8 +318,6 @@ const BootAnimation = (props: BootAnimationProps) => {
|
||||||
/>
|
/>
|
||||||
</sprite>
|
</sprite>
|
||||||
</>
|
</>
|
||||||
) : (
|
|
||||||
<></>
|
|
||||||
)}
|
)}
|
||||||
</group>
|
</group>
|
||||||
);
|
);
|
||||||
|
|
|
@ -8,9 +8,7 @@ import authorizeInactiveLetters from "../../static/sprites/boot/authorize_inacti
|
||||||
import authorizeActiveLetters from "../../static/sprites/boot/authorize_active_letters.png";
|
import authorizeActiveLetters from "../../static/sprites/boot/authorize_active_letters.png";
|
||||||
import { useLoader } from "react-three-fiber";
|
import { useLoader } from "react-three-fiber";
|
||||||
import * as THREE from "three";
|
import * as THREE from "three";
|
||||||
import { OrbitControls } from "@react-three/drei";
|
|
||||||
import { useStore } from "../../store";
|
import { useStore } from "../../store";
|
||||||
import usePrevious from "../../hooks/usePrevious";
|
|
||||||
import StaticJpCharacter from "../TextRenderer/StaticJpCharacter";
|
import StaticJpCharacter from "../TextRenderer/StaticJpCharacter";
|
||||||
|
|
||||||
type BootAuthorizeUserProps = {
|
type BootAuthorizeUserProps = {
|
||||||
|
@ -44,7 +42,6 @@ const BootAuthorizeUser = (props: BootAuthorizeUserProps) => {
|
||||||
authorizeActiveLetters
|
authorizeActiveLetters
|
||||||
);
|
);
|
||||||
|
|
||||||
const subscene = useStore((state) => state.bootSubscene);
|
|
||||||
const authorizeUserMatrixIndices = useStore(
|
const authorizeUserMatrixIndices = useStore(
|
||||||
(state) => state.authorizeUserMatrixIndices
|
(state) => state.authorizeUserMatrixIndices
|
||||||
);
|
);
|
||||||
|
@ -115,8 +112,9 @@ const BootAuthorizeUser = (props: BootAuthorizeUserProps) => {
|
||||||
</sprite>
|
</sprite>
|
||||||
<sprite
|
<sprite
|
||||||
scale={[0.2, 0.2, 0]}
|
scale={[0.2, 0.2, 0]}
|
||||||
position={[-0.2, -0.3, 0]}
|
position={[-0.19, -0.3, 0]}
|
||||||
renderOrder={3}
|
renderOrder={3}
|
||||||
|
visible={!(playerName.length === 8)}
|
||||||
>
|
>
|
||||||
<spriteMaterial
|
<spriteMaterial
|
||||||
map={authorizeOrangeSquareTex}
|
map={authorizeOrangeSquareTex}
|
||||||
|
@ -125,8 +123,15 @@ const BootAuthorizeUser = (props: BootAuthorizeUserProps) => {
|
||||||
depthTest={false}
|
depthTest={false}
|
||||||
/>
|
/>
|
||||||
</sprite>
|
</sprite>
|
||||||
|
<group
|
||||||
<group position={[playerName.length * -0.25 - 0.2, -0.27, 0]}>
|
position={[
|
||||||
|
(playerName.length === 8 ? 0.2 : 0) +
|
||||||
|
playerName.length * -0.2 -
|
||||||
|
0.2,
|
||||||
|
-0.29,
|
||||||
|
0,
|
||||||
|
]}
|
||||||
|
>
|
||||||
{playerName.map((char, idx) => (
|
{playerName.map((char, idx) => (
|
||||||
<StaticJpCharacter char={char} charIdx={idx} key={idx} />
|
<StaticJpCharacter char={char} charIdx={idx} key={idx} />
|
||||||
))}
|
))}
|
||||||
|
@ -144,11 +149,10 @@ const BootAuthorizeUser = (props: BootAuthorizeUserProps) => {
|
||||||
/>
|
/>
|
||||||
</sprite>
|
</sprite>
|
||||||
|
|
||||||
<OrbitControls />
|
|
||||||
<group position={[-1.15, 0.4, 0.3]} rotation={[-0.8, 0, -0.3]}>
|
<group position={[-1.15, 0.4, 0.3]} rotation={[-0.8, 0, -0.3]}>
|
||||||
<mesh
|
<mesh
|
||||||
scale={[4, 1.28, 0]}
|
scale={[4, 1.28, 0]}
|
||||||
position={[3.35, -0.7, 0]}
|
position={[1.25, -0.45, 0]}
|
||||||
ref={bgLettersRef}
|
ref={bgLettersRef}
|
||||||
>
|
>
|
||||||
<planeBufferGeometry attach="geometry" />
|
<planeBufferGeometry attach="geometry" />
|
||||||
|
@ -156,7 +160,6 @@ const BootAuthorizeUser = (props: BootAuthorizeUserProps) => {
|
||||||
map={authorizeInactiveLettersTex}
|
map={authorizeInactiveLettersTex}
|
||||||
attach="material"
|
attach="material"
|
||||||
transparent={true}
|
transparent={true}
|
||||||
side={THREE.DoubleSide}
|
|
||||||
/>
|
/>
|
||||||
</mesh>
|
</mesh>
|
||||||
<mesh
|
<mesh
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {
|
||||||
getRandomIdleMedia,
|
getRandomIdleMedia,
|
||||||
} from "../helpers/idle-helpers";
|
} from "../helpers/idle-helpers";
|
||||||
import handleEvent from "../core/handleEvent";
|
import handleEvent from "../core/handleEvent";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
|
||||||
type IdleManagerProps = {
|
type IdleManagerProps = {
|
||||||
lainIdleTimerRef: any;
|
lainIdleTimerRef: any;
|
||||||
|
@ -21,6 +22,12 @@ const IdleManager = (props: IdleManagerProps) => {
|
||||||
const mainSubscene = useStore((state) => state.mainSubscene);
|
const mainSubscene = useStore((state) => state.mainSubscene);
|
||||||
const scene = useStore((state) => state.currentScene);
|
const scene = useStore((state) => state.currentScene);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (scene !== "main") {
|
||||||
|
props.idleSceneTimerRef.current = -1;
|
||||||
|
}
|
||||||
|
}, [props.idleSceneTimerRef, scene]);
|
||||||
|
|
||||||
useFrame(() => {
|
useFrame(() => {
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
if (
|
if (
|
||||||
|
|
|
@ -20,6 +20,8 @@ import circleButton from "../static/sprites/controller/circle.png";
|
||||||
import squareButton from "../static/sprites/controller/square.png";
|
import squareButton from "../static/sprites/controller/square.png";
|
||||||
import triangleButton from "../static/sprites/controller/triangle.png";
|
import triangleButton from "../static/sprites/controller/triangle.png";
|
||||||
import crossButton from "../static/sprites/controller/cross.png";
|
import crossButton from "../static/sprites/controller/cross.png";
|
||||||
|
import startButton from "../static/sprites/controller/start.png";
|
||||||
|
import l2Button from "../static/sprites/controller/l2.png";
|
||||||
import * as THREE from "three";
|
import * as THREE from "three";
|
||||||
import { useGesture } from "react-use-gesture";
|
import { useGesture } from "react-use-gesture";
|
||||||
import IdleManager from "./IdleManager";
|
import IdleManager from "./IdleManager";
|
||||||
|
@ -32,6 +34,8 @@ const InputHandler = () => {
|
||||||
const crossButtonTex = useLoader(THREE.TextureLoader, crossButton);
|
const crossButtonTex = useLoader(THREE.TextureLoader, crossButton);
|
||||||
const squareButtonTex = useLoader(THREE.TextureLoader, squareButton);
|
const squareButtonTex = useLoader(THREE.TextureLoader, squareButton);
|
||||||
const triangleButtonTex = useLoader(THREE.TextureLoader, triangleButton);
|
const triangleButtonTex = useLoader(THREE.TextureLoader, triangleButton);
|
||||||
|
const startButtonTex = useLoader(THREE.TextureLoader, startButton);
|
||||||
|
const l2ButtonTex = useLoader(THREE.TextureLoader, l2Button);
|
||||||
|
|
||||||
const timeSinceLastKeyPress = useRef(-1);
|
const timeSinceLastKeyPress = useRef(-1);
|
||||||
|
|
||||||
|
@ -166,7 +170,37 @@ const InputHandler = () => {
|
||||||
<spriteMaterial attach="material" opacity={0} depthTest={false} />
|
<spriteMaterial attach="material" opacity={0} depthTest={false} />
|
||||||
</sprite>
|
</sprite>
|
||||||
|
|
||||||
<group scale={[0.8, 0.8, 0]} position={[3.5, -2, 0]}>
|
<sprite
|
||||||
|
scale={[1.5, 1.5, 0]}
|
||||||
|
position={[-4, 3, 0]}
|
||||||
|
renderOrder={99999}
|
||||||
|
onClick={handleVirtualButtonPress}
|
||||||
|
name={"L2"}
|
||||||
|
>
|
||||||
|
<spriteMaterial
|
||||||
|
attach="material"
|
||||||
|
map={l2ButtonTex}
|
||||||
|
depthTest={false}
|
||||||
|
opacity={0.8}
|
||||||
|
/>
|
||||||
|
</sprite>
|
||||||
|
|
||||||
|
<sprite
|
||||||
|
scale={[1.5, 1.5, 0]}
|
||||||
|
position={[4, 3, 0]}
|
||||||
|
renderOrder={99999}
|
||||||
|
onClick={handleVirtualButtonPress}
|
||||||
|
name={"START"}
|
||||||
|
>
|
||||||
|
<spriteMaterial
|
||||||
|
attach="material"
|
||||||
|
map={startButtonTex}
|
||||||
|
depthTest={false}
|
||||||
|
opacity={0.8}
|
||||||
|
/>
|
||||||
|
</sprite>
|
||||||
|
|
||||||
|
<group scale={[0.8, 0.8, 0]} position={[3.5, -2.3, 0]}>
|
||||||
<sprite
|
<sprite
|
||||||
scale={[1.5, 1.5, 0]}
|
scale={[1.5, 1.5, 0]}
|
||||||
position={[1, 0, 0]}
|
position={[1, 0, 0]}
|
||||||
|
|
|
@ -124,7 +124,7 @@ const LevelSelection = () => {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<group>
|
<>
|
||||||
<a.group position-y={pos.vertPosY} renderOrder={5}>
|
<a.group position-y={pos.vertPosY} renderOrder={5}>
|
||||||
<mesh
|
<mesh
|
||||||
scale={[0.3, 0.4, 0]}
|
scale={[0.3, 0.4, 0]}
|
||||||
|
@ -212,7 +212,7 @@ const LevelSelection = () => {
|
||||||
depthTest={false}
|
depthTest={false}
|
||||||
/>
|
/>
|
||||||
</a.sprite>
|
</a.sprite>
|
||||||
</group>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,8 @@ const StaticJpCharacter = memo((props: { char: string; charIdx: number }) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<mesh
|
<mesh
|
||||||
position={[props.charIdx / 4, 0, 0]}
|
position={[props.charIdx / 5, 0, 0]}
|
||||||
scale={[0.25, 0.25, 0]}
|
scale={[0.2, 0.2, 0]}
|
||||||
geometry={geom}
|
geometry={geom}
|
||||||
renderOrder={205}
|
renderOrder={205}
|
||||||
>
|
>
|
||||||
|
|
|
@ -662,7 +662,7 @@ export const exitUserAuthorization = {
|
||||||
playerName: "",
|
playerName: "",
|
||||||
bootSubscene: "main_menu",
|
bootSubscene: "main_menu",
|
||||||
inputCooldown: 500,
|
inputCooldown: 500,
|
||||||
authorizeUserMatrixIndices: { rowIdx: 0, colIdx: 0 },
|
authorizeUserMatrixIndices: { rowIdx: 1, colIdx: 7 },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
import authorize_user_letters from "../../resources/authorize_user_letters.json";
|
import authorize_user_letters from "../../resources/authorize_user_letters.json";
|
||||||
import handleNameSelection from "../../helpers/name-selection-helpers";
|
import {
|
||||||
|
handleNameSelection,
|
||||||
|
handleUserAuthorizationMove,
|
||||||
|
} from "../../helpers/name-selection-helpers";
|
||||||
import {
|
import {
|
||||||
changeMainMenuComponent,
|
changeMainMenuComponent,
|
||||||
changePromptComponent,
|
changePromptComponent,
|
||||||
|
@ -83,62 +86,21 @@ const handleBootSceneInput = (
|
||||||
} else {
|
} else {
|
||||||
return exitUserAuthorization;
|
return exitUserAuthorization;
|
||||||
}
|
}
|
||||||
case "LEFT": {
|
case "LEFT":
|
||||||
const newMatrixIndices = {
|
case "UP":
|
||||||
...authorizeUserMatrixIndices,
|
case "DOWN":
|
||||||
colIdx:
|
case "RIGHT":
|
||||||
authorizeUserMatrixIndices.colIdx - 1 < 0
|
const direction = keyPress.toLowerCase();
|
||||||
? authorizeUserMatrixIndices.colIdx
|
const newMatrixIndices = handleUserAuthorizationMove(
|
||||||
: authorizeUserMatrixIndices.colIdx - 1,
|
authorizeUserMatrixIndices,
|
||||||
};
|
direction
|
||||||
|
);
|
||||||
|
|
||||||
|
if (newMatrixIndices)
|
||||||
return updateAuthorizeUserLetterMatrixIndices({
|
return updateAuthorizeUserLetterMatrixIndices({
|
||||||
authorizeUserLetterMatrixIndices: newMatrixIndices,
|
authorizeUserLetterMatrixIndices: newMatrixIndices,
|
||||||
});
|
});
|
||||||
}
|
break;
|
||||||
|
|
||||||
case "RIGHT": {
|
|
||||||
const newMatrixIndices = {
|
|
||||||
...authorizeUserMatrixIndices,
|
|
||||||
colIdx:
|
|
||||||
authorizeUserMatrixIndices.colIdx + 1 > 12
|
|
||||||
? authorizeUserMatrixIndices.colIdx
|
|
||||||
: authorizeUserMatrixIndices.colIdx + 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
return updateAuthorizeUserLetterMatrixIndices({
|
|
||||||
authorizeUserLetterMatrixIndices: newMatrixIndices,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
case "DOWN": {
|
|
||||||
const newMatrixIndices = {
|
|
||||||
...authorizeUserMatrixIndices,
|
|
||||||
rowIdx:
|
|
||||||
authorizeUserMatrixIndices.rowIdx + 1 > 4
|
|
||||||
? authorizeUserMatrixIndices.rowIdx
|
|
||||||
: authorizeUserMatrixIndices.rowIdx + 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
return updateAuthorizeUserLetterMatrixIndices({
|
|
||||||
authorizeUserLetterMatrixIndices: newMatrixIndices,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
case "UP": {
|
|
||||||
const newMatrixIndices = {
|
|
||||||
...authorizeUserMatrixIndices,
|
|
||||||
rowIdx:
|
|
||||||
authorizeUserMatrixIndices.rowIdx - 1 < 0
|
|
||||||
? authorizeUserMatrixIndices.rowIdx
|
|
||||||
: authorizeUserMatrixIndices.rowIdx - 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
return updateAuthorizeUserLetterMatrixIndices({
|
|
||||||
authorizeUserLetterMatrixIndices: newMatrixIndices,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
case "CIRCLE":
|
case "CIRCLE":
|
||||||
const chosenCharacter =
|
const chosenCharacter =
|
||||||
authorize_user_letters.matrix[authorizeUserMatrixIndices.rowIdx][
|
authorize_user_letters.matrix[authorizeUserMatrixIndices.rowIdx][
|
||||||
|
@ -148,7 +110,7 @@ const handleBootSceneInput = (
|
||||||
if (chosenCharacter) {
|
if (chosenCharacter) {
|
||||||
const newName = handleNameSelection(playerName, chosenCharacter);
|
const newName = handleNameSelection(playerName, chosenCharacter);
|
||||||
|
|
||||||
if (newName?.length === 8) return;
|
if (newName && newName.length > 8) return;
|
||||||
if (newName !== undefined)
|
if (newName !== undefined)
|
||||||
return updatePlayerName({ playerName: newName });
|
return updatePlayerName({ playerName: newName });
|
||||||
else return failUpdatePlayerName;
|
else return failUpdatePlayerName;
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
// huge thanks to oo for help with this!!
|
import authorize_user_letters from "../resources/authorize_user_letters.json";
|
||||||
|
import { AuthorizeUserMatrixIndices } from "../types/types";
|
||||||
|
|
||||||
const handleNameSelection = (currentString: string, newCharacter: string) => {
|
// huge thanks to oo for help with this!!
|
||||||
|
export const handleNameSelection = (
|
||||||
|
currentString: string,
|
||||||
|
newCharacter: string
|
||||||
|
) => {
|
||||||
// characters that cannot be the first letter
|
// characters that cannot be the first letter
|
||||||
const cantBeFirst = [
|
const cantBeFirst = [
|
||||||
"ン",
|
"ン",
|
||||||
|
@ -120,4 +125,45 @@ const handleNameSelection = (currentString: string, newCharacter: string) => {
|
||||||
return currentString.concat(newCharacter);
|
return currentString.concat(newCharacter);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default handleNameSelection;
|
export const handleUserAuthorizationMove = (
|
||||||
|
matrixIndices: AuthorizeUserMatrixIndices,
|
||||||
|
direction: string
|
||||||
|
): AuthorizeUserMatrixIndices | undefined => {
|
||||||
|
const funcs = {
|
||||||
|
up: (matIndices: AuthorizeUserMatrixIndices) => ({
|
||||||
|
...matIndices,
|
||||||
|
rowIdx: matIndices.rowIdx - 1,
|
||||||
|
}),
|
||||||
|
down: (matIndices: AuthorizeUserMatrixIndices) => ({
|
||||||
|
...matIndices,
|
||||||
|
rowIdx: matIndices.rowIdx + 1,
|
||||||
|
}),
|
||||||
|
left: (matIndices: AuthorizeUserMatrixIndices) => ({
|
||||||
|
...matIndices,
|
||||||
|
colIdx: matIndices.colIdx - 1,
|
||||||
|
}),
|
||||||
|
right: (matIndices: AuthorizeUserMatrixIndices) => ({
|
||||||
|
...matIndices,
|
||||||
|
colIdx: matIndices.colIdx + 1,
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
|
||||||
|
const boundaries = {
|
||||||
|
up: (matIndices: AuthorizeUserMatrixIndices) => matIndices.rowIdx === 0,
|
||||||
|
down: (matIndices: AuthorizeUserMatrixIndices) => matIndices.rowIdx === 4,
|
||||||
|
left: (matIndices: AuthorizeUserMatrixIndices) => matIndices.colIdx === 0,
|
||||||
|
right: (matIndices: AuthorizeUserMatrixIndices) => matIndices.colIdx === 12,
|
||||||
|
};
|
||||||
|
|
||||||
|
const isBoundary = boundaries[direction as keyof typeof boundaries](
|
||||||
|
matrixIndices
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isBoundary) return;
|
||||||
|
|
||||||
|
const res = funcs[direction as keyof typeof funcs](matrixIndices);
|
||||||
|
const chosenCharacter = authorize_user_letters.matrix[res.rowIdx][res.colIdx];
|
||||||
|
|
||||||
|
if (chosenCharacter) return res;
|
||||||
|
else return handleUserAuthorizationMove(res, direction);
|
||||||
|
};
|
||||||
|
|
|
@ -24,7 +24,11 @@ const BootScene = () => {
|
||||||
return (
|
return (
|
||||||
<group position-z={3}>
|
<group position-z={3}>
|
||||||
<BootAccela visible={accelaVisible} />
|
<BootAccela visible={accelaVisible} />
|
||||||
<BootAnimation visible={!accelaVisible} activeSubScene={activeSubscene} />
|
<BootAnimation
|
||||||
|
visible={!accelaVisible}
|
||||||
|
activeSubScene={activeSubscene}
|
||||||
|
mainMenuVisible={mainMenuVisible}
|
||||||
|
/>
|
||||||
<BootMainMenuComponents
|
<BootMainMenuComponents
|
||||||
visible={mainMenuVisible}
|
visible={mainMenuVisible}
|
||||||
activeSubScene={activeSubscene}
|
activeSubScene={activeSubscene}
|
||||||
|
|
|
@ -199,13 +199,13 @@ export const useStore = create(
|
||||||
},
|
},
|
||||||
|
|
||||||
// player name
|
// player name
|
||||||
playerName: "アイウエオ",
|
playerName: "",
|
||||||
|
|
||||||
// boot scene
|
// boot scene
|
||||||
activeMainMenuComponent: "authorize_user",
|
activeMainMenuComponent: "authorize_user",
|
||||||
authorizeUserMatrixIndices: {
|
authorizeUserMatrixIndices: {
|
||||||
rowIdx: 0,
|
rowIdx: 1,
|
||||||
colIdx: 0,
|
colIdx: 7,
|
||||||
},
|
},
|
||||||
bootSubscene: "main_menu",
|
bootSubscene: "main_menu",
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue