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);
        }
Beispiel #2
0
        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);
        }