Changed to load local code only once on startup. If it fails it falls back to current behaviour

This commit is contained in:
KevinRamharak 2018-01-03 13:45:13 +01:00
parent 2a0c3992f4
commit 85ad98e7f5

View File

@ -792,15 +792,7 @@ function manhanttanDistance(x1, y1, x2, y2) {
function codeListener(message) { function codeListener(message) {
if (message.t === "code") { if (message.t === "code") {
var code = message.code; ace.edit("editor").setValue(message.code);
if(typeof window.localStorage !== 'undefined') { // localStorage is supported
var value = window.localStorage.getItem("editorCodeContents");
// if item does not exist null is returned
if(value !== null) {
code = value;
}
}
ace.edit("editor").setValue(code);
} }
} }
@ -808,6 +800,7 @@ function codeListener(message) {
* Listens for authentications responses from the server * Listens for authentications responses from the server
*/ */
function authListener(message) { function authListener(message) {
if (message.t === "auth") { if (message.t === "auth") {
if (message.m === "ok") { if (message.m === "ok") {
@ -1039,7 +1032,15 @@ var GameClient = function (callback) {
}; };
self.reloadCode(); // check if we can load code locally first
try {
var value = window.localStorage.getItem("editorCodeContents");
if(value === null) throw new TypeError("no code stored locally under key: 'editorCodeContents'")
ace.edit("editor").setValue(value);
} catch(e) {
self.reloadCode();
}
if (callback !== undefined) { if (callback !== undefined) {
@ -1156,11 +1157,11 @@ BasicGame.Boot.prototype = {
game.camera.x = 280; game.camera.x = 280;
game.camera.y = 90; game.camera.y = 90;
game.stage.disableVisibilityChange = true; game.stage.disableVisibilityChange = true;
this.scale.scaleMode = Phaser.ScaleManager.RESIZE; this.scale.scaleMode = Phaser.ScaleManager.RESIZE;
this.scale.pageAlignHorizontally = true; this.scale.pageAlignHorizontally = true;
this.scale.pageAlignVertically = true; this.scale.pageAlignVertically = true;
}, },
create: function () { create: function () {
@ -1183,7 +1184,7 @@ BasicGame.Boot.prototype = {
}, },
update: function () { update: function () {
game.scale.setShowAll(); game.scale.setShowAll();
game.scale.refresh(); game.scale.refresh();
// Update the cursor position. // Update the cursor position.
// It's important to understand that screen-to-isometric projection means you have to specify a z position manually, as this cannot be easily // It's important to understand that screen-to-isometric projection means you have to specify a z position manually, as this cannot be easily
// determined from the 2D pointer position without extra trickery. By default, the z position is 0 if not set. // determined from the 2D pointer position without extra trickery. By default, the z position is 0 if not set.