From f38626683e279fb3b12e23bbcec0f83f8fb3e81f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B6ckelmann?= Date: Sat, 17 Feb 2024 15:38:51 +0100 Subject: [PATCH] Refactor Gamesystems --- .../productGamesystems/CreateProductStates.spec.ts | 2 +- .../CreateProductTransitions.spec.ts | 2 +- .../productGamesystems/EqualInnerStates.spec.ts | 2 +- .../ProductStateGeneration.spec.ts | 2 +- .../productGamesystems/ProductStateTrainer.ts | 4 ++-- src/app/app.component.ts | 2 +- src/app/editor/editor.component.ts | 4 ++-- .../gamesystem-editor/gamesystem-editor.component.ts | 4 ++-- .../LeafGamesystemCalculator.ts | 6 +++--- .../product-state-editor.component.ts | 8 ++++---- .../simple-state-editor.component.ts | 4 ++-- .../product-transition-editor.component.ts | 4 ++-- .../simple-transition-editor.component.ts | 6 +++--- src/app/game-model/GameModel.ts | 4 ++-- .../game-model/fs/parser/SimpleGamesystemParser.ts | 4 ++-- src/app/game-model/gamesystems/ProductGamesystem.ts | 10 +++++----- src/app/game-model/gamesystems/SimpleGamesystem.ts | 12 ++++++------ .../gamesystems/{ => states}/ProductState.ts | 4 ++-- .../gamesystems/{ => states}/SimpleState.ts | 4 ++-- src/app/game-model/gamesystems/{ => states}/State.ts | 2 +- .../{ => transitions}/ProductTransition.ts | 2 +- .../{ => transitions}/SimpleTransition.ts | 2 +- .../gamesystems/{ => transitions}/Transition.ts | 2 +- .../gamescript-overview.component.ts | 4 ++-- 24 files changed, 50 insertions(+), 50 deletions(-) rename src/app/game-model/gamesystems/{ => states}/ProductState.ts (91%) rename src/app/game-model/gamesystems/{ => states}/SimpleState.ts (80%) rename src/app/game-model/gamesystems/{ => states}/State.ts (90%) rename src/app/game-model/gamesystems/{ => transitions}/ProductTransition.ts (84%) rename src/app/game-model/gamesystems/{ => transitions}/SimpleTransition.ts (68%) rename src/app/game-model/gamesystems/{ => transitions}/Transition.ts (89%) diff --git a/e2e/game-model/gamesystems/productGamesystems/CreateProductStates.spec.ts b/e2e/game-model/gamesystems/productGamesystems/CreateProductStates.spec.ts index 3ee77ef..165f9c6 100644 --- a/e2e/game-model/gamesystems/productGamesystems/CreateProductStates.spec.ts +++ b/e2e/game-model/gamesystems/productGamesystems/CreateProductStates.spec.ts @@ -11,7 +11,7 @@ import {end} from "electron-debug"; import {GamesystemTrainer} from "./GamesystemTrainer"; import {ProductGamesystem} from "../../../src/app/game-model/gamesystems/ProductGamesystem"; import {ProductStateTrainer} from "./ProductStateTrainer"; -import {SimpleState} from "../../../../src/app/game-model/gamesystems/SimpleState"; +import {SimpleState} from "../../../../src/app/game-model/gamesystems/states/SimpleState"; test.describe('Test Create ProductStates', () => { test("Adding already existent ProductState", async () => { diff --git a/e2e/game-model/gamesystems/productGamesystems/CreateProductTransitions.spec.ts b/e2e/game-model/gamesystems/productGamesystems/CreateProductTransitions.spec.ts index fc7dcab..dd687f3 100644 --- a/e2e/game-model/gamesystems/productGamesystems/CreateProductTransitions.spec.ts +++ b/e2e/game-model/gamesystems/productGamesystems/CreateProductTransitions.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from '@playwright/test'; import {ProductStateTrainer} from "./ProductStateTrainer"; -import {ProductState} from "../../../../src/app/game-model/gamesystems/ProductState"; +import {ProductState} from "../../../../src/app/game-model/gamesystems/states/ProductState"; import {SimpleGamesystem} from "../../../../src/app/game-model/gamesystems/SimpleGamesystem"; test.describe('Test Create ProductTransitions', () => { test("Test ProductTransition Creation with invalid inputs", async ()=> { diff --git a/e2e/game-model/gamesystems/productGamesystems/EqualInnerStates.spec.ts b/e2e/game-model/gamesystems/productGamesystems/EqualInnerStates.spec.ts index 1b6415e..5479bf2 100644 --- a/e2e/game-model/gamesystems/productGamesystems/EqualInnerStates.spec.ts +++ b/e2e/game-model/gamesystems/productGamesystems/EqualInnerStates.spec.ts @@ -11,7 +11,7 @@ import {end} from "electron-debug"; import {GamesystemTrainer} from "./GamesystemTrainer"; import {ProductGamesystem} from "../../../src/app/game-model/gamesystems/ProductGamesystem"; import {ProductStateTrainer} from "./ProductStateTrainer"; -import {SimpleState} from "../../../../src/app/game-model/gamesystems/SimpleState"; +import {SimpleState} from "../../../../src/app/game-model/gamesystems/states/SimpleState"; test.describe('Test Check Equal of Innerstates', () => { test("Test invalid input for equal checking", async()=> { diff --git a/e2e/game-model/gamesystems/productGamesystems/ProductStateGeneration.spec.ts b/e2e/game-model/gamesystems/productGamesystems/ProductStateGeneration.spec.ts index c9991f3..9e71230 100644 --- a/e2e/game-model/gamesystems/productGamesystems/ProductStateGeneration.spec.ts +++ b/e2e/game-model/gamesystems/productGamesystems/ProductStateGeneration.spec.ts @@ -11,7 +11,7 @@ import {end} from "electron-debug"; import {GamesystemTrainer} from "./GamesystemTrainer"; import {ProductGamesystem} from "../../../src/app/game-model/gamesystems/ProductGamesystem"; import {ProductStateTrainer} from "./ProductStateTrainer"; -import {SimpleState} from "../../../../src/app/game-model/gamesystems/SimpleState"; +import {SimpleState} from "../../../../src/app/game-model/gamesystems/states/SimpleState"; import {ProductSystemGenerationTrainer} from "./ProductSystemGenerationTrainer"; test.describe('Test Create ProductStates', () => { diff --git a/e2e/game-model/gamesystems/productGamesystems/ProductStateTrainer.ts b/e2e/game-model/gamesystems/productGamesystems/ProductStateTrainer.ts index e473f9f..797ad83 100644 --- a/e2e/game-model/gamesystems/productGamesystems/ProductStateTrainer.ts +++ b/e2e/game-model/gamesystems/productGamesystems/ProductStateTrainer.ts @@ -1,7 +1,7 @@ import {ProductGamesystem} from "../../../../src/app/game-model/gamesystems/ProductGamesystem"; import {SimpleGamesystem} from "../../../../src/app/game-model/gamesystems/SimpleGamesystem"; -import {ProductState} from "../../../../src/app/game-model/gamesystems/ProductState"; -import {ProductTransition} from "../../../../src/app/game-model/gamesystems/ProductTransition"; +import {ProductState} from "../../../../src/app/game-model/gamesystems/states/ProductState"; +import {ProductTransition} from "../../../../src/app/game-model/gamesystems/transitions/ProductTransition"; export class ProductStateTrainer { static INNERSTATE_LETTER_1 = "A"; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2c24f78..b416d2c 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -16,7 +16,7 @@ import {ScriptAccount} from "./game-model/scriptAccounts/ScriptAccount"; import {GamescriptOverviewComponent} from "./side-overviews/gamescript-overview/gamescript-overview.component"; import {SimpleGamesystem} from "./game-model/gamesystems/SimpleGamesystem"; import {ProductGamesystem} from "./game-model/gamesystems/ProductGamesystem"; -import {ProductState} from "./game-model/gamesystems/ProductState"; +import {ProductState} from "./game-model/gamesystems/states/ProductState"; import {LoadModel} from "../../app/LoadModel"; import {LoadedProject} from "../../app/LoadedProject"; import {ProcessLoadedProject} from "./game-model/fs/ProcessLoadedProject"; diff --git a/src/app/editor/editor.component.ts b/src/app/editor/editor.component.ts index 77a8433..38ec9f8 100644 --- a/src/app/editor/editor.component.ts +++ b/src/app/editor/editor.component.ts @@ -4,8 +4,8 @@ import {ModelComponent} from "../game-model/ModelComponent"; import {ModelComponentType} from "../game-model/ModelComponentType"; import {ScriptAccount} from "../game-model/scriptAccounts/ScriptAccount"; import {Gamesystem} from "../game-model/gamesystems/Gamesystem"; -import {State} from "../game-model/gamesystems/State"; -import {Transition} from "../game-model/gamesystems/Transition"; +import {State} from "../game-model/gamesystems/states/State"; +import {Transition} from "../game-model/gamesystems/transitions/Transition"; @Component({ selector: 'app-editor', diff --git a/src/app/editor/gamesystem-editor/gamesystem-editor.component.ts b/src/app/editor/gamesystem-editor/gamesystem-editor.component.ts index e21373f..8bff8e1 100644 --- a/src/app/editor/gamesystem-editor/gamesystem-editor.component.ts +++ b/src/app/editor/gamesystem-editor/gamesystem-editor.component.ts @@ -1,8 +1,8 @@ import {Component, EventEmitter, Input, Output} from '@angular/core'; import {GameModel} from "../../game-model/GameModel"; import {Gamesystem} from "../../game-model/gamesystems/Gamesystem"; -import {State} from "../../game-model/gamesystems/State"; -import {Transition} from "../../game-model/gamesystems/Transition"; +import {State} from "../../game-model/gamesystems/states/State"; +import {Transition} from "../../game-model/gamesystems/transitions/Transition"; import {SimpleGamesystem} from "../../game-model/gamesystems/SimpleGamesystem"; import {ProductGamesystem} from "../../game-model/gamesystems/ProductGamesystem"; diff --git a/src/app/editor/gamesystem-editor/product-gamesystem-editor/LeafGamesystemCalculator.ts b/src/app/editor/gamesystem-editor/product-gamesystem-editor/LeafGamesystemCalculator.ts index b505d93..d1951be 100644 --- a/src/app/editor/gamesystem-editor/product-gamesystem-editor/LeafGamesystemCalculator.ts +++ b/src/app/editor/gamesystem-editor/product-gamesystem-editor/LeafGamesystemCalculator.ts @@ -1,9 +1,9 @@ import {Gamesystem} from "../../../game-model/gamesystems/Gamesystem"; import {SimpleGamesystem} from "../../../game-model/gamesystems/SimpleGamesystem"; import {ProductGamesystem} from "../../../game-model/gamesystems/ProductGamesystem"; -import {State} from "../../../game-model/gamesystems/State"; -import {ProductState} from "../../../game-model/gamesystems/ProductState"; -import {SimpleState} from "../../../game-model/gamesystems/SimpleState"; +import {State} from "../../../game-model/gamesystems/states/State"; +import {ProductState} from "../../../game-model/gamesystems/states/ProductState"; +import {SimpleState} from "../../../game-model/gamesystems/states/SimpleState"; export class LeafGamesystemCalculator { diff --git a/src/app/editor/gamesystem-editor/state-editor/product-state-editor/product-state-editor.component.ts b/src/app/editor/gamesystem-editor/state-editor/product-state-editor/product-state-editor.component.ts index 79a5880..9b15ede 100644 --- a/src/app/editor/gamesystem-editor/state-editor/product-state-editor/product-state-editor.component.ts +++ b/src/app/editor/gamesystem-editor/state-editor/product-state-editor/product-state-editor.component.ts @@ -4,11 +4,11 @@ import {SimpleGamesystem} from "../../../../game-model/gamesystems/SimpleGamesys import { MatTableDataSource } from "@angular/material/table"; -import {SimpleState} from "../../../../game-model/gamesystems/SimpleState"; -import {State} from "../../../../game-model/gamesystems/State"; +import {SimpleState} from "../../../../game-model/gamesystems/states/SimpleState"; +import {State} from "../../../../game-model/gamesystems/states/State"; import {LeafGamesystemCalculator} from "../../product-gamesystem-editor/LeafGamesystemCalculator"; -import {ProductTransition} from "../../../../game-model/gamesystems/ProductTransition"; -import {ProductState} from "../../../../game-model/gamesystems/ProductState"; +import {ProductTransition} from "../../../../game-model/gamesystems/transitions/ProductTransition"; +import {ProductState} from "../../../../game-model/gamesystems/states/ProductState"; @Component({ selector: 'app-product-state-editor', diff --git a/src/app/editor/gamesystem-editor/state-editor/simple-state-editor/simple-state-editor.component.ts b/src/app/editor/gamesystem-editor/state-editor/simple-state-editor/simple-state-editor.component.ts index 3d4d1ed..8177aa6 100644 --- a/src/app/editor/gamesystem-editor/state-editor/simple-state-editor/simple-state-editor.component.ts +++ b/src/app/editor/gamesystem-editor/state-editor/simple-state-editor/simple-state-editor.component.ts @@ -1,10 +1,10 @@ import {Component, Input, OnInit} from '@angular/core'; -import {SimpleState} from "../../../../game-model/gamesystems/SimpleState"; +import {SimpleState} from "../../../../game-model/gamesystems/states/SimpleState"; import {MatTableDataSource} from "@angular/material/table"; import {animate, state, style, transition, trigger} from "@angular/animations"; import {MatSnackBar} from "@angular/material/snack-bar"; import {SimpleGamesystem} from "../../../../game-model/gamesystems/SimpleGamesystem"; -import {ProductState} from "../../../../game-model/gamesystems/ProductState"; +import {ProductState} from "../../../../game-model/gamesystems/states/ProductState"; import {LeafGamesystemCalculator} from "../../product-gamesystem-editor/LeafGamesystemCalculator"; @Component({ diff --git a/src/app/editor/gamesystem-editor/transition-editor/product-transition-editor/product-transition-editor.component.ts b/src/app/editor/gamesystem-editor/transition-editor/product-transition-editor/product-transition-editor.component.ts index 8a22044..6e99ce8 100644 --- a/src/app/editor/gamesystem-editor/transition-editor/product-transition-editor/product-transition-editor.component.ts +++ b/src/app/editor/gamesystem-editor/transition-editor/product-transition-editor/product-transition-editor.component.ts @@ -5,8 +5,8 @@ import { MatTableDataSource } from "@angular/material/table"; import {LeafGamesystemCalculator} from "../../product-gamesystem-editor/LeafGamesystemCalculator"; -import {ProductTransition} from "../../../../game-model/gamesystems/ProductTransition"; -import {ProductState} from "../../../../game-model/gamesystems/ProductState"; +import {ProductTransition} from "../../../../game-model/gamesystems/transitions/ProductTransition"; +import {ProductState} from "../../../../game-model/gamesystems/states/ProductState"; class DisplayedColumnName { displayedName: string internalName: string diff --git a/src/app/editor/gamesystem-editor/transition-editor/simple-transition-editor/simple-transition-editor.component.ts b/src/app/editor/gamesystem-editor/transition-editor/simple-transition-editor/simple-transition-editor.component.ts index b159e13..5c8b3d4 100644 --- a/src/app/editor/gamesystem-editor/transition-editor/simple-transition-editor/simple-transition-editor.component.ts +++ b/src/app/editor/gamesystem-editor/transition-editor/simple-transition-editor/simple-transition-editor.component.ts @@ -10,10 +10,10 @@ import { MatTable, MatTableDataSource } from "@angular/material/table"; -import {SimpleTransition} from "../../../../game-model/gamesystems/SimpleTransition"; +import {SimpleTransition} from "../../../../game-model/gamesystems/transitions/SimpleTransition"; import {animate, state, style, transition, trigger} from "@angular/animations"; -import {SimpleState} from "../../../../game-model/gamesystems/SimpleState"; -import {ProductTransition} from "../../../../game-model/gamesystems/ProductTransition"; +import {SimpleState} from "../../../../game-model/gamesystems/states/SimpleState"; +import {ProductTransition} from "../../../../game-model/gamesystems/transitions/ProductTransition"; import {LeafGamesystemCalculator} from "../../product-gamesystem-editor/LeafGamesystemCalculator"; @Component({ diff --git a/src/app/game-model/GameModel.ts b/src/app/game-model/GameModel.ts index 487f53f..e184c18 100644 --- a/src/app/game-model/GameModel.ts +++ b/src/app/game-model/GameModel.ts @@ -1,7 +1,7 @@ import {Gamesystem} from "./gamesystems/Gamesystem"; import {ScriptAccount} from "./scriptAccounts/ScriptAccount"; -import {Transition} from "./gamesystems/Transition"; -import {State} from "./gamesystems/State"; +import {Transition} from "./gamesystems/transitions/Transition"; +import {State} from "./gamesystems/states/State"; import {ProductGamesystem} from "./gamesystems/ProductGamesystem"; import {SimpleGamesystem} from "./gamesystems/SimpleGamesystem"; import {StorageModel} from "./fs/StorageModel"; diff --git a/src/app/game-model/fs/parser/SimpleGamesystemParser.ts b/src/app/game-model/fs/parser/SimpleGamesystemParser.ts index b36c282..2105569 100644 --- a/src/app/game-model/fs/parser/SimpleGamesystemParser.ts +++ b/src/app/game-model/fs/parser/SimpleGamesystemParser.ts @@ -1,6 +1,6 @@ import {SimpleGamesystem} from "../../gamesystems/SimpleGamesystem"; -import {SimpleState} from "../../gamesystems/SimpleState"; -import {SimpleTransition} from "../../gamesystems/SimpleTransition"; +import {SimpleState} from "../../gamesystems/states/SimpleState"; +import {SimpleTransition} from "../../gamesystems/transitions/SimpleTransition"; export class SimpleGamesystemParser { diff --git a/src/app/game-model/gamesystems/ProductGamesystem.ts b/src/app/game-model/gamesystems/ProductGamesystem.ts index 7795942..1757ca4 100644 --- a/src/app/game-model/gamesystems/ProductGamesystem.ts +++ b/src/app/game-model/gamesystems/ProductGamesystem.ts @@ -1,9 +1,9 @@ import {Gamesystem} from "./Gamesystem"; -import {ProductState} from "./ProductState"; -import {ProductTransition} from "./ProductTransition"; -import {State} from "./State"; -import {Transition} from "./Transition"; -import {SimpleState} from "./SimpleState"; +import {ProductState} from "./states/ProductState"; +import {ProductTransition} from "./transitions/ProductTransition"; +import {State} from "./states/State"; +import {Transition} from "./transitions/Transition"; +import {SimpleState} from "./states/SimpleState"; import {SimpleGamesystem} from "./SimpleGamesystem"; import {GameModel} from "../GameModel"; import {ProductStateTrainer} from "../../../../e2e/game-model/gamesystems/productGamesystems/ProductStateTrainer"; diff --git a/src/app/game-model/gamesystems/SimpleGamesystem.ts b/src/app/game-model/gamesystems/SimpleGamesystem.ts index d5b4f1f..dedb8f2 100644 --- a/src/app/game-model/gamesystems/SimpleGamesystem.ts +++ b/src/app/game-model/gamesystems/SimpleGamesystem.ts @@ -1,10 +1,10 @@ import {Gamesystem} from "./Gamesystem"; -import {SimpleState} from "./SimpleState"; -import {SimpleTransition} from "./SimpleTransition"; -import {State} from "./State"; -import {Transition} from "./Transition"; -import {ProductState} from "./ProductState"; -import {ProductTransition} from "./ProductTransition"; +import {SimpleState} from "./states/SimpleState"; +import {SimpleTransition} from "./transitions/SimpleTransition"; +import {State} from "./states/State"; +import {Transition} from "./transitions/Transition"; +import {ProductState} from "./states/ProductState"; +import {ProductTransition} from "./transitions/ProductTransition"; import {ProductGamesystem} from "./ProductGamesystem"; export class SimpleGamesystem extends Gamesystem { diff --git a/src/app/game-model/gamesystems/ProductState.ts b/src/app/game-model/gamesystems/states/ProductState.ts similarity index 91% rename from src/app/game-model/gamesystems/ProductState.ts rename to src/app/game-model/gamesystems/states/ProductState.ts index 4831c3d..8a4c504 100644 --- a/src/app/game-model/gamesystems/ProductState.ts +++ b/src/app/game-model/gamesystems/states/ProductState.ts @@ -1,7 +1,7 @@ -import {ProductTransition} from "./ProductTransition"; +import {ProductTransition} from "../transitions/ProductTransition"; import {State} from "./State"; import {SimpleState} from "./SimpleState"; -import {Transition} from "./Transition"; +import {Transition} from "../transitions/Transition"; export class ProductState extends State { innerStates: State[] = []; diff --git a/src/app/game-model/gamesystems/SimpleState.ts b/src/app/game-model/gamesystems/states/SimpleState.ts similarity index 80% rename from src/app/game-model/gamesystems/SimpleState.ts rename to src/app/game-model/gamesystems/states/SimpleState.ts index e570ece..259f8fe 100644 --- a/src/app/game-model/gamesystems/SimpleState.ts +++ b/src/app/game-model/gamesystems/states/SimpleState.ts @@ -1,6 +1,6 @@ import {State} from "./State"; -import {SimpleTransition} from "./SimpleTransition"; -import {Transition} from "./Transition"; +import {SimpleTransition} from "../transitions/SimpleTransition"; +import {Transition} from "../transitions/Transition"; export class SimpleState extends State { stateLabel: string = ""; diff --git a/src/app/game-model/gamesystems/State.ts b/src/app/game-model/gamesystems/states/State.ts similarity index 90% rename from src/app/game-model/gamesystems/State.ts rename to src/app/game-model/gamesystems/states/State.ts index d6b78de..234c4ce 100644 --- a/src/app/game-model/gamesystems/State.ts +++ b/src/app/game-model/gamesystems/states/State.ts @@ -1,4 +1,4 @@ -import {Transition} from "./Transition"; +import {Transition} from "../transitions/Transition"; export abstract class State> { diff --git a/src/app/game-model/gamesystems/ProductTransition.ts b/src/app/game-model/gamesystems/transitions/ProductTransition.ts similarity index 84% rename from src/app/game-model/gamesystems/ProductTransition.ts rename to src/app/game-model/gamesystems/transitions/ProductTransition.ts index ebd0be5..04f86f0 100644 --- a/src/app/game-model/gamesystems/ProductTransition.ts +++ b/src/app/game-model/gamesystems/transitions/ProductTransition.ts @@ -1,5 +1,5 @@ import {Transition} from "./Transition"; -import {ProductState} from "./ProductState"; +import {ProductState} from "../states/ProductState"; export class ProductTransition extends Transition { diff --git a/src/app/game-model/gamesystems/SimpleTransition.ts b/src/app/game-model/gamesystems/transitions/SimpleTransition.ts similarity index 68% rename from src/app/game-model/gamesystems/SimpleTransition.ts rename to src/app/game-model/gamesystems/transitions/SimpleTransition.ts index e7356ed..2ddc912 100644 --- a/src/app/game-model/gamesystems/SimpleTransition.ts +++ b/src/app/game-model/gamesystems/transitions/SimpleTransition.ts @@ -1,4 +1,4 @@ -import {SimpleState} from "./SimpleState"; +import {SimpleState} from "../states/SimpleState"; import {Transition} from "./Transition"; export class SimpleTransition extends Transition { diff --git a/src/app/game-model/gamesystems/Transition.ts b/src/app/game-model/gamesystems/transitions/Transition.ts similarity index 89% rename from src/app/game-model/gamesystems/Transition.ts rename to src/app/game-model/gamesystems/transitions/Transition.ts index 5f75cbd..86c2c9c 100644 --- a/src/app/game-model/gamesystems/Transition.ts +++ b/src/app/game-model/gamesystems/transitions/Transition.ts @@ -1,4 +1,4 @@ -import {State} from "./State"; +import {State} from "../states/State"; export abstract class Transition> { startingState: S diff --git a/src/app/side-overviews/gamescript-overview/gamescript-overview.component.ts b/src/app/side-overviews/gamescript-overview/gamescript-overview.component.ts index 4c07292..a43a659 100644 --- a/src/app/side-overviews/gamescript-overview/gamescript-overview.component.ts +++ b/src/app/side-overviews/gamescript-overview/gamescript-overview.component.ts @@ -1,7 +1,7 @@ import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; import {Gamesystem} from "../../game-model/gamesystems/Gamesystem"; -import {State} from "../../game-model/gamesystems/State"; -import {Transition} from "../../game-model/gamesystems/Transition"; +import {State} from "../../game-model/gamesystems/states/State"; +import {Transition} from "../../game-model/gamesystems/transitions/Transition"; import {ProductGamesystem} from "../../game-model/gamesystems/ProductGamesystem"; import {FlatTreeControl} from "@angular/cdk/tree"; import {