| 19 | classes: string[]; |
| 20 | |
| 21 | constructor([hide, type, asset, ...classes]: string[]) { |
| 22 | super(); |
| 23 | const [character, layer] = asset.split(':'); |
| 24 | this.asset = character; |
| 25 | this.layer = layer; |
| 26 | |
| 27 | if (typeof this.engine.character(this.asset) !== 'undefined') { |
| 28 | this.parent = this.engine.element().find(`[data-character="${this.asset}"]`).last(); |
| 29 | this.element = this.parent.find(`[data-layer="${this.layer}"]`).last(); |
| 30 | } else { |
| 31 | FancyError.show('action:hide_character_layer:character_not_found', { |
| 32 | asset: this.asset, |
| 33 | availableCharacters: Object.keys(this.engine.characters()), |
| 34 | statement: `<code class='language=javascript'>"${this._statement}"</code>`, |
| 35 | label: this.engine.state('label'), |
| 36 | step: this.engine.state('step') |
| 37 | }); |
| 38 | } |
| 39 | |
| 40 | if (typeof classes !== 'undefined') { |
| 41 | this.classes = classes; |
| 42 | } else { |
| 43 | this.classes = []; |
| 44 | } |
| 45 | this.classes = this.classes.filter((c) => (c !== 'at' && c !== 'with')); |
| 46 | } |
| 47 | |
| 48 | override async willApply(): Promise<void> { |
| 49 | |