private void SetupScrollbar()
    {
        int temp;

        if (collectionTrueDeckFalse)
        {
            temp = collection.UniqueCards.Count;
        }
        else
        {
            temp = CardPackage.GlobalUniqueCardsInList(partOfDeck).Count;
        }
        if (temp > slotsCount)
        {
            scrollbar.gameObject.SetActive(true);
            scrollbar.numberOfSteps = (temp - (slotsCount - 1));
            scrollbarLastStep       = scrollbar.value;
        }
        else
        {
            scrollbar.gameObject.SetActive(false);
            scrollbar.numberOfSteps = 1;
            scrollbarLastStep       = 0;
        }
    }
 private Card GetTempCard(int iterator, int startingStep)
 {
     if (collectionTrueDeckFalse)
     {
         if ((iterator + startingStep) < collection.UniqueCards.Count)
         {
             return(collection.UniqueCards.ElementAt(iterator + startingStep));
         }
         else
         {
             return(null);
         }
     }
     else
     {
         //Debug.Log (CardPackage.GlobalUniqueCardsInList (partOfDeck).Count);
         if ((iterator + startingStep) < CardPackage.GlobalUniqueCardsInList(partOfDeck).Count)
         {
             return(CardPackage.GlobalUniqueCardsInList(partOfDeck).ElementAt(iterator + startingStep));
         }
         else
         {
             return(null);
         }
     }
 }
Example #3
0
 public void AddCardsToStack(CardPackage pack)
 {
     if (Coins > 0)
     {
         Stack.AddPackage(pack);
         Coins -= 5;
     }
 }
 private string GetCardCountString(Card card)
 {
     if (collectionTrueDeckFalse)
     {
         return(collection.CountCopies(card).ToString());
     }
     else
     {
         return(CardPackage.GlobalCountCopiesInList(partOfDeck, card).ToString());
     }
 }
Example #5
0
        /// <summary>
        /// Registers a new package created by an admin.
        /// </summary>
        /// <param name="package">The new package.</param>
        public async Task <bool> RegisterPackage(Session session, CardPackage package)
        {
            if (await GetPlayer(session) is not Player)
            {
                return(false);
            }

            // Authorization would happen here if it existed

            await _packages.RegisterPackage(package);

            return(true);
        }
 private void SetupCardPool()
 {
     if (collectionTrueDeckFalse)
     {
         collection = player.cardCollection;
         slotsCount = 8;
     }
     else
     {
         partOfDeck = player.deck.GetListOfCardsOfTypeInDecklist(relevantIfBoolFalse);
         slotsCount = 12;
     }
 }
 public void SetUp()
 {
     _pack = new List <Card> {
         new Wizard("wizgan", "Gandalf", 100, ElementType.Normal),
         new Orc("orcbur", "Burul", 80, ElementType.Normal),
         new Elve("elverl", "Erlan Erhice", 50, ElementType.Fire),
         new Dragon("drabal", "Balrog", 150, ElementType.Water),
         new WaterSpell("watwat", "Water Whirl", 70)
     };
     _package = new CardPackage();
     foreach (var card in _pack)
     {
         _package.AddCard(card);
     }
 }
Example #8
0
 public void SetUp()
 {
     _arenaServiceMock = new Mock <IArenaService>();
     _arenaController  = new ArenaController(_arenaServiceMock.Object);
     _user1            = new User("user1", "supergeheim");
     _user2            = new User("user2", "secretsecret");
     _arena            = new Arena(_user1, _user2);
     _pack             = new List <Card> {
         new Wizard("wizgan", "Gandalf", 100, ElementType.Normal),
         new Orc("orcbur", "Burul", 80, ElementType.Normal),
         new Elve("elverl", "Erlan Erhice", 50, ElementType.Fire),
         new Dragon("drabal", "Balrog", 150, ElementType.Water),
         new WaterSpell("watwat", "Water Whirl", 70)
     };
     _package = new CardPackage();
     foreach (var card in _pack)
     {
         _package.AddCard(card);
     }
 }
Example #9
0
 public string DeletePackage(CardPackage package)
 {
     throw new NotImplementedException();
 }
Example #10
0
 public Task AddToPackages(CardPackage package)
 => Task.CompletedTask;
