BombBlockData.ts
935 Bytes
import { BlockData } from "./BlockData";
export class BombBlockData extends BlockData {
//#region life cycle
onDead(): void {
super.onDead();
let startX = cc.clamp(this.gridPos.x - 1, 0, this.map.mapGridSize.x - 1);
let endX = cc.clamp(this.gridPos.x + 1, 0, this.map.mapGridSize.x - 1);
let startY = cc.clamp(this.gridPos.y - 1, 0, this.map.mapGridSize.y - 1);
let endY = cc.clamp(this.gridPos.y + 1, 0, this.map.mapGridSize.y - 1);
for (let x = startX; x <= endX; ++x) {
for (let y = startY; y <= endY; ++y) {
if (x == this.gridPos.x && y == this.gridPos.y) {
continue;
}
let block = this.map.getBlockByGridPos(x, y);
//消除周围的格子
if (block) {
block.dead();
}
}
}
}
//#endregion
}