public void CreateWithDTO(Character_DTO myHeroDTO) { logger.Log("Inside character repository createWithDto"); logger.Log(String.Format("Character : {0}", myHeroDTO.CharacterName)); try { string game_name = myHeroDTO.GameName.Replace(" ", ""); if (string.IsNullOrEmpty(game_name)) { game_name = "Fallout"; } Game my_game = Game.GetaGame(game_name); Character myHero = new Character(my_game, myHeroDTO.CharacterName, myHeroDTO.PlayerName); myHero.CharacterName = string.IsNullOrEmpty(myHeroDTO.CharacterName) ? "Toby Determined" : myHeroDTO.CharacterName; myHero.PlayerName = string.IsNullOrEmpty(myHeroDTO.PlayerName) ? "Meujeu" : myHeroDTO.PlayerName; if (!string.IsNullOrEmpty(myHeroDTO.Metier)) { myHero.Metier = (Profession)my_game.professions.Find(p => p.name == myHeroDTO.Metier); } else { myHero.Metier = (Profession)my_game.professions.Find(p => p.name == "mendiant"); } myHero.CareerName = myHero.Metier.name; //to do : change to allow creation of a character with chosen base attr myHero.BaseAttr = my_game.BaseAttributes; my_game.rules.SetStats(myHero); my_game.rules.SetSpendablePoints(myHero); my_game.rules.SetSkills(myHero); my_game.rules.SetCareerSkills(myHero); SheetMaker sMaker = new SheetMaker(); sMaker.makeSheet(myHero, my_game); } catch (Exception ex) { logger.Log(String.Format("Error in character repository create with DTO : {0}", ex.Message)); throw ex; } }
// This is the "ultimate" creator. public void Create(Game myGame, string mycharacterName, string myplayerName) { logger.Log("Inside character repository.Create ultimate."); logger.Log(String.Format("Game : {0}, characterName: {1}, playerName : {2}", myGame, mycharacterName, myplayerName)); try { // This will load the caracteristic of the game in the character and set every value Character myHero = new Character(myGame, mycharacterName, myplayerName); // This will create a generic character sheet using the name of the game and its caracteristic lists. SheetMaker sMaker = new SheetMaker(); sMaker.makeSheet(myHero, myGame); } catch (Exception ex) { logger.Log(String.Format("Error in repo.Create character : {0}", ex.Message)); throw ex; } }