41 lines
1.5 KiB
TypeScript
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);
|
|
}
|
|
})
|
|
}
|
|
}
|