2021-02-20 14:35:23 +00:00
|
|
|
import { changeSsknComponent, exitSskn, upgradeSskn } from "../eventTemplates";
|
2021-02-23 17:04:53 +00:00
|
|
|
import { GameEvent, SsknSceneContext } from "../../types/types";
|
2021-02-17 16:21:27 +00:00
|
|
|
|
2021-02-20 14:35:23 +00:00
|
|
|
const handleSsknSceneKeyPress = (
|
|
|
|
ssknSceneContext: SsknSceneContext
|
|
|
|
): GameEvent | undefined => {
|
|
|
|
const {
|
|
|
|
keyPress,
|
|
|
|
activeSsknComponent,
|
|
|
|
activeNode,
|
|
|
|
gameProgress,
|
|
|
|
} = ssknSceneContext;
|
2021-02-17 16:21:27 +00:00
|
|
|
|
|
|
|
switch (keyPress) {
|
|
|
|
case "UP":
|
|
|
|
case "DOWN":
|
2021-02-20 14:35:23 +00:00
|
|
|
const direction = keyPress.toLowerCase();
|
|
|
|
const newComponent = direction === "up" ? "ok" : "cancel";
|
|
|
|
return changeSsknComponent({ activeSsknComponent: newComponent });
|
2021-02-17 16:21:27 +00:00
|
|
|
case "CIRCLE":
|
2021-02-20 14:35:23 +00:00
|
|
|
switch (activeSsknComponent) {
|
|
|
|
case "ok":
|
2021-02-23 17:04:53 +00:00
|
|
|
return upgradeSskn({ activeNode: activeNode });
|
2021-02-20 14:35:23 +00:00
|
|
|
case "cancel":
|
|
|
|
return exitSskn;
|
2021-02-17 16:21:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export default handleSsknSceneKeyPress;
|