| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-09-13 22:15:52 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-09-13 22:15:52 +0200 |
| commit | 85c6127369e984ef89bb06bf1139fab4aa07e790 (patch) | |
| tree | 720b5ab5f697d10a9d61c84cbcd11ed94d8edb55 /www/script | |
| parent | c414c2b9127921d77237d0ad018b87ad044915e8 (diff) | |
...
Diffstat (limited to 'www/script')
| -rw-r--r-- | www/script/load.js | 12 | ||||
| -rw-r--r-- | www/script/params.js | 91 |
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); +} |


