事件:设置文件别名

This commit is contained in:
ckcz123 2021-07-23 21:04:47 +08:00
parent 4d0a5d22d6
commit 237b9d941a
5 changed files with 32 additions and 1 deletions

View File

@ -756,6 +756,7 @@ action
| setGlobalAttribute_s
| setGlobalValue_s
| setGlobalFlag_s
| setNameMap_s
| show_s
| hide_s
| trigger_s
@ -1261,6 +1262,20 @@ return code;
*/;
setNameMap_s
: '设置文件别名' ':' EvalString '为' EvalString? Newline
/* setNameMap_s
tooltip : setNameMap设置文件别名
helpUrl : /_docs/#/instruction
default : ["背景音乐",""]
colour : this.dataColor
EvalString_1 = EvalString_1 ? (', "value": "' + EvalString_1 + '"') : '';
var code = '{"type": "setNameMap", "name": "'+EvalString_0+'"'+EvalString_1+'},\n';
return code;
*/;
show_s
: '显示事件' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '动画时间' IntString? '不等待执行完毕' Bool? Newline

View File

@ -719,6 +719,10 @@ ActionParser.prototype.parseAction = function() {
this.next = MotaActionBlocks['setGlobalFlag_s'].xmlText([
data.name, data.value, this.next]);
break;
case "setNameMap":
this.next = MotaActionBlocks['setNameMap_s'].xmlText([
data.name, data.value, this.next]);
break;
case "input":
this.next = MotaActionBlocks['input_s'].xmlText([
data.text,this.next]);

View File

@ -128,6 +128,7 @@ editor_blocklyconfig=(function(){
MotaActionBlocks['setGlobalAttribute_s'].xmlText(),
MotaActionBlocks['setGlobalValue_s'].xmlText(),
MotaActionBlocks['setGlobalFlag_s'].xmlText(),
MotaActionBlocks['setNameMap_s'].xmlText(),
MotaActionBlocks['input_s'].xmlText(),
MotaActionBlocks['input2_s'].xmlText(),
MotaActionBlocks['update_s'].xmlText(),

View File

@ -2513,7 +2513,7 @@ control.prototype.checkRouteFolding = function () {
// ------ 天气色调BGM ------ //
control.prototype.getMappedName = function (name) {
return (main.nameMap || {})[name] || name;
return core.getFlag('__nameMap__', {})[name] || (main.nameMap || {})[name] || name;
}
////// 更改天气效果 //////

View File

@ -1806,6 +1806,11 @@ events.prototype._action_setGlobalFlag = function (data, x, y, prefix) {
core.doAction();
}
events.prototype._action_setNameMap = function (data, x, y, floorId) {
this.setNameMap(data.name, data.value);
core.doAction();
}
events.prototype._action_setHeroIcon = function (data, x, y, prefix) {
this.setHeroIcon(data.name, data.noDraw);
core.doAction();
@ -2883,6 +2888,12 @@ events.prototype.setGlobalFlag = function (name, value) {
core.drawMap();
}
////// 设置文件别名 //////
events.prototype.setNameMap = function (name, value) {
if (!core.hasFlag('__nameMap__')) core.setFlag('__nameMap__', {});
flags.__nameMap__[name] = value;
}
events.prototype.closeDoor = function (x, y, id, callback) {
id = id || "";
if ((core.material.icons.animates[id] == null && core.material.icons.npc48[id] == null)