public static Battle StartBattle(DungeonsAndDragonsContext _context, int gameId, int npcId) { int dmId = _context.games.SingleOrDefault(x => x.id == gameId).dm; NonPlayableCharacter npc = _context.nonplayablecharacters.SingleOrDefault(x => x.id == npcId); List <GameUser> gameUserResults = _context.gamesusers.Where(x => x.gameid == gameId & x.playablecharacterid != null).ToList(); List <PlayableCharacter> players = new List <PlayableCharacter> { }; foreach (var result in gameUserResults) { var player = _context.playablecharacters.SingleOrDefault(x => x.id == result.playablecharacterid); players.Add(player); } int currentPlayerId; if (players.Count == 0) { currentPlayerId = 0; } else { currentPlayerId = players.First().userid; } var battle = new Battle() { gameId = gameId, dmId = dmId, NPC = npc, players = players, currentPlayerId = currentPlayerId }; return(battle); }
public static NonPlayableCharacter CreateNonPlayableCharacter(DungeonsAndDragonsContext _context, int gameid, string chracterName, int speciesId, int maxHp, int attack, string imagePath, int currentHp) { var character = new NonPlayableCharacter() { gameid = gameid, name = chracterName, species_id = speciesId, maxHp = maxHp, attack = attack, imagePath = imagePath, currentHp = currentHp }; _context.nonplayablecharacters.Add(character); _context.SaveChanges(); return(character); }