Merge pull request #367 from zhaouv/changeId

change id idnum
This commit is contained in:
Zhang Chen 2019-05-01 15:23:26 +08:00 committed by GitHub
commit a89aa5f95e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 130 additions and 83 deletions

View File

@ -261,70 +261,93 @@ editor_file = function (editor, callback) {
editor.file.changeIdAndIdnum = function (id, idnum, info, callback) {
checkCallback(callback);
//检查maps中是否有重复的idnum或id
var change = -1;
for (var ii in editor.core.maps.blocksInfo) {
if (ii == idnum) {
//暂时只允许创建新的不允许修改已有的
//if (info.idnum==idnum){change=ii;break;}//修改id
callback('idnum重复了');
return;
}
if (editor.core.maps.blocksInfo[ii].id == id) {
//if (info.id==id){change=ii;break;}//修改idnum
callback('id重复了');
return;
}
}
/*
if (change!=-1 && change!=idnum){//修改idnum
editor.core.maps.blocksInfo[idnum] = editor.core.maps.blocksInfo[change];
delete(editor.core.maps.blocksInfo[change]);
} else if (change==idnum) {//修改id
var oldid = editor.core.maps.blocksInfo[idnum].id;
editor.core.maps.blocksInfo[idnum].id = id;
for(var ii in editor.core.icons.icons){
if (ii.hasOwnProperty(oldid)){
ii[id]=ii[oldid];
delete(ii[oldid]);
}
}
} else {//创建新的
editor.core.maps.blocksInfo[idnum]={'cls': info.images, 'id':id};
editor.core.icons.icons[info.images][id]=info.y;
}
*/
var templist = [];
var tempcallback = function (err) {
templist.push(err);
if (templist.length == 2) {
if (templist[0] != null || templist[1] != null)
callback((templist[0] || '') + '\n' + (templist[1] || ''));
//这里如果一个成功一个失败会出严重bug
else
callback(null);
}
}
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', [["add", "['items']['" + id + "']", editor.file.comment._data.items_template]], function (err) {
if (err) {
printe(err);
throw(err)
var changeOrNew=core.isset(editor_mode.info.id)?'change':'new'
if(changeOrNew=='new'){
//检查maps中是否有重复的idnum或id
for (var ii in editor.core.maps.blocksInfo) {
if (ii == idnum) {
callback('idnum重复了');
return;
}
});
}
if (info.images === 'enemys' || info.images === 'enemy48') {
saveSetting('enemys', [["add", "['" + id + "']", editor.file.comment._data.enemys_template]], function (err) {
if (err) {
printe(err);
throw(err)
if (editor.core.maps.blocksInfo[ii].id == id) {
callback('id重复了');
return;
}
});
}
}
var templist = [];
var tempcallback = function (err) {
templist.push(err);
if (templist.length == 2) {
if (templist[0] != null || templist[1] != null)
callback((templist[0] || '') + '\n' + (templist[1] || ''));
//这里如果一个成功一个失败会出严重bug
else
callback(null);
}
}
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', [["add", "['items']['" + id + "']", editor.file.comment._data.items_template]], function (err) {
if (err) {
printe(err);
throw(err)
}
});
}
if (info.images === 'enemys' || info.images === 'enemy48') {
saveSetting('enemys', [["add", "['" + id + "']", editor.file.comment._data.enemys_template]], function (err) {
if (err) {
printe(err);
throw(err)
}
});
}
callback(null);
callback(null);
}else{
//检查maps中是否有重复的idnum或id
for (var ii in editor.core.maps.blocksInfo) {
if (ii == idnum && idnum != info.idnum) {
callback('idnum重复了');
return;
}
if (editor.core.maps.blocksInfo[ii].id == id && id != info.id) {
callback('id重复了');
return;
}
}
if (idnum != info.idnum && id != info.id) {
callback('此版本idnum和id一次只允许修改一个, 请修改idnum刷新后再修改id');
return;
}
if (idnum == info.idnum && id == info.id) {
callback('无改动');
return;
}
if (idnum != info.idnum){//修改idnum
maps_90f36752_8815_4be8_b32b_d7fad1d0542e[idnum] = maps_90f36752_8815_4be8_b32b_d7fad1d0542e[info.idnum];
delete(maps_90f36752_8815_4be8_b32b_d7fad1d0542e[info.idnum]);
} else {//修改id
maps_90f36752_8815_4be8_b32b_d7fad1d0542e[idnum].id = id;
var obj=Object.assign({},icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1,items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a,{enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80:enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80})
for(var jj in obj){
var ii=obj[jj]
if (ii.hasOwnProperty(info.id)){
ii[id]=ii[info.id];
delete(ii[info.id]);
}
}
}
editor.file.save_icons_maps_items_enemys(callback)
}
}
//callback(err:String)
editor.file.editItem = function (id, actionList, callback) {
@ -723,6 +746,30 @@ editor_file = function (editor, callback) {
}
}
editor.file.save_icons_maps_items_enemys=function(callback){
var check=[]
saveSetting('icons',[],function(err){
if(err){callback(err);return;}
check.push('icons')
if(check.length==4)callback(null);
})
saveSetting('maps',[],function(err){
if(err){callback(err);return;}
check.push('maps')
if(check.length==4)callback(null);
})
saveSetting('items',[],function(err){
if(err){callback(err);return;}
check.push('items')
if(check.length==4)callback(null);
})
saveSetting('enemys',[],function(err){
if(err){callback(err);return;}
check.push('enemys')
if(check.length==4)callback(null);
})
}
var saveSetting = function (file, actionList, callback) {
//console.log(file);
//console.log(actionList);

View File

@ -150,7 +150,7 @@ editor_mode = function (editor) {
return;
}
document.getElementById('newIdIdnum').style.display = 'none';
document.getElementById('newIdIdnum').style.display = 'block';
document.getElementById('enemyItemTable').style.display = 'block';
var objs = [];

View File

@ -19,7 +19,7 @@ editor_unsorted_2_wrapper=function(editor_mode){
printe(err);
throw(err)
}
printe('添加id的idnum成功,请F5刷新编辑器');
printe(core.isset(editor_mode.info.id)?'修改id和idnum成功,请F5刷新编辑器':'添加id和idnum成功,请F5刷新编辑器');
});
} else {
printe('请输入id和idnum');

View File

@ -121,13 +121,6 @@
<h3 class="leftTabHeader">图块属性&nbsp;&nbsp;<button onclick="editor.mode.onmode('save')">保存</button>&nbsp;&nbsp;<button onclick="editor.mode.changeDoubleClickModeByButton('add')">添加</button>&nbsp;&nbsp;<button onclick="editor.mode.changeDoubleClickModeByButton('delete')">删除</button>&nbsp;&nbsp;<button onclick="editor_multi.editCommentJs('enemyitem')">配置表格</button>
</h3>
<div class="leftTabContent">
<div id='newIdIdnum'><!-- id and idnum -->
<input placeholder="新id唯一标识符"/>
<input placeholder="新idnum10000以内数字"/>
<button>save</button>
<br/>
<button style="margin-top: 10px">自动注册</button>
</div>
<div id="enemyItemTable"><!-- enemy and item -->
<div class='etable'>
<table>
@ -141,6 +134,13 @@
</table>
</div>
</div>
<div id='newIdIdnum'><!-- id and idnum -->
<input placeholder="新id唯一标识符"/>
<input placeholder="新idnum10000以内数字"/>
<button>save</button>
<br/>
<button style="margin-top: 10px">自动注册</button>
</div>
</div>
</div>
<div id="left4" class='leftTab' style="z-index:-1;opacity: 0;"><!-- floor -->

View File

@ -117,6 +117,19 @@
<h3 class="leftTabHeader">图块属性&nbsp;&nbsp;<button onclick="editor.mode.onmode('save')">保存</button>&nbsp;&nbsp;<button onclick="editor.mode.changeDoubleClickModeByButton('add')">添加</button>&nbsp;&nbsp;<button onclick="editor.mode.changeDoubleClickModeByButton('delete')">删除</button>&nbsp;&nbsp;<button onclick="editor_multi.editCommentJs('enemyitem')">配置表格</button>
</h3>
<div class="leftTabContent">
<div id="enemyItemTable"><!-- enemy and item -->
<div class='etable'>
<table>
<tbody id='table_a3f03d4c_55b8_4ef6_b362_b345783acd72'>
<tr>
<td>条目</td>
<td>注释</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id='newIdIdnum'><!-- id and idnum -->
<input placeholder="新id唯一标识符"/>
<input placeholder="新idnum10000以内数字"/>
@ -124,19 +137,6 @@
<br/>
<button style="margin-top: 10px">自动注册</button>
</div>
<div id="enemyItemTable"><!-- enemy and item -->
<div class='etable'>
<table>
<tbody id='table_a3f03d4c_55b8_4ef6_b362_b345783acd72'>
<tr>
<td>条目</td>
<td>注释</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="left4" class='leftTab' style="z-index:-1;opacity: 0;"><!-- floor -->