From 517cc9ea9ddd07095f9042bf97e7a00b313d4612 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 31 Jul 2021 12:57:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=A4=9A=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E4=BB=BB=E6=84=8F=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _docs/api.md | 3 + _server/CodeMirror/defs.js | 4 + _server/MotaAction.g4 | 257 ++++++++++++++++--------------------- _server/table/comment.js | 7 - libs/maps.js | 10 +- runtime.d.ts | 3 + 6 files changed, 131 insertions(+), 153 deletions(-) diff --git a/_docs/api.md b/_docs/api.md index c5b644ba..cf65b92a 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -1575,6 +1575,9 @@ showDisable: 隐藏点是否不返回null,true表示不返回null getBlockOpacity: fn(x: number, y: number, floorId?: string, showDisable?: bool) -> number 判定某个点的不透明度。如果该点无图块则返回null。 +getFaceDownId: fn(block?: string|number|block) -> string +获得某个图块对应行走图朝向向下的那一项的id;如果不存在行走图绑定则返回自身id。 + getFgMapArray: fn(floorId?: string, noCache?: bool) -> [[number]] 生成前景层矩阵 例如:core.getFgMapArray('MT0'); // 生成主塔0层的前景层矩阵,使用缓存 diff --git a/_server/CodeMirror/defs.js b/_server/CodeMirror/defs.js index 9cf5f9c3..0308cac2 100644 --- a/_server/CodeMirror/defs.js +++ b/_server/CodeMirror/defs.js @@ -3213,6 +3213,10 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [ "!doc": "获得某个图块或素材的信息,包括ID,cls,图片,坐标,faceIds等等", "!type": "fn(block?: number|string|block) -> blockInfo" }, + "getFaceDownId": { + "!doc": "获得某个图块对应行走图朝向向下的那一项的id;如果不存在行走图绑定则返回自身id。", + "!type": "fn(block?: string|number|block) -> string" + }, "canMoveDirectlyArray": { "!doc": "获得某些点可否通行的信息", "!type": "fn(locs?: [[number]])" diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index 20f65ae5..03e1cba3 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -1342,20 +1342,17 @@ allFloorIds : ['IdString_0'] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { - var pattern1 = MotaActionFunctions.pattern.id; - if(pattern1.test(EvalString_0) || pattern1.test(EvalString_1)){ - EvalString_0=MotaActionFunctions.PosString_pre(EvalString_0); - EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); - EvalString_0=[EvalString_0,EvalString_1] - } else { - var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; - if(!pattern2.test(EvalString_0) || !pattern2.test(EvalString_1))throw new Error('坐标格式错误,请右键点击帮助查看格式'); - EvalString_0=EvalString_0.split(','); - EvalString_1=EvalString_1.split(','); - if(EvalString_0.length!==EvalString_1.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); - for(var ii=0;ii 1) throw new Error('不透明度需要在0~1之间'); IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"'); @@ -1449,20 +1440,17 @@ allFloorIds : ['IdString_0'] colour : this.mapColor var floorstr = ''; if (EvalString_0 && EvalString_1) { - var pattern1 = MotaActionFunctions.pattern.id; - if(pattern1.test(EvalString_0) || pattern1.test(EvalString_1)){ - EvalString_0=MotaActionFunctions.PosString_pre(EvalString_0); - EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); - EvalString_0=[EvalString_0,EvalString_1] - } else { - var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; - if(!pattern2.test(EvalString_0) || !pattern2.test(EvalString_1))throw new Error('坐标格式错误,请右键点击帮助查看格式'); - EvalString_0=EvalString_0.split(','); - EvalString_1=EvalString_1.split(','); - if(EvalString_0.length!==EvalString_1.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); - for(var ii=0;ii= 360) throw '色相需要在0~359之间'; @@ -1565,20 +1553,17 @@ default : ["yellowDoor","","","","",false] selectPoint : ["EvalString_1", "EvalString_2", "IdString_0"] var floorstr = ''; if (EvalString_1 && EvalString_2) { - var pattern1 = MotaActionFunctions.pattern.id; - if(pattern1.test(EvalString_1) || pattern1.test(EvalString_2)){ - EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1); - EvalString_2=MotaActionFunctions.PosString_pre(EvalString_2); - EvalString_1=[EvalString_1,EvalString_2] - } else { - var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/; - if(!pattern2.test(EvalString_1) || !pattern2.test(EvalString_2))throw new Error('坐标格式错误,请右键点击帮助查看格式'); - EvalString_1=EvalString_1.split(','); - EvalString_2=EvalString_2.split(','); - if(EvalString_1.length!==EvalString_2.length)throw new Error('坐标格式错误,请右键点击帮助查看格式'); - for(var ii=0;ii