Exemplo n.º 1
0
        private void lb_cards_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count < 1)
            {
                return;
            }

            CardInfos card = filter_cards[lb_cards.Items.IndexOf(e.AddedItems[0])];

            DisplayCardInfo.SetCard(card);
        }
 private void GiveCard_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         if (Collection.SelectedItem() == null)
         {
             return;
         }
         DisplayCardInfo.SetCard(CardManager.GetCard(((PlayerCard)Collection.SelectedItem()).Id));
     }
     catch { };
 }
Exemplo n.º 3
0
        private void brocanteList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                BrocanteCard card = ((sender as ListView).SelectedItem as BrocanteCard);

                if (card == null)
                {
                    return;
                }

                DisplayCardInfo.SetCard(CardManager.GetCard(card.Id));
            }
            catch (Exception ex)
            {
                logger.Warn(ex.ToString());
            }
        }
        private void Lb_choice_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (lb_choice.SelectedIndex == -1)
            {
                return;
            }
            string item = lb_choice.SelectedItem.ToString();

            int id = _ids[lb_choice.SelectedIndex];

            if (!_cards.ContainsKey(id))
            {
                return;
            }
            try
            {
                DisplayCardInfo.SetCard(CardManager.GetCard(id));
            }
            catch (Exception ex)
            {
                logger.Warn(ex.ToString());
            }
        }
