From eb208a7e2fd020ab5d07d11cc6d52d1e3dcfcc7c Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Sun, 17 Sep 2017 17:55:04 +0200 Subject: Add simulation mode framework Includes object states in the store (by tick), charting, and progress bars. --- src/actions/simulation/load-metric.js | 8 ++++++++ src/actions/simulation/playback.js | 15 +++++++++++++++ src/actions/simulation/tick.js | 23 +++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 src/actions/simulation/load-metric.js create mode 100644 src/actions/simulation/playback.js create mode 100644 src/actions/simulation/tick.js (limited to 'src/actions/simulation') diff --git a/src/actions/simulation/load-metric.js b/src/actions/simulation/load-metric.js new file mode 100644 index 00000000..e426a7d2 --- /dev/null +++ b/src/actions/simulation/load-metric.js @@ -0,0 +1,8 @@ +export const CHANGE_LOAD_METRIC = "CHANGE_LOAD_METRIC"; + +export function changeLoadMetric(metric) { + return { + type: CHANGE_LOAD_METRIC, + metric + }; +} diff --git a/src/actions/simulation/playback.js b/src/actions/simulation/playback.js new file mode 100644 index 00000000..bddb9a0a --- /dev/null +++ b/src/actions/simulation/playback.js @@ -0,0 +1,15 @@ +export const SET_PLAYING = "SET_PLAYING"; + +export function playSimulation() { + return { + type: SET_PLAYING, + playing: true + } +} + +export function pauseSimulation() { + return { + type: SET_PLAYING, + playing: false + } +} diff --git a/src/actions/simulation/tick.js b/src/actions/simulation/tick.js new file mode 100644 index 00000000..68f226d7 --- /dev/null +++ b/src/actions/simulation/tick.js @@ -0,0 +1,23 @@ +export const GO_TO_TICK = "GO_TO_TICK"; +export const SET_LAST_SIMULATED_TICK = "SET_LAST_SIMULATED_TICK"; + +export function incrementTick() { + return (dispatch, getState) => { + const {currentTick} = getState(); + dispatch(goToTick(currentTick + 1)); + } +} + +export function goToTick(tick) { + return { + type: GO_TO_TICK, + tick + } +} + +export function setLastSimulatedTick(tick) { + return { + type: SET_LAST_SIMULATED_TICK, + tick + } +} -- cgit v1.2.3