aboutsummaryrefslogtreecommitdiff
path: root/src/Actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/Actions.js')
-rw-r--r--src/Actions.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Actions.js b/src/Actions.js
new file mode 100644
index 0000000..1f4e7cf
--- /dev/null
+++ b/src/Actions.js
@@ -0,0 +1,51 @@
+const NO_OP = 'NO_OP'
+const SET_PIXEL = 'SET_PIXEL'
+const CLEAR = 'CLEAR'
+const SAVE = 'SAVE'
+const LOAD = 'LOAD'
+
+function sendAction(websocket, action) {
+ let actionStr = JSON.stringify(action)
+ websocket.send(actionStr)
+}
+
+function save(websocket, saveName) {
+ sendAction(websocket, {
+ type: SAVE,
+ saveName: saveName
+ })
+}
+
+function load(websocket, saveName) {
+ sendAction(websocket, {
+ type: LOAD,
+ saveName: saveName
+ })
+}
+
+function setPixel(websocket, x, y, r, g, b) {
+ sendAction(websocket, {
+ type: SET_PIXEL,
+ x: x,
+ y: y,
+ r: r,
+ g: g,
+ b: b
+ })
+}
+
+function clear(websocket) {
+ sendAction(websocket, { type: CLEAR })
+}
+
+function noop(websocket) {
+ sendAction(websocket, { type: NO_OP })
+}
+
+export {
+ setPixel,
+ clear,
+ noop,
+ save,
+ load
+} \ No newline at end of file