Exemplo n.º 5
0
 public bool update()
 {
     this.newDisplayedCards.Clear();
     CardData userCardData = GameEngine.Instance.World.UserCardData;
     WorldData localWorldData = GameEngine.Instance.LocalWorldData;
     DateTime time = VillageMap.getCurrentServerTime();
     int length = userCardData.cards.Length;
     for (int i = 0; i < length; i++)
     {
         int num3 = userCardData.cards[i];
         int num4 = CardTypes.getCardCategory(num3);
         if (((num4 == this.currentCardSection) || (this.currentCardSection == 0)) || ((this.currentCardSection == 9) && ((num4 == 6) || (num4 == 7))))
         {
             DateTime time2 = userCardData.cardsExpiry[i];
             TimeSpan span = (TimeSpan) (time2 - time);
             int num5 = 1;
             num5 = CardTypes.getCardDuration(num3);
             int totalMinutes = (int) span.TotalMinutes;
             if (totalMinutes < 0)
             {
                 totalMinutes = 0;
             }
             int num7 = (totalMinutes * 0x40) / (num5 * 60);
             if (num7 < 0)
             {
                 num7 = 0;
             }
             else if (num7 >= 0x40)
             {
                 num7 = 0x3f;
             }
             if (span.TotalDays > 100.0)
             {
                 num7 = 0x40;
             }
             DisplayCardInfo item = new DisplayCardInfo {
                 card = num3,
                 currentFrame = num7,
                 effect = CardTypes.getCardEffectValue(num3),
                 imageID = this.getCardImage(num3) - 1
             };
             this.newDisplayedCards.Add(item);
         }
     }
     int num8 = GameEngine.Instance.World.countPlayableCards(this.currentCardSection);
     bool flag = false;
     if (num8 != this.lastAvailableToPlay)
     {
         flag = true;
     }
     if (!this.equalCards(this.displayedCards, this.newDisplayedCards))
     {
         flag = true;
         this.displayedCards.Clear();
         foreach (DisplayCardInfo info2 in this.newDisplayedCards)
         {
             this.displayedCards.Add(info2);
         }
     }
     if (this.showExtras && (this.cardTextTimer > 0))
     {
         this.cardTextTimer--;
         if (this.cardTextTimer <= 0)
         {
             this.mainText.Visible = false;
             flag = true;
         }
         else if (this.cardTextTimer < 10)
         {
             this.mainText.Color = Color.FromArgb(this.cardTextTimer * 0x19, this.cardTextTimer * 0x19, this.cardTextTimer * 0x19, this.cardTextTimer * 0x19);
             this.mainText.DropShadowColor = Color.FromArgb(this.cardTextTimer * 0x19, 0, 0, 0);
             flag = true;
         }
     }
     if (this.showExtras && !this.suggestedCardsValid)
     {
         CardTypes.CardDefinition filter = new CardTypes.CardDefinition {
             cardCategory = this.currentCardSection
         };
         GameEngine.Instance.World.searchProfileCards(filter, "meta", GameEngine.Instance.World.lastUserCardNameFilter);
         int playerRank = GameEngine.Instance.World.getRank() + 1;
         foreach (int num10 in GameEngine.Instance.World.ProfileCardsSearch)
         {
             if ((GameEngine.Instance.World.ProfileCards[num10].cardRank <= playerRank) && (GameEngine.Instance.World.ProfileCards[num10].id != 0xc04))
             {
                 int id = GameEngine.Instance.World.ProfileCards[num10].id;
                 if (this.suggestedCardCounts.ContainsKey(id))
                 {
                     foreach (CustomSelfDrawPanel.UICard card in this.suggestedCards)
                     {
                         if (card.Definition.id == GameEngine.Instance.World.ProfileCards[num10].id)
                         {
                             card.UserIDList.Add(num10);
                             card.cardCount++;
                             card.countLabel.Text = card.cardCount.ToString();
                         }
                     }
                 }
                 else
                 {
                     this.suggestedCardCounts.Add(GameEngine.Instance.World.ProfileCards[num10].id, 1);
                     CustomSelfDrawPanel.UICard card2 = this.makeUICard(GameEngine.Instance.World.ProfileCards[num10], num10, playerRank);
                     this.suggestedCards.Add(card2);
                 }
             }
         }
         this.suggestedExpand.Visible = this.suggestedExpand.Enabled = this.suggestedCards.Count != 0;
         this.suggestedCardsValid = true;
     }
     if (this.showExtras && !this.animationComplete)
     {
         this.animationComplete = true;
         if (!this.suggestedExpand.Visible)
         {
             for (int j = 0; j < this.suggestedDisplayedCards.Count; j++)
             {
                 if (this.suggestedDisplayedCards[j].Position.X < (this.BASE_CARD_POS + (0x2f * j)))
                 {
                     this.animationComplete = false;
                     this.suggestedDisplayedCards[j].X = Math.Min((int) (this.suggestedDisplayedCards[j].Position.X + 70), (int) (this.BASE_CARD_POS + (0x2f * j)));
                 }
             }
         }
         this.Dirty = true;
         base.invalidate();
     }
     if ((this.showExtras && (this.animatedCard != null)) && (this.animationCounter < 30))
     {
         int red = ((this.animationCounter % 10) + 11) * 12;
         this.animatedCard.Hilight(Color.FromArgb(red, red, red));
         this.animationCounter++;
         if (this.animationCounter == 10)
         {
             this.animatedCard.Y -= 2;
         }
         this.Dirty = true;
         base.invalidate();
     }
     else if (this.showExtras && (this.animatedCard != null))
     {
         this.animatedCard.Hilight(ARGBColors.White);
         this.animatedCard = null;
         this.Dirty = true;
         base.invalidate();
     }
     if (this.showExtras && (this.suggestedNext.Data > 0))
     {
         this.suggestedNext.Data--;
         if (this.suggestedNext.Data == 0)
         {
             this.suggestedNext.Image = (Image) GFXLibrary.cardbar_right[1];
             this.Dirty = true;
             base.invalidate();
         }
     }
     if (this.showExtras && (this.suggestedPrev.Data > 0))
     {
         this.suggestedPrev.Data--;
         if (this.suggestedPrev.Data == 0)
         {
             this.suggestedPrev.Image = (Image) GFXLibrary.cardbar_left[1];
             this.Dirty = true;
             base.invalidate();
         }
     }
     if (flag)
     {
         this.Dirty = true;
         this.lastAvailableToPlay = num8;
         int count = this.displayedCards.Count;
         if (count > this.numCardCirclesVisible)
         {
             count = this.numCardCirclesVisible;
         }
         this.circleCardsText.Text = num8.ToString();
         if (this.suggestedDisplayedCards.Count != 0)
         {
             base.invalidate();
             return true;
         }
         for (int k = 0; k < this.numCardCirclesVisible; k++)
         {
             this.getCircle(k).Visible = false;
         }
         for (int m = 0; m < count; m++)
         {
             CardCircle circle2 = this.getCircle(m);
             DisplayCardInfo info3 = this.displayedCards[m];
             circle2.Image = GFXLibrary.card_circles_timer[info3.currentFrame];
             circle2.Visible = true;
             circle2.FXImage = GFXLibrary.card_circles_icons[info3.imageID];
             circle2.scaleFXImage(info3.imageID == 0x21);
             int effect = (int) info3.effect;
             NumberFormatInfo provider = null;
             if (effect == info3.effect)
             {
                 provider = GameEngine.NFI;
             }
             else
             {
                 provider = GameEngine.NFI_D1;
             }
             string str = "";
             if (addX(info3.card))
             {
                 str = "x" + info3.effect.ToString("N", provider);
             }
             else if (addPlus(info3.card))
             {
                 str = "+" + info3.effect.ToString("N", provider);
             }
             else if (info3.effect != 0.0)
             {
                 str = info3.effect.ToString("N", provider);
             }
             else
             {
                 str = "";
             }
             if (addPercent(info3.card))
             {
                 str = str + "%";
             }
             circle2.Text = str;
             circle2.CustomTooltipID = 0x2710;
             circle2.CustomTooltipData = info3.card;
         }
         if (this.showExtras)
         {
             this.circleCards.X = 10 + (0x35 * count);
             this.suggestedExpand.X = ((0x35 * count) + 0x10) + this.circleCards.Image.Size.Width;
             this.mainText.X = (this.circleCards.X + 0x35) + 5;
         }
         base.invalidate();
     }
     return flag;
 }