From cdff0e8abdd523bfc3b3139fa0919ea0af2a5ba1 Mon Sep 17 00:00:00 2001 From: YouWei Zhao Date: Sun, 18 Feb 2018 18:37:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=89=A9=E5=93=81=E6=80=AA=E7=89=A9=E7=9A=84=E6=96=B0id?= =?UTF-8?q?=E6=97=B6,=E6=B2=A1=E6=9C=89=E6=B7=BB=E5=8A=A0items.js=E6=88=96?= =?UTF-8?q?enemys.js=E4=B8=AD=E6=95=B0=E6=8D=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/editor_file.js | 30 ++++++++++++++++++++++++++++-- _server/editor_mode.js | 4 ++++ project/comment.js | 7 +++++-- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/_server/editor_file.js b/_server/editor_file.js index 520fdb7a..01bb0323 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -149,6 +149,12 @@ } saveSetting('maps',[["add","['"+idnum+"']",{'cls': info.images, 'id':id}]],tempcallback); saveSetting('icons',[["add","['"+info.images+"']['"+id+"']",info.y]],tempcallback); + if(info.images==='items'){ + saveSetting('items',[["change"/*其实应该是add*/,"['items']['"+id+"']",editor_file.comment.items_template]],function(err){if(err)throw(err)}); + } + if(info.images==='enemys'){ + saveSetting('enemys',[["change"/*其实应该是add*/,"['enemys']['"+id+"']",editor_file.comment.enemys_template]],function(err){if(err)throw(err)}); + } callback(null); } @@ -169,13 +175,33 @@ }); saveSetting('items',actionList,function (err) { callback([ - {'items':editor.core.items.items[id],'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]}, + {'items':(function(){ + var locObj={}; + Object.keys(editor_file.comment.items.items).forEach(function(v){ + if (isset(editor.core.items.items[id][v])) + locObj[v]=editor.core.items.items[id][v]; + else + locObj[v]=null; + }); + return locObj; + })(), + 'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]}, editor_file.comment.items, err]); }); } else { callback([ - {'items':editor.core.items.items[id],'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]}, + {'items':(function(){ + var locObj={}; + Object.keys(editor_file.comment.items.items).forEach(function(v){ + if (isset(editor.core.items.items[id][v])) + locObj[v]=editor.core.items.items[id][v]; + else + locObj[v]=null; + }); + return locObj; + })(), + 'itemEffect':editor.core.items.itemEffect[id],'itemEffectTip':editor.core.items.itemEffectTip[id]}, editor_file.comment.items, null]); } diff --git a/_server/editor_mode.js b/_server/editor_mode.js index f21f93b2..101dba81 100644 --- a/_server/editor_mode.js +++ b/_server/editor_mode.js @@ -59,6 +59,10 @@ editor_mode.prototype.objToTable = function(obj,commentObj){ editor_mode.onmode(editor_mode._ids[node.getAttribute('id')]); editor_mode.addAction(['change',field,JSON.parse(input.value)]); //尚未完成,不完善,目前还没做$range的检查 + + /*临时*/editor_mode.onmode('');/*临时*/ + //临时改为立刻写入文件,删去此句的时,切换模式才会真正写入 + //现阶段这样会更实用,20180218 } input.ondblclick = function(){ editor_blockly.import(guid); diff --git a/project/comment.js b/project/comment.js index af33e2bd..545b6af8 100644 --- a/project/comment.js +++ b/project/comment.js @@ -10,6 +10,7 @@ comment_c456ea59_6018_45ef_8bcc_211a24c627dc = 'itemEffect':'cls为items的即捡即用类物品的效果,执行时会对这里的字符串执行eval()', 'itemEffectTip':'cls为items的即捡即用类物品,在获得时左上角额外显示的文字,执行时会对这里的字符串执行eval()得到字符串' }, + "items_template" : {'cls': 'items', 'name': '新物品'}, "enemys" : { 'name': '名称', 'hp': '生命值', @@ -25,6 +26,7 @@ comment_c456ea59_6018_45ef_8bcc_211a24c627dc = 'point': 'point可以在打败怪物后进行加点,详见文档说明\n$range((thiseval==~~thiseval && thiseval>0)||thiseval==null)$end', 'n': '多连击需要在后面指定n代表是几连击\n$range((thiseval==~~thiseval && thiseval>0)||thiseval==null)$end', }, + "enemys_template" : {'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'special': 0}, "floors" : { 'floor' : { "floorId": "文件名和floorId需要保持完全一致 \n楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 \n推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 \n楼层唯一标识符,需要和名字完全一致 \n这里不能更改floorId,请通过另存为来实现\n$range(false)$end", @@ -44,11 +46,12 @@ comment_c456ea59_6018_45ef_8bcc_211a24c627dc = "changeFloor": "楼层转换事件;该事件不能和上面的events有冲突(同位置点),否则会被覆盖 \n$leaf(true)$end", "afterBattle": "战斗后可能触发的事件列表 \n$leaf(true)$end", "afterGetItem": "获得道具后可能触发的事件列表 \n$leaf(true)$end", - "afterOpenDoor": "开完门后可能触发的事件列表 \n$leaf(true)$end" + "afterOpenDoor": "开完门后可能触发的事件列表 \n$leaf(true)$end", + "cannotMove": "每个图块不可通行的方向 \n 可以在这里定义每个点不能前往哪个方向,例如悬崖边不能跳下去 \n'x,y': ['up', 'left'], // (x,y)点不能往上和左走\n$leaf(true)$end", } }, /* - 'template' : { + 'floors_template' : { "floorId": "tempfloor", "title": "主塔 0 层", "name": "0",