searchUsedFlags

This commit is contained in:
ckcz123 2019-10-25 09:53:40 +08:00
parent 4846314b1b
commit 9115ab2b7c
3 changed files with 69 additions and 3 deletions

View File

@ -112,7 +112,7 @@ editor_mappanel_wrapper = function (editor) {
editor.dom.euiCtx.clearRect(0, 0, core.__PIXELS__, core.__PIXELS__);
editor.uivalues.stepPostfix = [];
editor.uivalues.stepPostfix.push(pos);
editor.uifunctions.fillPos(pos);
if (editor.brushMod == 'line') editor.uifunctions.fillPos(pos);
return false;
}
@ -168,8 +168,21 @@ editor_mappanel_wrapper = function (editor) {
if (pos) {
pos.x += pos0.x;
pos.y += pos0.y;
if (editor.brushMod == 'line') editor.uifunctions.fillPos(pos);
else {
var x0 = editor.uivalues.stepPostfix[0].x;
var y0 = editor.uivalues.stepPostfix[0].y;
var x1 = pos.x;
var y1 = pos.y;
if (x0 > x1) { x0 ^= x1; x1 ^= x0; x0 ^= x1; }//swap
if (y0 > y1) { y0 ^= y1; y1 ^= y0; y0 ^= y1; }//swap
// draw rect
editor.dom.euiCtx.clearRect(0, 0, editor.dom.euiCtx.canvas.width, editor.dom.euiCtx.canvas.height);
editor.dom.euiCtx.fillStyle = 'rgba(0, 127, 255, 0.4)';
editor.dom.euiCtx.fillRect(32 * x0 - core.bigmap.offsetX, 32 * y0 - core.bigmap.offsetY,
32 * (x1 - x0) + 32, 32 * (y1 - y0) + 32);
}
editor.uivalues.stepPostfix.push(pos);
editor.uifunctions.fillPos(pos);
}
return false;
}

View File

@ -283,6 +283,9 @@ editor_ui_wrapper = function (editor) {
uievent.elements.selectPointBox = document.getElementById('selectPointBox');
uievent.elements.body = document.getElementById('uieventBody');
uievent.elements.selectPointButtons = document.getElementById('selectPointButtons');
uievent.elements.canvas = document.getElementById('uievent');
uievent.elements.usedFlags = document.getElementById('uieventUsedFlags');
uievent.elements.usedFlagList = document.getElementById('uieventUsedFlagList');
uievent.confirm = function () {
var callback = uievent.values.callback, floorId = uievent.values.floorId,
@ -336,7 +339,12 @@ editor_ui_wrapper = function (editor) {
uievent.elements.title.innerText = 'UI绘制预览';
uievent.elements.selectBackground.style.display = 'inline';
uievent.elements.selectBackground.value = 'thumbnail';
uievent.elements.selectFloor.style.display = 'none';
uievent.elements.selectPointBox.style.display = 'none';
uievent.elements.canvas.style.display = 'block';
uievent.elements.usedFlags.style.display = 'none';
uievent.elements.usedFlagList.style.display = 'none';
uievent.elements.body.style.overflow = "hidden";
uievent.values.list = list;
uievent.drawPreviewUI();
@ -357,6 +365,10 @@ editor_ui_wrapper = function (editor) {
uievent.elements.selectBackground.style.display = 'none';
uievent.elements.selectFloor.style.display = hideFloor ? 'none' : 'inline';
uievent.elements.selectPointBox.style.display = 'block';
uievent.elements.canvas.style.display = 'block';
uievent.elements.usedFlags.style.display = 'none';
uievent.elements.usedFlagList.style.display = 'none';
uievent.elements.body.style.overflow = "hidden";
// Append children
var floors = "";
@ -464,6 +476,45 @@ editor_ui_wrapper = function (editor) {
uievent.setPoint(core.floorIds[index]);
}
// ------ 搜索变量出现的位置也放在uievent好了 ------ //
uievent.searchUsedFlags = function () {
uievent.isOpen = true;
uievent.elements.div.style.display = 'block';
uievent.mode = 'searchUsedFlags';
uievent.elements.selectPoint.style.display = 'none';
uievent.elements.yes.style.display = 'none';
uievent.elements.title.innerText = '搜索变量出现的位置';
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 = 'inline';
uievent.elements.usedFlagList.style.display = 'block';
uievent.elements.body.style.overflow = "auto";
// build flags
var html = "";
Object.keys(editor.used_flags).forEach(function (v) {
v = "flag:" + v;
html += "<option value='" + v + "'>" + v + "</option>";
});
uievent.elements.usedFlags.innerHTML = html;
uievent.doSearchUsedFlags();
}
uievent.doSearchUsedFlags = function () {
var flag = uievent.elements.usedFlags.value;
var html = "<p style='margin-left: 10px'>该变量出现的所有位置如下:</p><ul>";
for (var i = 0; i <= 100; ++i) {
html += "<li>MT1层(0,0)的events</li>";
}
html += "</ul>";
uievent.elements.usedFlagList.innerHTML = html;
}
editor.constructor.prototype.uievent=uievent;
}

View File

@ -208,12 +208,12 @@
<div style="position: relative; display: inline-block; margin-left: 10px">
<div class="searchLogo"></div>
<input type="text" id="searchBlock" placeholder="搜索图块"/>
<button id = "colorSwitch" class="cpPanel" onclick="openColorFromButton()" style="margin-left:5px">颜色选择器</button>
<div id="colorPanel" class="cpPanel" style="display: none">
<input class="color" id="colorPicker" value="255,215,0,1"/>
<button onclick="confirmColor()">确定</button>
</div>
<button class="cpPanel" onclick="editor_blockly.selectPoint()" style="margin-left:5px">地图选点</button>
<button class="cpPanel" onclick="editor.uievent.searchUsedFlags()" style="margin-left:5px">变量出现位置搜索</button>
</div>
<xml id="toolbox" style="display:none">
</xml>
@ -521,6 +521,7 @@
<option value="#000000">黑色</option>
<option value="#FFFFFF">白色</option>
</select>
<select id="uieventUsedFlags" style="margin-left: 20px; display: none"></select>
<button id="uieventNo">关闭</button>
<button id="uieventYes">确定</button>
</div>
@ -528,6 +529,7 @@
<div id='uieventBody'>
<canvas class='gameCanvas' id='uievent' width='416' height='416'></canvas>
<div id="selectPointBox"></div>
<div id="uieventUsedFlagList" style="display: none; overflow: auto" onchange="editor.uievent.doSearchUsedFlags()"></div>
</div>
<div id="selectPoint">
<select id="selectPointFloor"></select>