diff --git a/_server/editor.js b/_server/editor.js index 5afe7a24..9036c0d2 100644 --- a/_server/editor.js +++ b/_server/editor.js @@ -57,6 +57,7 @@ function editor() { showMovable: document.getElementById('showMovable'), gameInject: document.getElementById('gameInject'), undoFloor: document.getElementById('undoFloor'), + selectFloorBtn: document.getElementById('selectFloorBtn'), editorTheme: document.getElementById('editorTheme'), bigmapBtn : document.getElementById('bigmapBtn'), mapRowMark: document.getElementById('mapRowMark'), diff --git a/_server/editor_listen.js b/_server/editor_listen.js index 5f876bad..474c10cd 100644 --- a/_server/editor_listen.js +++ b/_server/editor_listen.js @@ -37,6 +37,7 @@ editor_listen_wrapper = function (editor) { editor.dom.clearEvent.onmouseup = editor.uifunctions.clearEvent_click editor.dom.clearLoc.onmouseup = editor.uifunctions.clearLoc_click editor.dom.undoFloor.onclick = editor.uifunctions.undoFloor_click + editor.dom.selectFloorBtn.onclick = editor.uifunctions.selectFloorBtn_click editor.dom.editorTheme.onchange = editor.uifunctions.editorTheme_onchange editor.dom.lastUsed.onmouseup = editor.uifunctions.lastUsed_click; diff --git a/_server/editor_mappanel.js b/_server/editor_mappanel.js index 2adb4cac..d451d3c7 100644 --- a/_server/editor_mappanel.js +++ b/_server/editor_mappanel.js @@ -452,6 +452,23 @@ editor_mappanel_wrapper = function (editor) { editor.changeFloor(toId); } + editor.uifunctions.selectFloorBtn_click = function () { + editor.uievent.selectFloor(null, '选择楼层', function (floorId) { + if (!floorId || floorId == editor.currentFloorId) return; + + var saveFloor = document.getElementById('saveFloor'); + if (saveFloor && saveFloor.classList.contains('highlight')) { + printe('请先保存地图!'); + return; + } + + editor_mode.onmode('nextChange'); + editor_mode.onmode('floor'); + editor.dom.selectFloor.value = floorId; + editor.changeFloor(floorId); + }) + } + editor.uifunctions.editorTheme_onchange = function () { var theme = editor.dom.editorTheme.value; editor.config.set('theme', theme); diff --git a/_server/editor_ui.js b/_server/editor_ui.js index 20b4d436..fc960d86 100644 --- a/_server/editor_ui.js +++ b/_server/editor_ui.js @@ -787,6 +787,88 @@ editor_ui_wrapper = function (editor) { return list; } + // ------ 选择楼层 ------ // + uievent.selectFloor = function (floorId, title, callback) { + uievent.isOpen = true; + uievent.elements.div.style.display = 'block'; + uievent.mode = 'selectFloor'; + uievent.elements.selectPoint.style.display = 'none'; + uievent.elements.yes.style.display = 'block'; + uievent.elements.title.innerText = title; + uievent.elements.selectBackground.style.display = 'none'; + uievent.elements.selectFloor.style.display = 'none'; + uievent.elements.selectPointBox.style.display = 'none'; + uievent.elements.canvas.style.display = 'none'; + uievent.elements.usedFlags.style.display = 'none'; + uievent.elements.extraBody.style.display = 'block'; + uievent.elements.body.style.overflow = "auto"; + + uievent.elements.yes.onclick = function () { + var floorId = uievent.values.floorId; + uievent.close(); + if (callback) callback(floorId); + } + + if (floorId instanceof Array) floorId = floorId[0]; + if (!floorId) floorId = editor.currentFloorId; + uievent.values.floorId = floorId; + + var html = "
";
+ html += "搜索楼层:
"
+ html += '';
+ html += "