import {Component, Input} from '@angular/core'; import {Character} from "../../project/game-model/characters/Character"; import {GameModel} from "../../project/game-model/GameModel"; import {MatDialog} from "@angular/material/dialog"; import { TemplateSpecificatorComponent } from "../gamesystem-editor/template-specificator/template-specificator.component"; import {TemplateType} from "../../project/game-model/templates/TemplateType"; @Component({ selector: 'app-character-editor', templateUrl: './character-editor.component.html', styleUrl: './character-editor.component.scss' }) export class CharacterEditorComponent { @Input() character: Character | undefined; @Input() gameModel: GameModel | undefined; constructor(private dialog: MatDialog) { } openTemplateSpecificator() { const dialogRef = this.dialog.open(TemplateSpecificatorComponent, {data: this.gameModel?.getTemplateSystems(TemplateType.CHARACTER), minWidth: "400px"}); dialogRef.afterClosed().subscribe(res => { if(res != undefined) { this.character!.addCharacterSpecificSimpleTemplatesystem(res); } }) } openCharacterRelationTemplateSpecificator() { const dialogRef = this.dialog.open(TemplateSpecificatorComponent, {data: this.gameModel!.getTemplateSystems(TemplateType.CHARACTER_RELATION), minWidth: "400px"}); dialogRef.afterClosed().subscribe(res => { if(res != undefined) { this.character!.addAsymetricCharacterRelationGamesystem(res); } }) } }