diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-17 17:55:04 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:06:03 +0200 |
| commit | eb208a7e2fd020ab5d07d11cc6d52d1e3dcfcc7c (patch) | |
| tree | d2ec8a20408b7b2880e62feaa70fe95a78c484dd /src/reducers/construction-mode.js | |
| parent | 326b74fc39f63f47c71359276601ea93f7345dc6 (diff) | |
Add simulation mode framework
Includes object states in the store (by tick), charting, and progress bars.
Diffstat (limited to 'src/reducers/construction-mode.js')
| -rw-r--r-- | src/reducers/construction-mode.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/reducers/construction-mode.js b/src/reducers/construction-mode.js new file mode 100644 index 00000000..3e0b7542 --- /dev/null +++ b/src/reducers/construction-mode.js @@ -0,0 +1,35 @@ +import {combineReducers} from "redux"; +import { + CANCEL_NEW_ROOM_CONSTRUCTION_SUCCEEDED, + FINISH_NEW_ROOM_CONSTRUCTION, + START_NEW_ROOM_CONSTRUCTION_SUCCEEDED +} from "../actions/topology/building"; +import {START_RACK_CONSTRUCTION, STOP_RACK_CONSTRUCTION} from "../actions/topology/room"; + +export function currentRoomInConstruction(state = -1, action) { + switch (action.type) { + case START_NEW_ROOM_CONSTRUCTION_SUCCEEDED: + return action.roomId; + case CANCEL_NEW_ROOM_CONSTRUCTION_SUCCEEDED: + case FINISH_NEW_ROOM_CONSTRUCTION: + return -1; + default: + return state; + } +} + +export function inRackConstructionMode(state = false, action) { + switch (action.type) { + case START_RACK_CONSTRUCTION: + return true; + case STOP_RACK_CONSTRUCTION: + return false; + default: + return state; + } +} + +export const construction = combineReducers({ + currentRoomInConstruction, + inRackConstructionMode, +}); |
