main #48
@ -34,6 +34,7 @@ import {ItemOverviewComponent} from "./side-overviews/item-overview/item-overvie
 | 
			
		||||
import {Overview} from "./side-overviews/Overview";
 | 
			
		||||
import {ItemCreator} from "./project/game-model/utils/creator/ItemCreator";
 | 
			
		||||
import {ScriptAccountCreator} from "./project/game-model/utils/creator/ScriptAccountCreator";
 | 
			
		||||
import {CharacterCreator} from "./project/game-model/utils/creator/CharacterCreator";
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-root',
 | 
			
		||||
@ -104,6 +105,9 @@ export class AppComponent implements OnInit{
 | 
			
		||||
          case ModelComponentType.SCRIPTACCOUNT: {
 | 
			
		||||
            componentCreator = new ScriptAccountCreator(creationContext, this.gameModel!, this.selectedModelComponent);
 | 
			
		||||
          } break
 | 
			
		||||
          case ModelComponentType.CHARACTER: {
 | 
			
		||||
            componentCreator = new CharacterCreator(creationContext, this.gameModel!, this.selectedModelComponent);
 | 
			
		||||
          } break
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if(componentCreator) {
 | 
			
		||||
@ -188,15 +192,6 @@ export class AppComponent implements OnInit{
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private onCreateNewCharacter() {
 | 
			
		||||
    const createdCharacter = this.gameModel!.createCharacter("New Character")
 | 
			
		||||
    if(createdCharacter != undefined) {
 | 
			
		||||
      this.editor?.openGameModelComponent(createdCharacter);
 | 
			
		||||
    } else {
 | 
			
		||||
      console.log("[DEBUG] [App-Component] ScriptAccount could not be created (Name not unique)");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private getSelectedModelComponent(): ModelComponent | undefined {
 | 
			
		||||
    if(this.openContent == ModelComponentType.SCRIPTACCOUNT) {
 | 
			
		||||
      if(this.scriptAccountOverview != undefined) {
 | 
			
		||||
 | 
			
		||||
@ -232,4 +232,12 @@ export class GameModel {
 | 
			
		||||
 | 
			
		||||
    return result;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  addCharacter(character: Character) {
 | 
			
		||||
    if(this.characters.find(c => c.componentName === character.componentName) === undefined) {
 | 
			
		||||
      this.characters.push(character)
 | 
			
		||||
      return true;
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								src/app/project/game-model/utils/creator/CharacterCreator.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/app/project/game-model/utils/creator/CharacterCreator.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
import {ModelComponentCreator} from "./ModelComponentCreator";
 | 
			
		||||
import {GameModel} from "../../GameModel";
 | 
			
		||||
import {ModelComponent} from "../../ModelComponent";
 | 
			
		||||
import {Character} from "../../characters/Character";
 | 
			
		||||
 | 
			
		||||
export class CharacterCreator extends ModelComponentCreator{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  constructor(context: string, gameModel: GameModel, selectedComponent: ModelComponent | undefined) {
 | 
			
		||||
    super(context, gameModel, selectedComponent);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  createModelComponent(): ModelComponent | undefined {
 | 
			
		||||
    const character = new Character("New Character", "");
 | 
			
		||||
    if(this.gameModel.addCharacter(character)) {
 | 
			
		||||
      return character;
 | 
			
		||||
    }
 | 
			
		||||
    return undefined;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user