From 4d8fc93ef84e7591643620eb31b56c63f80cd7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B6ckelmann?= Date: Thu, 11 Apr 2024 13:45:29 +0200 Subject: [PATCH] Beginning of Editor for Characterspecific Gamesystems --- src/app/app.module.ts | 22 +++---------- .../character-editor.component.html | 10 ++---- .../character-editor.component.ts | 31 +------------------ src/app/editor/editor.component.html | 3 +- src/app/editor/editor.component.ts | 2 +- .../game-model/characters/Character.ts | 2 +- 6 files changed, 12 insertions(+), 58 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ea5f6b7..eb7f6e2 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -29,7 +29,7 @@ import {ModelComponentEditorComponent} from "./editor/model-component-editor/mod import {DeleteConfirmationDialogComponent} from "./delete-confirmation-dialog/delete-confirmation-dialog.component"; import {MatDialogActions, MatDialogContent, MatDialogTitle} from "@angular/material/dialog"; import {GamescriptOverviewComponent} from "./side-overviews/gamescript-overview/gamescript-overview.component"; -import { MatTreeModule} from "@angular/material/tree"; +import {MatTree, MatTreeModule} from "@angular/material/tree"; import {GamesystemEditorComponent} from "./editor/gamesystem-editor/gamesystem-editor.component"; import { SimpleGamesystemEditorComponent @@ -61,7 +61,7 @@ import { ProductStateEditorComponent } from "./editor/gamesystem-editor/state-editor/product-state-editor/product-state-editor.component"; import {MatTooltip} from "@angular/material/tooltip"; -import {MatCard, MatCardContent, MatCardHeader, MatCardTitle} from "@angular/material/card"; +import {MatCard, MatCardContent, MatCardHeader} from "@angular/material/card"; import { ScriptaccountActionEditorComponent } from "./editor/gamesystem-editor/transition-editor/scriptaccount-action-editor/scriptaccount-action-editor.component"; @@ -70,15 +70,7 @@ import { } from "./editor/gamesystem-editor/scriptaccount-condition-editor/scriptaccount-condition-editor.component"; import {CharacterOverviewComponent} from "./side-overviews/character-overview/character-overview.component"; import {CharacterEditorComponent} from "./editor/character-editor/character-editor.component"; -import { - MatAccordion, - MatExpansionPanel, - MatExpansionPanelHeader, - MatExpansionPanelTitle -} from "@angular/material/expansion"; -import { - TemplateSystemEditorComponent -} from "./editor/gamesystem-editor/template-system-editor/template-system-editor.component"; +import {MatAccordion, MatExpansionPanel} from "@angular/material/expansion"; // AoT requires an exported function for factories const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new TranslateHttpLoader(http, './assets/i18n/', '.json'); @@ -102,8 +94,7 @@ const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new Transl ScriptaccountActionEditorComponent, ScriptaccountConditionEditorComponent, CharacterOverviewComponent, - CharacterEditorComponent, - TemplateSystemEditorComponent + CharacterEditorComponent ], imports: [ BrowserModule, @@ -162,11 +153,8 @@ const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new Transl MatCard, MatCardContent, MatCardHeader, - MatCardTitle, MatAccordion, - MatExpansionPanel, - MatExpansionPanelTitle, - MatExpansionPanelHeader + MatExpansionPanel ], providers: [], bootstrap: [AppComponent] diff --git a/src/app/editor/character-editor/character-editor.component.html b/src/app/editor/character-editor/character-editor.component.html index 5a38d04..1bdd02b 100644 --- a/src/app/editor/character-editor/character-editor.component.html +++ b/src/app/editor/character-editor/character-editor.component.html @@ -1,16 +1,12 @@ - Charactersystems + Characterspecific Gamesystems - - - {{characterSystem.componentName}} - - + + {{gamesystem.componentName}} - diff --git a/src/app/editor/character-editor/character-editor.component.ts b/src/app/editor/character-editor/character-editor.component.ts index 5d37f19..cb49801 100644 --- a/src/app/editor/character-editor/character-editor.component.ts +++ b/src/app/editor/character-editor/character-editor.component.ts @@ -1,14 +1,6 @@ import {Component, Input} from '@angular/core'; -import {Character} from '../../project/game-model/characters/Character'; -import {MatDialog} from "@angular/material/dialog"; -import { - TemplateSystemEditorComponent -} from "../gamesystem-editor/template-system-editor/template-system-editor.component"; +import {Character} from "../../project/game-model/characters/Character"; import {GameModel} from "../../project/game-model/GameModel"; -import {TemplateType} from "../../project/game-model/gamesystems/TemplateType"; -import {Gamesystem} from "../../project/game-model/gamesystems/Gamesystem"; -import {SimpleGamesystem} from "../../project/game-model/gamesystems/SimpleGamesystem"; -import {ProductGamesystem} from "../../project/game-model/gamesystems/ProductGamesystem"; @Component({ selector: 'app-character-editor', @@ -19,25 +11,4 @@ export class CharacterEditorComponent { @Input() character: Character | undefined @Input() gameModel: GameModel | undefined - - constructor(private dialog: MatDialog) { - } - - openTemplateEditor() { - const dialogRef = this.dialog.open(TemplateSystemEditorComponent, { - minWidth: "400px", - data: this.gameModel!.getTemplateGamesystems(TemplateType.CHARACTER) - }) - - dialogRef.afterClosed().subscribe(res => { - if(res != undefined) { - const referenceSystem: Gamesystem = res - if(referenceSystem instanceof SimpleGamesystem) { - this.character!.addCharacterSpecificSimpleGamesystem(referenceSystem) - } else if(referenceSystem instanceof ProductGamesystem) { - this.character!.addCharacterSpecificProductTemplateGamesystem(referenceSystem) - } - } - }) - } } diff --git a/src/app/editor/editor.component.html b/src/app/editor/editor.component.html index 5c7a222..e21bbcd 100644 --- a/src/app/editor/editor.component.html +++ b/src/app/editor/editor.component.html @@ -15,8 +15,7 @@ (onOpenGamesystemEditor)="openGameModelComponent($event)" [scriptAccounts]="gameModel!.scriptAccounts"> + [gameModel]="gameModel!" [character]="convertModelComponentToCharacter(modelComponent)"> diff --git a/src/app/editor/editor.component.ts b/src/app/editor/editor.component.ts index 3c8325a..6136245 100644 --- a/src/app/editor/editor.component.ts +++ b/src/app/editor/editor.component.ts @@ -54,7 +54,7 @@ export class EditorComponent { convertModelComponentToCharacter(modelComponent: ModelComponent) { if(modelComponent instanceof Character) { - return modelComponent as Character + return modelComponent as Character; } } } diff --git a/src/app/project/game-model/characters/Character.ts b/src/app/project/game-model/characters/Character.ts index 9934a79..d1a1ed2 100644 --- a/src/app/project/game-model/characters/Character.ts +++ b/src/app/project/game-model/characters/Character.ts @@ -4,7 +4,7 @@ import {SimpleTemplateGamesystem} from "../gamesystems/SimpleTemplateGamesystem" export class Character extends ModelComponent{ - private characterSpecificGamesystems: SimpleTemplateGamesystem[] = [] + characterSpecificGamesystems: SimpleTemplateGamesystem[] = [] constructor(componentName: string, componentDescription: string) { super(componentName, componentDescription, ModelComponentType.CHARACTER);