Example #11
0
        public override void doResponse(OperationRequest operationRequest, SendParameters sendParameters, MyClientPeer peer)
        {
            Dictionary <byte, object> dict = operationRequest.Parameters;
            Dictionary <byte, object> responseParameter = new Dictionary <byte, object>();

            try
            {
                //获取参数
                string userName      = (string)DictionaryUtils.getValue <byte, object>(dict, (byte)ParameterCode.UserName);
                string packageString = (string)DictionaryUtils.getValue <byte, object>(dict, (byte)ParameterCode.CardPackage);
                Series series        = (Series)DictionaryUtils.getValue <byte, object>(dict, (byte)ParameterCode.Series);

                Application.logger.Info("====================" + userName + packageString + "========================");

                //反序列化
                CardPackage package = null;
                using (StringReader reader = new StringReader(packageString))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(CardPackage));
                    package = (CardPackage)serializer.Deserialize(reader);
                }

                //修改user字典的信息
                User user   = DictionaryUtils.getValue <String, User>(Application.loginUserDict, userName);
                int  number = DictionaryUtils.getValue <Series, int>(user.MyCardsPackage, series);
                number--;
                if (number < 0)
                {
                    responseParameter.Add((byte)ParameterCode.UseCardPackageResult, 0);
                    goto End;
                }
                user.MyCardsPackage.Remove(series);
                if (number != 0)
                {
                    user.MyCardsPackage.Add(series, number);
                }
                for (int i = 0; i < 5; i++)
                {
                    if (package.isGolden[i])
                    {
                        int cardNumber = DictionaryUtils.getValue <String, int>(user.MyCards, package.cards[i]);
                        user.MyCards.Remove(package.cards[i]);
                        user.MyCards.Add(package.cards[i], cardNumber + 1000);
                    }
                    else
                    {
                        int cardNumber = DictionaryUtils.getValue <String, int>(user.MyCards, package.cards[i]);
                        user.MyCards.Remove(package.cards[i]);
                        user.MyCards.Add(package.cards[i], cardNumber + 1);
                    }
                }
                Application.loginUserDict.Remove(userName);
                Application.loginUserDict.Add(userName, user);

                //修改文件数据库的信息
                UserManager.disassembleCardInfo(userName, user.MyCards);
                UserManager.disassembleCardPackageInfo(userName, user.MyCardsPackage);

                //响应信息
                responseParameter.Add((byte)ParameterCode.UseCardPackageResult, 1);
            }
            catch (Exception e) {
                Application.logger.Info("=====================" + e.ToString() + "==========================");
                responseParameter.Add((byte)ParameterCode.UseCardPackageResult, 0);
            }

            //响应客户端
            End : OperationResponse operationResponse = new OperationResponse((byte)OPCode.UseCardPackage, responseParameter);
            peer.SendOperationResponse(operationResponse, sendParameters);
        }
Example #12
0
        /// <summary>
        /// Adds a new package to the package store.
        /// </summary>
        /// <param name="package">The package.</param>
        public async Task RegisterPackage(CardPackage package)
        {
            await _db.AddToPackages(package);

            await Update();
        }
Example #13
0
        public string AquirePackage(string usertoken, string packageId)
        {
            User user;

            ClientSingleton.GetInstance.ClientMap.TryGetValue(usertoken, out user);
            if (user.Coins == 0)
            {
                return("POST ERR - No coins");
            }

            using NpgsqlConnection con = new NpgsqlConnection(_cs);
            try
            {
                con.Open();
            }
            catch (PostgresException e)
            {
                return("POST ERR - No DB connection");
            }

            List <string> cardIds        = null;
            string        sqlAllPackages = "SELECT * FROM packages";

            using NpgsqlCommand cmdPackages = new NpgsqlCommand(sqlAllPackages, con);
            using NpgsqlDataReader reader   = cmdPackages.ExecuteReader();
            while (reader.Read())
            {
                if (reader.GetString(0) == packageId)
                {
                    try
                    {
                        cardIds = JsonSerializer.Deserialize <PackageDTO>(reader.GetString(1)).CardIds;
                    }
                    catch (Exception e)
                    {
                        cardIds = null;
                    }
                }
            }
            reader.Close();
            if (cardIds == null || cardIds.Count == 0)
            {
                return("POST ERR - Invalid PackageID");
            }

            CardPackage pack        = new CardPackage();
            string      sqlAllCards = "SELECT * FROM cards";

            using NpgsqlCommand cmdCards       = new NpgsqlCommand(sqlAllCards, con);
            using NpgsqlDataReader readerCards = cmdCards.ExecuteReader();
            while (readerCards.Read())
            {
                foreach (var cardId in cardIds)
                {
                    if (readerCards.GetString(0) == cardId)
                    {
                        CardDTO cardDto = new CardDTO(readerCards.GetString(0), readerCards.GetString(1), readerCards.GetString(2), readerCards.GetString(3), readerCards.GetDouble(4));
                        Card    card    = cardDto.ToCard();
                        pack.AddCard(card);
                    }
                }
            }
            user.AddCardsToStack(pack);
            readerCards.Close();
            _userDataService.PersistUserData(user, usertoken);
            return("POST OK - Package aquired");
        }