Implement basic version of characters #32
@ -71,6 +71,12 @@ function createWindow(): BrowserWindow {
|
||||
click: () => {
|
||||
win!.webContents.send('context-menu', "new-scriptaccount");
|
||||
}
|
||||
},
|
||||
{
|
||||
label: "Character",
|
||||
click: () => {
|
||||
win!.webContents.send('context-menu', "new-character");
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -118,6 +118,7 @@ export class AppComponent implements OnInit{
|
||||
switch (modelComponentType) {
|
||||
case ModelComponentType.SCRIPTACCOUNT: this.onCreateNewScriptAccount(); break
|
||||
case ModelComponentType.GAMESYTEM: this.onCreateNewGamesystem(); break
|
||||
case ModelComponentType.CHARACTER: this.onCreateNewCharacter(); break
|
||||
}
|
||||
}
|
||||
|
||||
@ -146,6 +147,15 @@ 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) {
|
||||
@ -239,4 +249,6 @@ export class AppComponent implements OnInit{
|
||||
this.gamesystemOverview.resetSelectedGamesystem()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -16,8 +16,8 @@ export class GameModel {
|
||||
|
||||
constructor(gameModelName: string) {
|
||||
this.gameModelName = gameModelName;
|
||||
this.characters.push(new Character("Astrid Hofferson", "", ModelComponentType.CHARACTER))
|
||||
this.characters.push(new Character("Hicks Haddock", "", ModelComponentType.CHARACTER))
|
||||
this.characters.push(new Character("Astrid Hofferson", ""))
|
||||
this.characters.push(new Character("Hicks Haddock", ""))
|
||||
}
|
||||
|
||||
addGamesystem(gamesystem: Gamesystem<any, any>) {
|
||||
@ -69,6 +69,16 @@ export class GameModel {
|
||||
}
|
||||
}
|
||||
|
||||
createCharacter(characterName: string) {
|
||||
const searchedCharacter = this.characters.find(character => character.componentName === characterName);
|
||||
if(searchedCharacter == undefined) {
|
||||
const character = new Character(characterName, "");
|
||||
this.characters.push(character)
|
||||
return character
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
|
||||
removeScriptAccount(scriptAccount: ScriptAccount) {
|
||||
if(scriptAccount != undefined) {
|
||||
this.scriptAccounts = this.scriptAccounts.filter(s => s != scriptAccount);
|
||||
|
@ -3,7 +3,7 @@ import {ModelComponentType} from "../ModelComponentType";
|
||||
|
||||
export class Character extends ModelComponent{
|
||||
|
||||
constructor(componentName: string, componentDescription: string, type: ModelComponentType) {
|
||||
super(componentName, componentDescription, type);
|
||||
constructor(componentName: string, componentDescription: string) {
|
||||
super(componentName, componentDescription, ModelComponentType.CHARACTER);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user