summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-13 22:15:52 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-13 22:15:52 +0200
commit85c6127369e984ef89bb06bf1139fab4aa07e790 (patch)
tree720b5ab5f697d10a9d61c84cbcd11ed94d8edb55 /www/script
parentc414c2b9127921d77237d0ad018b87ad044915e8 (diff)
...
Diffstat (limited to 'www/script')
-rw-r--r--www/script/load.js12
-rw-r--r--www/script/params.js91
2 files changed, 103 insertions, 0 deletions
diff --git a/www/script/load.js b/www/script/load.js
new file mode 100644
index 0000000..c09570b
--- /dev/null
+++ b/www/script/load.js
@@ -0,0 +1,12 @@
+tacticians_online.params.load();
+
+tacticians_online.app =
+ Elm.Main.fullscreen
+ (
+ {
+ frequency: tacticians_online.params.get_frequency(),
+ players: tacticians_online.params.get_players()
+ }
+ );
+
+tacticians_online.params.attach_to(tacticians_online.app);
diff --git a/www/script/params.js b/www/script/params.js
new file mode 100644
index 0000000..440a491
--- /dev/null
+++ b/www/script/params.js
@@ -0,0 +1,91 @@
+/******************************************************************************/
+/** Session Management ********************************************************/
+/******************************************************************************/
+var tacticians_online = tacticians_online || new Object();
+
+tacticians_online.params = new Object();
+
+tacticians_online.params.private = new Object();
+tacticians_online.params.private.frequency = 15;
+tacticians_online.params.private.players = [];
+
+tacticians_online.params.store =
+function ()
+{
+ localStorage.setItem
+ (
+ "frequency",
+ tacticians_online.params.private.frequency
+ );
+
+ localStorage.setItem("players", tacticians_online.params.private.players);
+}
+
+tacticians_online.params.reset =
+function ()
+{
+ localStorage.removeItem("frequency");
+ localStorage.removeItem("players");
+}
+
+tacticians_online.params.load =
+function ()
+{
+ tacticians_online.params.private.frequency =
+ localStorage.getItem("frequency");
+
+ tacticians_online.params.private.players = localStorage.getItem("players");
+
+ if (tacticians_online.params.private.frequency == null)
+ {
+ tacticians_online.params.private.frequency = 15;
+ }
+
+ if (tacticians_online.params.private.players == null)
+ {
+ tacticians_online.params.private.players = [];
+ }
+}
+
+tacticians_online.params.get_frequency =
+function ()
+{
+ return tacticians_online.params.private.frequency;
+}
+
+tacticians_online.params.get_players =
+function ()
+{
+ return tacticians_online.params.private.players;
+}
+
+tacticians_online.params.set_frequency =
+function (frequency)
+{
+ tacticians_online.params.private.frequency = frequency;
+}
+
+tacticians_online.params.set_players =
+function (players)
+{
+ tacticians_online.params.private.players = players;
+}
+
+tacticians_online.params.store_new_params =
+function (params)
+{
+ var [frequency, players] = params;
+ tacticians_online.params.set_frequency(frequency);
+ tacticians_online.params.set_players(players);
+ tacticians_online.params.store();
+}
+
+tacticians_online.params.attach_to =
+function (app)
+{
+ app.ports.store_new_params.subscribe(
+ tacticians_online.params.store_new_params
+ );
+
+ app.ports.reset_params.subscribe(tacticians_online.params.reset);
+}