优化砍层插件,进一步缩减空间
This commit is contained in:
parent
08c632a5c5
commit
dc4a77afcd
@ -1593,7 +1593,7 @@ callback: 落地或淡出后的回调函数,可选
|
||||
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())
|
||||
|
||||
@ -3275,7 +3275,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
},
|
||||
"loadMap": {
|
||||
"!doc": "将存档中的地图信息重新读取出来",
|
||||
"!type": "fn(data?: ?, floorId?: string)"
|
||||
"!type": "fn(data?: ?, floorId?: string, flags?: ?)"
|
||||
},
|
||||
"setBlock": {
|
||||
"!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,
|
||||
"multiExecute": false,
|
||||
"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) {
|
||||
var name = '_executing_autoEvent_' + symbol;
|
||||
if (value == null) return core.hasFlag(name);
|
||||
else core.setFlag(name, value || null);
|
||||
var aei = core.getFlag('__aei__', []);
|
||||
if (value == null) return aei.indexOf(symbol) >= 0;
|
||||
else {
|
||||
aei = aei.filter(function (one) { return one != symbol; });
|
||||
if (value) aei.push(symbol);
|
||||
core.setFlag('__aei__', aei);
|
||||
}
|
||||
}
|
||||
|
||||
events.prototype.autoEventExecuted = function (symbol, value) {
|
||||
var name = '_executed_autoEvent_' + symbol;
|
||||
if (value == null) return core.hasFlag(name);
|
||||
else core.setFlag(name, value || null);
|
||||
var aed = core.getFlag('__aed__', []);
|
||||
if (value == null) return aed.indexOf(symbol) >= 0;
|
||||
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) {
|
||||
|
||||
@ -360,7 +360,7 @@ maps.prototype.saveMap = function (floorId) {
|
||||
}
|
||||
// 砍层状态:直接返回
|
||||
if ((flags.__removed__ || []).indexOf(floorId) >= 0) {
|
||||
return { deleted: true, canFlyTo: false, canFlyFrom: false, cannotViewMap: true };
|
||||
return {};
|
||||
}
|
||||
|
||||
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) {
|
||||
var map = {};
|
||||
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]);
|
||||
})
|
||||
return map;
|
||||
|
||||
@ -255,12 +255,20 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
||||
flags.__visited__ = flags.__visited__ || {};
|
||||
flags.__removed__ = flags.__removed__ || [];
|
||||
flags.__disabled__ = flags.__disabled__ || {};
|
||||
flags.__leaveLoc__ = flags.__leaveLoc__ || {};
|
||||
for (var i = fromIndex; i <= toIndex; ++i) {
|
||||
var floorId = core.floorIds[i];
|
||||
if (core.status.maps[floorId].deleted) continue;
|
||||
delete flags.__visited__[floorId];
|
||||
flags.__removed__.push(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].canFlyTo = 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
|
||||
|
||||
/** 将存档中的地图信息重新读取出来 */
|
||||
loadMap(data?: any, floorId?: string): any
|
||||
loadMap(data?: any, floorId?: string, flags?: any): any
|
||||
|
||||
/** 更改地图画布的尺寸 */
|
||||
resizeMap(floorId?: string): void
|
||||
|
||||
Loading…
Reference in New Issue
Block a user