Bgmap & Fgmap events

This commit is contained in:
ckcz123 committed 2018-09-13 16:08:17 +08:00
1 parent 8bc24c50c3
commit 095aedf1e1
9 files changed
+327 -74

No files matched your search

+5
View File
@@ -743,6 +743,11 @@ core.prototype.setBlock = function (number, x, y, floorId) {
core.maps.setBlock(number, x, y, floorId);
}
////// 改变图层块 //////
core.prototype.setBgFgBlock = function (name, number, x, y, floorId) {
core.maps.setBgFgBlock(name, number, x, y, floorId);
}
////// 添加一个全局动画 //////
core.prototype.addGlobalAnimate = function (block) {
core.maps.addGlobalAnimate(block);
+32 -2
View File
@@ -399,6 +399,16 @@ events.prototype.doAction = function() {
}
else this.doAction();
break;
case "setBlock": // 设置某图块
{
if (core.isset(data.loc)) {
x=core.calValue(data.loc[0]);
y=core.calValue(data.loc[1]);
}
core.setBlock(data.number, x, y, data.floorId);
this.doAction();
break;
}
case "showFloorImg": // 显示贴图
if (!core.isset(data.loc))
data.loc = [x,y];
@@ -419,13 +429,33 @@ events.prototype.doAction = function() {
core.events.doAction();
})
break;
case "setBlock": // 设置某图块
case "showBgFgMap": // 显示图层块
if (!core.isset(data.loc))
data.loc = [x,y];
if ((typeof data.loc[0] == 'number' || typeof data.loc[0] == 'string')
&& (typeof data.loc[1] == 'number' || typeof data.loc[1] == 'string'))
data.loc = [[core.calValue(data.loc[0]), core.calValue(data.loc[1])]];
core.maps.setBgFgMap("show", data.name, data.loc, data.floorId, function() {
core.events.doAction();
})
break;
case "hideBgFgMap": // 隐藏图层块
if (!core.isset(data.loc))
data.loc = [x,y];
if ((typeof data.loc[0] == 'number' || typeof data.loc[0] == 'string')
&& (typeof data.loc[1] == 'number' || typeof data.loc[1] == 'string'))
data.loc = [[core.calValue(data.loc[0]), core.calValue(data.loc[1])]];
core.maps.setBgFgMap("hide", data.name, data.loc, data.floorId, function() {
core.events.doAction();
})
break;
case "setBgFgBlock": // 设置图层块
{
if (core.isset(data.loc)) {
x=core.calValue(data.loc[0]);
y=core.calValue(data.loc[1]);
}
core.setBlock(data.number, x, y, data.floorId);
core.setBgFgBlock(data.name, data.number, x, y, data.floorId);
this.doAction();
break;
}
+35 -1
View File
@@ -350,7 +350,7 @@ maps.prototype.drawBgFgMap = function (floorId, canvas, name) {
var blockImage = core.material.images.terrains;
var getMapArray = function (name) {
var arr = core.floors[floorId][name+"map"] || [];
var arr = core.clone(core.floors[floorId][name+"map"] || []);
for (var x = 0; x < width; x++) {
for (var y = 0; y < height; y++) {
arr[y] = arr[y] || [];
@@ -992,6 +992,18 @@ maps.prototype.setBlock = function (number, x, y, floorId) {
}
}
////// 改变图层块 //////
maps.prototype.setBgFgBlock = function (name, number, x, y, floorId) {
floorId = floorId || core.status.floorId;
if (!core.isset(number) || !core.isset(x) || !core.isset(y)) return;
if (x<0 || x>=core.bigmap.width || y<0 || y>=core.bigmap.height) return;
if (name!='bg' && name!='fg') return;
core.setFlag(name+"v_"+floorId+"_"+x+"_"+y, number);
if (floorId == core.status.floorId)
core.drawMap(floorId);
}
////// 添加一个全局动画 //////
maps.prototype.addGlobalAnimate = function (b) {
if (main.mode=='editor' && main.editor.disableGlobalAnimate) return;
@@ -1140,6 +1152,28 @@ maps.prototype.setFloorImage = function (type, loc, floorId, callback) {
}
}
maps.prototype.setBgFgMap = function (type, name, loc, floorId, callback) {
if (type!='show') type='hide';
if (name!='fg') name='bg';
if (typeof loc[0] == 'number' && typeof loc[1] == 'number')
loc = [loc];
floorId = floorId||core.status.floorId;
if (loc.length==0) return;
loc.forEach(function (t) {
var x=t[0], y=t[1];
var flag = name+"_"+floorId+"_"+x+"_"+y;
core.setFlag(flag, type=='show'?false:true);
})
if (floorId==core.status.floorId) {
core.drawMap(floorId, callback);
}
else {
if (core.isset(callback)) callback();
}
}
maps.prototype.resetMap = function(floorId) {
var floorId = floorId||core.status.floorId;
core.status.maps[floorId] = this.loadFloor(floorId);