BlockSkillSwitcher.ts
1007 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { BattleEvent, BlockSkill } from "../../BattleConst";
import { BattleManager } from "../../BattleManager";
import { BlockData } from "../BlockData";
import { BlockSkillBase } from "./BlockSkillBase";
/**闸门 */
export class BlockSkillSwitcher extends BlockSkillBase {
private _defaultIsOpen: boolean = false;
private _isOpen: boolean = false;
get isOpen(): boolean { return this._isOpen; }
constructor($owner: BlockData, defaultIsOpen: boolean) {
super(BlockSkill.SWITCHER, $owner);
this._defaultIsOpen = defaultIsOpen;
BattleManager.ins.eventNode.on(BattleEvent.ROUND_END, this.onRoundFinish, this);
}
setDefaultState(value: boolean) {
this._defaultIsOpen = value;
}
setOpen(value: boolean) {
this._isOpen = value;
this.owner.setIsProtected(!value);
}
onAddedToBlock(): void {
this.setOpen(this._defaultIsOpen);
}
private onRoundFinish() {
this.setOpen(!this._isOpen);
}
}