优化砍层插件,进一步缩减空间
This commit is contained in:
parent
08c632a5c5
commit
dc4a77afcd
@ -1593,7 +1593,7 @@ callback: 落地或淡出后的回调函数,可选
|
|||||||
loadFloor: fn(floorId?: string, map?: ?)
|
loadFloor: fn(floorId?: string, map?: ?)
|
||||||
从文件或存档中加载某个楼层
|
从文件或存档中加载某个楼层
|
||||||
|
|
||||||
loadMap: fn(data?: ?, floorId?: string)
|
loadMap: fn(data?: ?, floorId?: string, flags?: ?)
|
||||||
将存档中的地图信息重新读取出来
|
将存档中的地图信息重新读取出来
|
||||||
|
|
||||||
moveBlock: fn(x: number, y: number, steps: [string], time?: number, keep?: bool, callback?: fn())
|
moveBlock: fn(x: number, y: number, steps: [string], time?: number, keep?: bool, callback?: fn())
|
||||||
|
|||||||
@ -3275,7 +3275,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
|||||||
},
|
},
|
||||||
"loadMap": {
|
"loadMap": {
|
||||||
"!doc": "将存档中的地图信息重新读取出来",
|
"!doc": "将存档中的地图信息重新读取出来",
|
||||||
"!type": "fn(data?: ?, floorId?: string)"
|
"!type": "fn(data?: ?, floorId?: string, flags?: ?)"
|
||||||
},
|
},
|
||||||
"setBlock": {
|
"setBlock": {
|
||||||
"!doc": "转变图块<br/>例如:core.setBlock(1, 0, 0); // 把地图左上角变成黄墙<br/>number: 新图块的数字(也支持纯数字字符串如'1')或id<br/>x: 横坐标<br/>y: 纵坐标<br/>floorId: 地图id,不填视为当前地图",
|
"!doc": "转变图块<br/>例如:core.setBlock(1, 0, 0); // 把地图左上角变成黄墙<br/>number: 新图块的数字(也支持纯数字字符串如'1')或id<br/>x: 横坐标<br/>y: 纵坐标<br/>floorId: 地图id,不填视为当前地图",
|
||||||
|
|||||||
@ -611,7 +611,8 @@ editor_mappanel_wrapper = function (editor) {
|
|||||||
"delayExecute": false,
|
"delayExecute": false,
|
||||||
"multiExecute": false,
|
"multiExecute": false,
|
||||||
"data": [
|
"data": [
|
||||||
{"type": "openDoor"}
|
{"type": "openDoor"},
|
||||||
|
{"type": "setValue", "name": doorFlag, "operator": "=", "value": "null"},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1102,15 +1102,23 @@ events.prototype.checkAutoEvents = function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
events.prototype.autoEventExecuting = function (symbol, value) {
|
events.prototype.autoEventExecuting = function (symbol, value) {
|
||||||
var name = '_executing_autoEvent_' + symbol;
|
var aei = core.getFlag('__aei__', []);
|
||||||
if (value == null) return core.hasFlag(name);
|
if (value == null) return aei.indexOf(symbol) >= 0;
|
||||||
else core.setFlag(name, value || null);
|
else {
|
||||||
|
aei = aei.filter(function (one) { return one != symbol; });
|
||||||
|
if (value) aei.push(symbol);
|
||||||
|
core.setFlag('__aei__', aei);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
events.prototype.autoEventExecuted = function (symbol, value) {
|
events.prototype.autoEventExecuted = function (symbol, value) {
|
||||||
var name = '_executed_autoEvent_' + symbol;
|
var aed = core.getFlag('__aed__', []);
|
||||||
if (value == null) return core.hasFlag(name);
|
if (value == null) return aed.indexOf(symbol) >= 0;
|
||||||
else core.setFlag(name, value || null);
|
else {
|
||||||
|
aed = aed.filter(function (one) { return one != symbol; });
|
||||||
|
if (value) aed.push(symbol);
|
||||||
|
core.setFlag('__aed__', aed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
events.prototype.pushEventLoc = function (x, y, floorId) {
|
events.prototype.pushEventLoc = function (x, y, floorId) {
|
||||||
|
|||||||
@ -360,7 +360,7 @@ maps.prototype.saveMap = function (floorId) {
|
|||||||
}
|
}
|
||||||
// 砍层状态:直接返回
|
// 砍层状态:直接返回
|
||||||
if ((flags.__removed__ || []).indexOf(floorId) >= 0) {
|
if ((flags.__removed__ || []).indexOf(floorId) >= 0) {
|
||||||
return { deleted: true, canFlyTo: false, canFlyFrom: false, cannotViewMap: true };
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
var map = maps[floorId];
|
var map = maps[floorId];
|
||||||
@ -385,10 +385,13 @@ maps.prototype._compressFloorData = function (map, floor) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
////// 将存档中的地图信息重新读取出来 //////
|
////// 将存档中的地图信息重新读取出来 //////
|
||||||
maps.prototype.loadMap = function (data, floorId) {
|
maps.prototype.loadMap = function (data, floorId, flags) {
|
||||||
if (!floorId) {
|
if (!floorId) {
|
||||||
var map = {};
|
var map = {};
|
||||||
core.floorIds.forEach(function (id) {
|
core.floorIds.forEach(function (id) {
|
||||||
|
if (core.inArray((flags||{}).__removed__, id)) {
|
||||||
|
data[id] = { deleted: true, canFlyTo: false, canFlyFrom: false, cannotViewMap: true };
|
||||||
|
}
|
||||||
map[id] = core.maps.loadFloor(id, data[id]);
|
map[id] = core.maps.loadFloor(id, data[id]);
|
||||||
})
|
})
|
||||||
return map;
|
return map;
|
||||||
|
|||||||
@ -255,12 +255,20 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
flags.__visited__ = flags.__visited__ || {};
|
flags.__visited__ = flags.__visited__ || {};
|
||||||
flags.__removed__ = flags.__removed__ || [];
|
flags.__removed__ = flags.__removed__ || [];
|
||||||
flags.__disabled__ = flags.__disabled__ || {};
|
flags.__disabled__ = flags.__disabled__ || {};
|
||||||
|
flags.__leaveLoc__ = flags.__leaveLoc__ || {};
|
||||||
for (var i = fromIndex; i <= toIndex; ++i) {
|
for (var i = fromIndex; i <= toIndex; ++i) {
|
||||||
var floorId = core.floorIds[i];
|
var floorId = core.floorIds[i];
|
||||||
if (core.status.maps[floorId].deleted) continue;
|
if (core.status.maps[floorId].deleted) continue;
|
||||||
delete flags.__visited__[floorId];
|
delete flags.__visited__[floorId];
|
||||||
flags.__removed__.push(floorId);
|
flags.__removed__.push(floorId);
|
||||||
delete flags.__disabled__[floorId];
|
delete flags.__disabled__[floorId];
|
||||||
|
delete flags.__leaveLoc__[floorId];
|
||||||
|
(core.status.autoEvents || []).forEach(function (event) {
|
||||||
|
if (event.floorId == floorId && event.currentFloor) {
|
||||||
|
core.autoEventExecuting(event.symbol, false);
|
||||||
|
core.autoEventExecuted(event.symbol, false);
|
||||||
|
}
|
||||||
|
});
|
||||||
core.status.maps[floorId].deleted = true;
|
core.status.maps[floorId].deleted = true;
|
||||||
core.status.maps[floorId].canFlyTo = false;
|
core.status.maps[floorId].canFlyTo = false;
|
||||||
core.status.maps[floorId].canFlyFrom = false;
|
core.status.maps[floorId].canFlyFrom = false;
|
||||||
|
|||||||
2
runtime.d.ts
vendored
2
runtime.d.ts
vendored
@ -1738,7 +1738,7 @@ declare class maps {
|
|||||||
saveMap(floorId?: string): any
|
saveMap(floorId?: string): any
|
||||||
|
|
||||||
/** 将存档中的地图信息重新读取出来 */
|
/** 将存档中的地图信息重新读取出来 */
|
||||||
loadMap(data?: any, floorId?: string): any
|
loadMap(data?: any, floorId?: string, flags?: any): any
|
||||||
|
|
||||||
/** 更改地图画布的尺寸 */
|
/** 更改地图画布的尺寸 */
|
||||||
resizeMap(floorId?: string): void
|
resizeMap(floorId?: string): void
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user