修复了添加物品怪物的新id时,没有添加items.js或enemys.js中数据的bug

This commit is contained in:
YouWei Zhao 2018-02-18 18:37:39 +08:00
parent 93160d2156
commit cdff0e8abd
3 changed files with 37 additions and 4 deletions

View File

@ -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]);
}

View File

@ -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);

View File

@ -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层用MT3hh表示隐藏等等 \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",