Esempio n. 1
0
 public void Execute(MySqlConnection connection, MySqlTransaction transaction)
 {
     using (MySqlCommand mySqlCommand = new MySqlCommand(string.Format("SELECT relic_draws.*, items.name FROM relic_draws LEFT OUTER JOIN items ON relic_draws.itemid = items.id WHERE relic_draws.gacha_series_id = {0} AND relic_draws.isJapanese = {1}", (object)this.myBannerID, (object)(this.myIsJP ? 1 : 0)), connection, transaction))
     {
         using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
         {
             while (mySqlDataReader.Read())
             {
                 BasicRelicDropInfo basicRelicDropInfo = new BasicRelicDropInfo();
                 basicRelicDropInfo.ServerTime = (ulong)mySqlDataReader["server_time"];
                 basicRelicDropInfo.UserHash   = (int)mySqlDataReader["userhash"];
                 basicRelicDropInfo.ItemID     = (uint)mySqlDataReader["itemid"];
                 long key = this.HashValues(basicRelicDropInfo.ServerTime, basicRelicDropInfo.UserHash, basicRelicDropInfo.ItemID);
                 basicRelicDropInfo.BannerID = (uint)mySqlDataReader["gacha_series_id"];
                 byte num = (byte)mySqlDataReader["isJapanese"];
                 basicRelicDropInfo.IsJP      = num == (byte)1;
                 basicRelicDropInfo.DropNum   = (ushort)mySqlDataReader["drop_num"];
                 basicRelicDropInfo.Rarity    = (byte)mySqlDataReader["rarity"];
                 basicRelicDropInfo.ItemTotal = (ushort)mySqlDataReader["total_items_pulled"];
                 basicRelicDropInfo.ItemName  = (string)mySqlDataReader["name"];
                 this.myDraws.Add(key, basicRelicDropInfo);
             }
         }
     }
 }
Esempio n. 2
0
        private void ConsolidateRelicDrawList(Dictionary <long, BasicRelicDropInfo> draws)
        {
            this.myMiscInfo = new FFRKViewGacha2.MiscDropInfo();
            bool flag1 = true;

            if (this.comboBoxPullTypeFilter.SelectedIndex == 1)
            {
                flag1 = false;
            }
            bool flag2 = true;

            if (this.comboBoxPullTypeFilter.SelectedIndex == 0)
            {
                flag2 = false;
            }
            Dictionary <uint, FilteredRelicDropInfo> dictionary1 = new Dictionary <uint, FilteredRelicDropInfo>();
            Dictionary <long, bool> dictionary2 = new Dictionary <long, bool>();

            foreach (BasicRelicDropInfo basicRelicDropInfo in draws.Values)
            {
                BasicRelicDropInfo dropInfo = basicRelicDropInfo;
                if ((dropInfo.ItemTotal != (ushort)11 || flag1) && (dropInfo.ItemTotal == (ushort)11 || flag2))
                {
                    long key = this.HashTimeAndUser(dropInfo.ServerTime, dropInfo.UserHash);
                    if (!dictionary2.ContainsKey(key))
                    {
                        this.myMiscInfo.totalPulls += (int)dropInfo.ItemTotal;
                        dictionary2.Add(key, true);
                    }
                    switch (dropInfo.Rarity)
                    {
                    case 1:
                        this.myMiscInfo.count1 += (int)dropInfo.DropNum;
                        break;

                    case 2:
                        this.myMiscInfo.count2 += (int)dropInfo.DropNum;
                        break;

                    case 3:
                        this.myMiscInfo.count3 += (int)dropInfo.DropNum;
                        break;

                    case 4:
                        this.myMiscInfo.count4 += (int)dropInfo.DropNum;
                        break;

                    case 5:
                        this.myMiscInfo.count5 += (int)dropInfo.DropNum;
                        break;

                    case 6:
                        this.myMiscInfo.count6 += (int)dropInfo.DropNum;
                        break;

                    case 7:
                        this.myMiscInfo.count7 += (int)dropInfo.DropNum;
                        break;
                    }
                    if (dropInfo.Rarity > (byte)4)
                    {
                        if (dictionary1.ContainsKey(dropInfo.ItemID))
                        {
                            dictionary1[dropInfo.ItemID].DropNum += dropInfo.DropNum;
                        }
                        else if (this.myFeaturedItems.Values.ToList <BasicFeaturedItemInfo>().Exists((Predicate <BasicFeaturedItemInfo>)(x => (int)x.ItemID == (int)dropInfo.ItemID)))
                        {
                            FilteredRelicDropInfo filteredRelicDropInfo = new FilteredRelicDropInfo();
                            filteredRelicDropInfo.DropNum  = dropInfo.DropNum;
                            filteredRelicDropInfo.ItemID   = dropInfo.ItemID;
                            filteredRelicDropInfo.ItemName = dropInfo.ItemName;
                            filteredRelicDropInfo.Rarity   = dropInfo.Rarity;
                            BasicFeaturedItemInfo featuredItemInfo = this.myFeaturedItems.Values.First <BasicFeaturedItemInfo>((Func <BasicFeaturedItemInfo, bool>)(x => (int)x.ItemID == (int)dropInfo.ItemID));
                            filteredRelicDropInfo.DisplayOrder = featuredItemInfo.DisplayOrder;
                            filteredRelicDropInfo.AssumedRate  = featuredItemInfo.Rate;
                            dictionary1.Add(dropInfo.ItemID, filteredRelicDropInfo);
                        }
                        else
                        {
                            switch (dropInfo.Rarity)
                            {
                            case 5:
                                this.myMiscInfo.offBanner5count += (int)dropInfo.DropNum;
                                break;

                            case 6:
                                this.myMiscInfo.offBanner6count += (int)dropInfo.DropNum;
                                break;

                            case 7:
                                this.myMiscInfo.offBanner7count += (int)dropInfo.DropNum;
                                break;
                            }
                        }
                    }
                }
            }
            FiddlerApplication.Log.LogString(dictionary1.Values.Count.ToString());
            this.myConsolidatedRelicDrops = dictionary1;
        }