简化补全分类判断代码

This commit is contained in:
YouWei Zhao 2020-05-22 20:40:15 +08:00
parent e157d0735c
commit f923a7c997

View File

@ -491,29 +491,31 @@ editor_blockly = function () {
}).sort(); }).sort();
} }
var allIds = core.getAllIconIds(); var namesObj={};
var allIconIds = allIds.concat(Object.keys(core.statusBar.icons).filter(function (x) {
namesObj.allIds = core.getAllIconIds();
namesObj.allIconIds = namesObj.allIds.concat(Object.keys(core.statusBar.icons).filter(function (x) {
return core.statusBar.icons[x] instanceof Image; return core.statusBar.icons[x] instanceof Image;
})); }));
var allImages = Object.keys(core.material.images.images); namesObj.allImages = Object.keys(core.material.images.images);
var allEnemys = Object.keys(core.material.enemys); namesObj.allEnemys = Object.keys(core.material.enemys);
if (MotaActionFunctions && !MotaActionFunctions.disableReplace) { if (MotaActionFunctions && !MotaActionFunctions.disableReplace) {
allEnemys = allEnemys.concat(MotaActionFunctions.pattern.replaceEnemyList.map(function (x) { namesObj.allEnemys = namesObj.allEnemys.concat(MotaActionFunctions.pattern.replaceEnemyList.map(function (x) {
return x[1]; return x[1];
})) }))
} }
var allItems = Object.keys(core.material.items); namesObj.allItems = Object.keys(core.material.items);
if (MotaActionFunctions && !MotaActionFunctions.disableReplace) { if (MotaActionFunctions && !MotaActionFunctions.disableReplace) {
allItems = allItems.concat(MotaActionFunctions.pattern.replaceItemList.map(function (x) { namesObj.allItems = namesObj.allItems.concat(MotaActionFunctions.pattern.replaceItemList.map(function (x) {
return x[1]; return x[1];
})) }))
} }
var allAnimates = Object.keys(core.material.animates); namesObj.allAnimates = Object.keys(core.material.animates);
var allBgms = Object.keys(core.material.bgms); namesObj.allBgms = Object.keys(core.material.bgms);
var allSounds = Object.keys(core.material.sounds); namesObj.allSounds = Object.keys(core.material.sounds);
var allShops = Object.keys(core.status.shops); namesObj.allShops = Object.keys(core.status.shops);
var allFloorIds = core.floorIds; namesObj.allFloorIds = core.floorIds;
var allColors = ["aqua青色", "black黑色", "blue蓝色", "fuchsia品红色", "gray灰色", "green深绿色", "lime绿色", namesObj.allColors = ["aqua青色", "black黑色", "blue蓝色", "fuchsia品红色", "gray灰色", "green深绿色", "lime绿色",
"maroon深红色", "navy深蓝色", "gold金色", "olive黄褐色", "orange橙色", "purple品红色", "maroon深红色", "navy深蓝色", "gold金色", "olive黄褐色", "orange橙色", "purple品红色",
"red红色", "silver淡灰色", "teal深青色", "white白色", "yellow黄色"]; "red红色", "silver淡灰色", "teal深青色", "white白色", "yellow黄色"];
var filter = function (list, content) { var filter = function (list, content) {
@ -523,48 +525,18 @@ editor_blockly = function () {
} }
// 对任意图块提供补全 // 对任意图块提供补全
if (MotaActionBlocks[type].allIds && eval(MotaActionBlocks[type].allIds).indexOf(name)!==-1) {
return filter(allIds, content);
}
// 对怪物ID提供补全 // 对怪物ID提供补全
if (MotaActionBlocks[type].allEnemys && eval(MotaActionBlocks[type].allEnemys).indexOf(name)!==-1) {
return filter(allEnemys, content);
}
// 对道具ID进行补全 // 对道具ID进行补全
if (MotaActionBlocks[type].allItems && eval(MotaActionBlocks[type].allItems).indexOf(name)!==-1) {
return filter(allItems, content);
}
// 对图片名进行补全 // 对图片名进行补全
if (MotaActionBlocks[type].allImages && eval(MotaActionBlocks[type].allImages).indexOf(name)!==-1) {
return filter(allImages, content);
}
// 对动画进行补全 // 对动画进行补全
if (MotaActionBlocks[type].allAnimates && eval(MotaActionBlocks[type].allAnimates).indexOf(name)!==-1) {
return filter(allAnimates, content);
}
// 对音乐进行补全 // 对音乐进行补全
if (MotaActionBlocks[type].allBgms && eval(MotaActionBlocks[type].allBgms).indexOf(name)!==-1) {
return filter(allBgms, content);
}
// 对音效进行补全 // 对音效进行补全
if (MotaActionBlocks[type].allSounds && eval(MotaActionBlocks[type].allSounds).indexOf(name)!==-1) {
return filter(allSounds, content);
}
// 对全局商店进行补全 // 对全局商店进行补全
if (MotaActionBlocks[type].allShops && eval(MotaActionBlocks[type].allShops).indexOf(name)!==-1) {
return filter(allShops, content);
}
// 对楼层名进行补全 // 对楼层名进行补全
if (MotaActionBlocks[type].allFloorIds && eval(MotaActionBlocks[type].allFloorIds).indexOf(name)!==-1) { for(var ii=0,names;names=['allIds','allEnemys','allItems','allImages','allAnimates','allBgms','allSounds','allShops','allFloorIds'][ii];ii++){
return filter(allFloorIds, content); if (MotaActionBlocks[type][names] && eval(MotaActionBlocks[type][names]).indexOf(name)!==-1) {
return filter(namesObj[names], content);
}
} }
// 对\f进行自动补全 // 对\f进行自动补全
@ -573,7 +545,7 @@ editor_blockly = function () {
if (content.charAt(index) == '\\') index++; if (content.charAt(index) == '\\') index++;
var after = content.substring(index + 2); var after = content.substring(index + 2);
if (after.indexOf(",") < 0 && after.indexOf("]") < 0) { if (after.indexOf(",") < 0 && after.indexOf("]") < 0) {
return filter(allImages, after); return filter(namesObj.allImages, after);
} }
} }
@ -582,7 +554,7 @@ editor_blockly = function () {
if (index >= 0) { if (index >= 0) {
var after = content.substring(index + 3); var after = content.substring(index + 3);
if (after.indexOf("]") < 0) { if (after.indexOf("]") < 0) {
return filter(allIconIds, after); return filter(namesObj.allIconIds, after);
} }
} }
@ -592,7 +564,7 @@ editor_blockly = function () {
if (content.charAt(index) == '\\') index++; if (content.charAt(index) == '\\') index++;
var after = content.substring(index + 2); var after = content.substring(index + 2);
if (after.indexOf("]") < 0) { if (after.indexOf("]") < 0) {
return filter(allColors, after); return filter(namesObj.allColors, after);
} }
} }