ConceptCreator/src/app/editor/character-editor/character-editor.component.ts
Sebastian Böckelmann 93498845ec
All checks were successful
E2E Testing / test (push) Successful in 1m34s
Add Character-Relation-Specific Gamesystems
2024-04-19 12:52:20 +02:00

41 lines
1.5 KiB
TypeScript

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);
}
})
}
}