diff --git a/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateState.ts b/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateState.ts index e603b6d..50bb918 100644 --- a/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateState.ts +++ b/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateState.ts @@ -7,7 +7,9 @@ export class SimpleTemplateState extends SimpleState { conditionMap: Map = new Map(); addTemplateElement(templateElement: TemplateElement) { - this.conditionMap.set(templateElement, this.conditions) + if(!this.conditionMap.has(templateElement)) { + this.conditionMap.set(templateElement, this.conditions) + } } removeTemplateElement(templateElement: TemplateElement) { diff --git a/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateTransition.ts b/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateTransition.ts index a9612d5..90529ba 100644 --- a/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateTransition.ts +++ b/src/app/project/game-model/templates/simpleGamesystem/SimpleTemplateTransition.ts @@ -8,8 +8,14 @@ export class SimpleTemplateTransition extends SimpleTransition{ actionMap: Map = new Map(); addTemplateElement(templateElement: TemplateElement) { - this.conditionMap.set(templateElement, this.scriptAccountConditions.concat()) - this.actionMap.set(templateElement, this.scriptAccountActions.concat()) + if(!this.conditionMap.has(templateElement)) { + this.conditionMap.set(templateElement, this.scriptAccountConditions.concat()) + } + + if(!this.actionMap.has(templateElement)) { + this.actionMap.set(templateElement, this.scriptAccountActions.concat()) + } + } removeTemplateElement(templateElement: TemplateElement) { diff --git a/testModel/characters/Hicks Haddock.json b/testModel/characters/Hicks Haddock.json index d929721..0ff4204 100644 --- a/testModel/characters/Hicks Haddock.json +++ b/testModel/characters/Hicks Haddock.json @@ -7,28 +7,27 @@ "states": [ { "stateLabel": "A", - "conditionMap": [] + "conditionMap": [ + { + "scriptAccount": "Luftfeuchtigkeit", + "minValue": 0, + "maxValue": "10" + } + ] }, { "stateLabel": "B", - "conditionMap": [] + "conditionMap": [ + { + "scriptAccount": "New ScriptAccount", + "minValue": 0, + "maxValue": 100 + } + ] } ], "transitions": [ { - "scriptAccountActions": [ - { - "changingValue": 10, - "scriptAccount": "Luftfeuchtigkeit" - } - ], - "scriptAccountConditions": [ - { - "scriptAccount": "Temperature", - "minValue": 0, - "maxValue": 10 - } - ], "startingState": "A", "endingState": "B", "conditionMap": [],