diff --git a/_server/editor.js b/_server/editor.js index e4ec6928..716b27a0 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -158,7 +158,9 @@ editor.prototype.init = function (callback) { editor_mode = editor_mode(editor); editor.mode = editor_mode; core.resetGame(core.firstData.hero, null, core.firstData.floorId, core.clone(core.initStatus.maps)); - core.changeFloor(core.status.floorId, null, core.firstData.hero.loc, null, function () { + var lastFloorId = core.getLocalStorage('editorLastFloorId', core.status.floorId); + if (core.floors.indexOf(lastFloorId) < 0) lastFloorId = core.status.floorId; + core.changeFloor(lastFloorId, null, core.firstData.hero.loc, null, function () { afterCoreReset(); }, true); core.events.setInitData(null); @@ -256,6 +258,7 @@ editor.prototype.changeFloor = function (floorId, callback) { var loc = editor.viewportLoc[floorId] || [], x = loc[0] || 0, y = loc[1] || 0; editor.setViewport(x, y); + core.setLocalStorage('editorLastFloorId', floorId); if (callback) callback(); }); } diff --git a/_server/editor_ui.js b/_server/editor_ui.js index 2417dda6..159f7395 100644 --- a/_server/editor_ui.js +++ b/_server/editor_ui.js @@ -131,23 +131,31 @@ editor_ui_wrapper = function (editor) { || focusElement.id == 'selectFloor') { //Ctrl+z 撤销上一步undo - if (e.keyCode == 90 && e.ctrlKey && editor.uivalues.preMapData.length > 0) { + if (e.keyCode == 90 && e.ctrlKey) { e.preventDefault(); - var data = editor.uivalues.preMapData.pop(); - editor.map = JSON.parse(JSON.stringify(data.map)); - editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); - editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); - editor.uivalues.postMapData.push(data); + if (editor.uivalues.preMapData.length > 0) { + var data = editor.uivalues.preMapData.pop(); + editor.map = JSON.parse(JSON.stringify(data.map)); + editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); + editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); + editor.updateMap(); + editor.uivalues.postMapData.push(data); + printf("已撤销此操作,你可能需要重新保存地图。"); + } return; } //Ctrl+y 重做一步redo - if (e.keyCode == 89 && e.ctrlKey && editor.uivalues.postMapData.length > 0) { + if (e.keyCode == 89 && e.ctrlKey) { e.preventDefault(); - var data = editor.uivalues.postMapData.pop(); - editor.map = JSON.parse(JSON.stringify(data.map)); - editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); - editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); - editor.uivalues.preMapData.push(data); + if (editor.uivalues.postMapData.length > 0) { + var data = editor.uivalues.postMapData.pop(); + editor.map = JSON.parse(JSON.stringify(data.map)); + editor.fgmap = JSON.parse(JSON.stringify(data.fgmap)); + editor.bgmap = JSON.parse(JSON.stringify(data.bgmap)); + editor.updateMap(); + editor.uivalues.preMapData.push(data); + printf("已重做此操作,你可能需要重新保存地图。"); + } return; } diff --git a/main.js b/main.js index 6d435c80..30516e37 100644 --- a/main.js +++ b/main.js @@ -2,7 +2,7 @@ function main() { //------------------------ 用户修改内容 ------------------------// - this.version = "2.6.5"; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。 + this.version = "2.6.6"; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。 this.useCompress = false; // 是否使用压缩文件 // 当你即将发布你的塔时,请使用“JS代码压缩工具”将所有js代码进行压缩,然后将这里的useCompress改为true。 @@ -189,8 +189,8 @@ function main() { this.floors = {} this.canvas = {}; - this.__VERSION__ = "2.6.5"; - this.__VERSION_CODE__ = 87; + this.__VERSION__ = "2.6.6"; + this.__VERSION_CODE__ = 97; } main.prototype.init = function (mode, callback) { diff --git a/project/data.js b/project/data.js index bfe338c6..f7671cba 100644 --- a/project/data.js +++ b/project/data.js @@ -78,7 +78,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "firstData": { "title": "魔塔样板", "name": "template", - "version": "Ver 2.6.5", + "version": "Ver 2.6.6", "floorId": "sample0", "hero": { "name": "阳光",