lainTSX/src/core/input-handlers/handleSsknSceneInput.ts
2021-02-25 21:47:42 +04:00

26 lines
805 B
TypeScript

import { changeSsknComponent, exitSskn, upgradeSskn } from "../eventTemplates";
import { GameEvent, SsknSceneContext } from "../../types/types";
const handleSsknSceneInput = (
ssknSceneContext: SsknSceneContext,
keyPress: string
): GameEvent | undefined => {
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;
}
}
};
export default handleSsknSceneInput;