lainTSX/src/core/input-handlers/handleSsknSceneInput.ts

27 lines
805 B
TypeScript
Raw Normal View History

import { changeSsknComponent, exitSskn, upgradeSskn } from "../eventTemplates";
import { GameEvent, SsknSceneContext } from "../../types/types";
2021-02-25 17:47:42 +00:00
const handleSsknSceneInput = (
ssknSceneContext: SsknSceneContext,
keyPress: string
): GameEvent | undefined => {
2021-02-25 17:47:42 +00:00
const { activeSsknComponent, activeNode } = ssknSceneContext;
switch (keyPress) {
case "UP":
case "DOWN":
const direction = keyPress.toLowerCase();
const newComponent = direction === "up" ? "ok" : "cancel";
return changeSsknComponent({ activeSsknComponent: newComponent });
case "CIRCLE":
switch (activeSsknComponent) {
case "ok":
return upgradeSskn({ activeNode: activeNode });
case "cancel":
return exitSskn;
}
}
};
2021-02-25 17:47:42 +00:00
export default handleSsknSceneInput;