diff --git a/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.html b/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.html
index f0c1d8c..534e938 100644
--- a/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.html
+++ b/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.html
@@ -94,7 +94,49 @@
- Expanded Detail
+
+
+
+ Conditions
+
+
+
+
+
+
+ Inventory Conditions
+
+
+ Gamesystem Conditions
+
+
+
+
+
+
+ Actions
+
+
+
+
+
+
+ Inventory Actions
+
+
+ Gamesystem Actions
+
+
+
+
+
+
+
+ Sequence Elements
+
+
+
+
|
diff --git a/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.scss b/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.scss
index fb17cfc..d311ac8 100644
--- a/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.scss
+++ b/src/app/editor/character-editor/character-interaction-editor/character-interaction-editor.component.scss
@@ -20,7 +20,7 @@ tr.example-element-row:not(.example-expanded-row):active {
.example-element-detail {
overflow: hidden;
- display: flex;
+ width: 100%;
}
.example-element-diagram {
diff --git a/src/app/project/game-model/interactions/AbstractInteraction.ts b/src/app/project/game-model/interactions/AbstractInteraction.ts
index 0c7716f..c1843b9 100644
--- a/src/app/project/game-model/interactions/AbstractInteraction.ts
+++ b/src/app/project/game-model/interactions/AbstractInteraction.ts
@@ -1,5 +1,8 @@
import {Character} from "../characters/Character";
import {Condition} from "./condition/Condition";
+import {ScriptAccountCondition} from "../gamesystems/conditions/ScriptAccountCondition";
+import {InventoryCondition} from "./condition/InventoryCondition";
+import {GamesystemCondition} from "./condition/GamesystemCondition";
export abstract class AbstractInteraction {
sourceCharacter: Character
@@ -18,4 +21,16 @@ export abstract class AbstractInteraction {
abstract equals(other: AbstractInteraction): boolean
abstract validate(requieredCharacter: Character): boolean
+
+ get scriptAccountConditions() {
+ return this.conditions.filter(condition => condition instanceof ScriptAccountCondition);
+ }
+
+ get inventoryConditions() {
+ return this.conditions.filter(condition => condition instanceof InventoryCondition)
+ }
+
+ get gamesystemConditions() {
+ return this.conditions.filter(condition => condition instanceof GamesystemCondition)
+ }
}
diff --git a/src/app/project/game-model/interactions/condition/GamesystemCondition.ts b/src/app/project/game-model/interactions/condition/GamesystemCondition.ts
index b151e72..f5cfae0 100644
--- a/src/app/project/game-model/interactions/condition/GamesystemCondition.ts
+++ b/src/app/project/game-model/interactions/condition/GamesystemCondition.ts
@@ -1,12 +1,15 @@
import {Gamesystem} from "../../gamesystems/Gamesystem";
import {State} from "../../gamesystems/states/State";
+import {Condition} from "./Condition";
+import {CharacterDependency} from "../CharacterDependency";
-export class GamesystemCondition {
+export class GamesystemCondition extends Condition {
targetGamesystem: Gamesystem
requieredState: State;
- constructor(targetGamesystem: Gamesystem, requieredState: State) {
+ constructor(characterDependency: CharacterDependency, targetGamesystem: Gamesystem, requieredState: State) {
+ super(characterDependency);
this.targetGamesystem = targetGamesystem;
this.requieredState = requieredState;
}