mirror of
https://github.com/ad044/lainTSX.git
synced 2024-10-22 23:19:06 +00:00
word select algo works i think
This commit is contained in:
parent
7a10c7cfe0
commit
1e8a8e6aab
4 changed files with 19 additions and 19 deletions
|
@ -95,7 +95,9 @@ const KeyPressHandler = () => {
|
|||
const { contextProvider, handler, setters } = { ...sceneFns };
|
||||
const ctx = { ...contextProvider(), keyPress: keyPress };
|
||||
const event = handler(ctx);
|
||||
setters.forEach((fn) => fn(event));
|
||||
if (event) {
|
||||
setters.forEach((fn) => fn(event));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ const siteManager = (eventState: any) => {
|
|||
const setRotX = useStore.getState().setSiteRotX;
|
||||
|
||||
const dispatchAction = (eventState: any) => {
|
||||
console.log(eventState.siteRotY);
|
||||
switch (eventState.event) {
|
||||
case "site_left":
|
||||
case "site_right":
|
||||
|
|
|
@ -114,7 +114,7 @@ export const useStore = create(
|
|||
combine(
|
||||
{
|
||||
// scene data
|
||||
currentScene: "main",
|
||||
currentScene: "media",
|
||||
|
||||
// game progress
|
||||
gameProgress: game_progress,
|
||||
|
@ -466,6 +466,6 @@ export const getMediaSceneContext = () => {
|
|||
rightSideComponentIdx: state.mediaComponentMatrixIndices.rightSideIdx,
|
||||
wordPosStateIdx: state.mediaWordPosStateIdx,
|
||||
activeNode: state.activeNode,
|
||||
site: state.activeSite,
|
||||
activeSite: state.activeSite,
|
||||
};
|
||||
};
|
||||
|
|
|
@ -5,13 +5,11 @@ import {
|
|||
NodeDataType,
|
||||
SiteType,
|
||||
} from "../components/MainScene/SyncedComponents/Site";
|
||||
import { NodeLib } from "three/examples/jsm/nodes/core/NodeLib";
|
||||
import { isNodeVisible } from "./node-utils";
|
||||
|
||||
export const findNodeFromWord = (
|
||||
wordLabel: string,
|
||||
activeNode: NodeDataType,
|
||||
site: string
|
||||
site: "a" | "b"
|
||||
) => {
|
||||
const labelToIdx = (() => {
|
||||
switch (wordLabel) {
|
||||
|
@ -46,30 +44,29 @@ export const findNodeFromWord = (
|
|||
//todo check if visible
|
||||
const pos = chosenNode.id.substr(2);
|
||||
|
||||
const matIdx = Object.entries(node_matrices).flatMap((matrixData) =>
|
||||
matrixData[1].filter((row) => row[0] === pos).length > 0
|
||||
? matrixData[0]
|
||||
: []
|
||||
const matrixIndices = Object.entries(node_matrices).flatMap((matrixData) =>
|
||||
matrixData[1].flatMap((row, idx) =>
|
||||
row[0] === pos ? { matrixIdx: matrixData[0], rowIdx: idx, colIdx: 0 } : []
|
||||
)
|
||||
)[0];
|
||||
|
||||
const rotValues = {
|
||||
"1": 6 * (-Math.PI / 4),
|
||||
"2": 5 * (-Math.PI / 4),
|
||||
"3": 4 * (-Math.PI / 4),
|
||||
"4": 3 * (-Math.PI / 4),
|
||||
"5": 2 * (-Math.PI / 4),
|
||||
"6": -Math.PI / 4,
|
||||
"1": 2 * (Math.PI / 4),
|
||||
"2": 3 * (Math.PI / 4),
|
||||
"3": 4 * (Math.PI / 4),
|
||||
"4": 5 * (Math.PI / 4),
|
||||
"5": 6 * (Math.PI / 4),
|
||||
"6": 7 * (Math.PI / 4),
|
||||
"7": 0,
|
||||
"8": Math.PI / 4,
|
||||
};
|
||||
|
||||
console.log(chosenNode);
|
||||
return {
|
||||
node: {
|
||||
...chosenNode,
|
||||
matrixIndices: { colIdx: 0, matrixIdx: matIdx, rowIdx: 0 },
|
||||
matrixIndices: matrixIndices,
|
||||
},
|
||||
siteRotY: rotValues[matIdx as keyof typeof rotValues],
|
||||
siteRotY: rotValues[matrixIndices.matrixIdx as keyof typeof rotValues],
|
||||
level: chosenNode.id.substr(0, 2),
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue