BigBombBlockData.ts 1.23 KB
import BigBombView from "../../../prefabs/BigBombView";
import { ObjType } from "../BattleConst";
import { MapData } from "./MapData";
import { RectBlockData } from "./RectBlockData";

export class BigBombBlockData extends RectBlockData {

    initBlock(map: MapData, type: ObjType, hp: number, gridX: number, gridY: number, width: number, height: number): void {
        super.initBlock(map, type, hp, gridX, gridY, width, height);
    }

    protected getImgName(): string {
        return '';
    }

    onCollisonToBall(collider: cc.Collider): void {

        if (this._hp > 1) {
            super.onCollisonToBall(collider);
        }
        else if (this._hp == 1) {
            this._hp--;
            if (!this.map.battle.bigBombTriggered) {
                this.map.battle.bigBombTriggered = true;
                this.map.battle.collectAll();
                (this._IView as BigBombView).bomb();
            }
        }
    }

    onBombFinish() {
        this.dead();
    }

    onDead(): void {
        super.onDead();

        this.map.blockData.forEach((value, key, map) => {
            value.dead();
        }, this);
    }

    clone(): BigBombBlockData {
        return this.cloneValue(new BigBombBlockData()) as BigBombBlockData;
    }
}