CharacterSpecific Templatesystems #36

Merged
sebastian merged 31 commits from template-systems into main 2024-04-14 13:45:04 +02:00
Showing only changes of commit 4d4efa49c9 - Show all commits

View File

@ -15,7 +15,7 @@ export class Character extends ModelComponent implements TemplateElement {
super(componentName, componentDescription, ModelComponentType.CHARACTER); super(componentName, componentDescription, ModelComponentType.CHARACTER);
} }
addCharacterSpecificSimpleTemplatesystem(gamesystem: Gamesystem<any, any>) { addCharacterSpecificSimpleTemplatesystem(gamesystem: Gamesystem<any, any>, recursiveCall: boolean = false) {
if(!this.isTemplateSystemCharacterSpecific(gamesystem.componentName)) { if(!this.isTemplateSystemCharacterSpecific(gamesystem.componentName)) {
if(gamesystem instanceof SimpleTemplateGamesystem) { if(gamesystem instanceof SimpleTemplateGamesystem) {
this.characterSpecificTemplateSystems.push(gamesystem) this.characterSpecificTemplateSystems.push(gamesystem)
@ -23,10 +23,15 @@ export class Character extends ModelComponent implements TemplateElement {
} else if(gamesystem instanceof ProductTemplateSystem) { } else if(gamesystem instanceof ProductTemplateSystem) {
this.characterSpecificTemplateSystems.push(gamesystem) this.characterSpecificTemplateSystems.push(gamesystem)
gamesystem.addTemplateElement(this) gamesystem.addTemplateElement(this)
if(!recursiveCall) {
gamesystem.innerGamesystems.forEach(innerGamesystem => this.addCharacterSpecificSimpleTemplatesystem(innerGamesystem, true))
}
} }
if(gamesystem.parentGamesystem != undefined) { if(gamesystem.parentGamesystem != undefined) {
this.addCharacterSpecificSimpleTemplatesystem(gamesystem.parentGamesystem) this.addCharacterSpecificSimpleTemplatesystem(gamesystem.parentGamesystem, true)
} }
} }
} }