diff options
Diffstat (limited to 'src/reducers')
| -rw-r--r-- | src/reducers/interaction-level.js | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/reducers/interaction-level.js b/src/reducers/interaction-level.js index 4b0b3641..5ca917c7 100644 --- a/src/reducers/interaction-level.js +++ b/src/reducers/interaction-level.js @@ -1,4 +1,8 @@ -import {GO_FROM_BUILDING_TO_ROOM, GO_FROM_ROOM_TO_BUILDING} from "../actions/interaction-level"; +import { + GO_DOWN_ONE_INTERACTION_LEVEL, + GO_FROM_BUILDING_TO_ROOM, + GO_FROM_ROOM_TO_OBJECT +} from "../actions/interaction-level"; export function interactionLevel(state = {mode: "BUILDING"}, action) { switch (action.type) { @@ -7,10 +11,25 @@ export function interactionLevel(state = {mode: "BUILDING"}, action) { mode: "ROOM", roomId: action.roomId }; - case GO_FROM_ROOM_TO_BUILDING: + case GO_FROM_ROOM_TO_OBJECT: return { - mode: "BUILDING" + mode: "OBJECT", + roomId: state.roomId, + tileId: action.tileId }; + case GO_DOWN_ONE_INTERACTION_LEVEL: + if (state.mode === "ROOM") { + return { + mode: "BUILDING" + }; + } else if (state.mode === "OBJECT") { + return { + mode: "ROOM", + roomId: state.roomId + }; + } else { + return state; + } default: return state; } |
