Exemplo n.º 1
0
        /// <summary>
        /// This is where get only the information we want at the moment.
        /// We focus on getting creatures or lands only.
        /// </summary>
        /// <param name="pack"></param>
        /// <param name="playerid"></param>
        /// <returns></returns>
        public async Task <IEnumerable <Card> > GetBoosterPack(string pack, Guid playerid)
        {
            List <Card> boosterCards = new List <Card>();
            ISetService service      = serviceProvider.GetSetService();
            var         result       = await service.GenerateBoosterAsync(pack);

            foreach (var card in result.Value)
            {
                for (int i = 0; i < card.Types.Length; i++)
                {
                    if (card.Types[i] == "Creature")
                    {
                        Card card1  = new Card();
                        int  attack = 0;
                        int.TryParse(card.Power, out attack);
                        int defense = 0;
                        int.TryParse(card.Power, out defense);
                        card1.cardId        = (int)card.MultiverseId;
                        card1.cardName      = card.Name;
                        card1.cardClass     = card.Type;
                        card1.attackNumber  = attack;
                        card1.defenceNumber = defense;
                        card1.imageURL      = card.ImageUrl.ToString();
                        boosterCards.Add(card1);
                    }
                    else if (card.Types[i] == "Land")
                    {
                        Card card1 = new Card();
                        card1.cardId        = (int)card.MultiverseId;
                        card1.cardName      = card.Name;
                        card1.cardClass     = card.Type;
                        card1.attackNumber  = 0;
                        card1.defenceNumber = 0;
                        card1.imageURL      = card.ImageUrl.ToString();
                        boosterCards.Add(card1);
                    }
                }
            }

            await _gameRepositoryLayer.BoosterToCollection(boosterCards, playerid);

            return(boosterCards);
        }