Exemple #1
0
        private void IncreaseAmount(Card card)
        {
            foreach(ListViewItem item in this.deckLayout.Items) {
                DeckCard cd = (DeckCard)item.Tag;

                if(cd != null
                && cd.Card.Name.Equals(card.Name)) {
                    string number = item.Text.Substring(0, item.Text.IndexOf(" ")).Trim();

                    if(number.IsNumeric()) {
                        int amount = number.ToInt32();

                        amount++;

                        cd.Amount = amount;
                        item.Text = amount.ToString() + " " + cd.Card.Name;
                    }

                    this.SetDeckCardAmountLabel();
                }
            }
        }
Exemple #2
0
        private void DecreaseAmount(Card card, bool removeCard)
        {
            ListViewItem toBeRemoved = null;

            foreach(ListViewItem item in this.deckLayout.Items) {
                DeckCard cd = (DeckCard)item.Tag;

                if(cd != null
                && cd.Card.Name.Equals(card.Name)) {
                    string number = item.Text.Substring(0, item.Text.IndexOf(" ")).Trim();

                    if(number.IsNumeric()) {
                        int amount = number.ToInt32();

                        // remove a card
                        if(amount > 1) {
                            amount--;

                            cd.Amount = amount;
                            item.Text = amount.ToString() + " " + cd.Card.Name;
                        }
                        // remove tha whole card
                        else if(amount == 1) {
                            toBeRemoved = item;
                        }

                        this.SetDeckCardAmountLabel();
                    }
                }
            }

            if(toBeRemoved != null
            && removeCard) {
                ListViewGroup group = toBeRemoved.Group;

                if(group.Header.Contains("(")
                && group.Header.Contains(")")) {
                    // ({0} cards)
                    string name = group.Header.Substring(0, group.Header.IndexOf("(")).Trim();
                    string number = group.Header.Substring(
                        group.Header.IndexOf("(") + 1,
                        group.Header.IndexOf("cards)") - group.Header.IndexOf("(") - 1
                    ).Trim();

                    int newNumber = number.ToInt32() - 1;

                    if(newNumber < 0) {
                        newNumber = 0;
                    }

                    group.Header = name + " (" + newNumber.ToString() + " cards)";
                }

                this.deckLayout.Items.Remove(toBeRemoved);

                if(this.deckLayout.Items.Count == 0) {
                    this.deckLayout.Groups.Clear();
                }
            }
        }
Exemple #3
0
        private void AddCardToDeck(Card card, int amount, bool isSideboard, bool withoutCardAmountCounting)
        {
            DeckCard deckCard = new DeckCard();

            deckCard.Card = card;
            deckCard.Amount = amount;
            deckCard.Sideboard = isSideboard;

            this.AddCardToDeck(deckCard, withoutCardAmountCounting);
        }
Exemple #4
0
        private void RemoveCardFromDeck(Card card)
        {
            ListViewItem toBeRemoved = null;

            foreach(ListViewItem item in this.deckLayout.Items) {
                DeckCard cd = (DeckCard)item.Tag;

                if(cd != null
                && cd.Card.Name.Equals(card.Name)) {
                    toBeRemoved = item;
                }
            }

            if(toBeRemoved != null) {
                ListViewGroup group = toBeRemoved.Group;

                if(group.Header.Contains("(")
                && group.Header.Contains(")")) {
                    // ({0} cards)
                    string name = group.Header.Substring(0, group.Header.IndexOf("(")).Trim();
                    string number = group.Header.Substring(
                        group.Header.IndexOf("(") + 1,
                        group.Header.IndexOf("cards)") - group.Header.IndexOf("(") - 1
                    ).Trim();

                    int newNumber = number.ToInt32() - 1;

                    if(newNumber < 0) {
                        newNumber = 0;
                    }

                    group.Header = name + " (" + newNumber.ToString() + " cards)";
                }

                this.deckLayout.Items.Remove(toBeRemoved);

                if(this.deckLayout.Tag != null) {
                    Deck deck = (Deck)this.deckLayout.Tag;

                    deck.CardList.Remove((DeckCard)toBeRemoved.Tag);
                }

                if(this.deckLayout.Items.Count == 0) {
                    this.deckLayout.Groups.Clear();
                }
            }

            this.SetDeckCardAmountLabel();
        }
Exemple #5
0
        private void OpenCardViewer(Card card, Point point)
        {
            if(card.MainType == "Plane") {
                ViewCardBig form = new ViewCardBig(card);

                form.StartPosition = FormStartPosition.CenterParent;

                //if(point.IsEmpty) {
                //    form.StartPosition = FormStartPosition.CenterParent;
                //}
                //else {
                //    form.StartPosition = FormStartPosition.WindowsDefaultLocation;

                //    Point p = new Point(
                //        point.X + this.Location.X,
                //        point.Y + this.Location.Y
                //    );

                //    form.Location = p;
                //}

                if(form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) {
                }
            }
            else {
                ViewCard form = new ViewCard(card);

                form.StartPosition = FormStartPosition.CenterParent;

                //if(point == null) {
                //    form.StartPosition = FormStartPosition.CenterParent;
                //}
                //else {
                //    form.StartPosition = FormStartPosition.WindowsDefaultLocation;

                //    Point p = new Point(
                //        point.X + this.Location.X,
                //        point.Y + this.Location.Y
                //    );

                //    form.Location = p;
                //}

                if(form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) {
                }
            }
        }
Exemple #6
0
        public ViewCardBig(Card card)
        {
            InitializeComponent();

            EditionImage firstImage = card.FirstEditionImageFromList;

            string transformedFilename = "";
            Card transformed = null;

            if(card.IsTransformable) {
                this.btnTransform.Visible = true;

                transformed = card.TransformedCard;

                transformedFilename = Helper.CreateImageFilename(
                    transformed.FirstEditionFromList.Shortname,
                    transformed.Name
                );
            }

            string filename = Helper.CreateImageFilename(
                card.FirstEditionFromList.Shortname,
                card.Name
            );

            if(!File.Exists(filename)) {
                if(!Directory.Exists("img\\" + firstImage.Edition.Shortname + "\\")) {
                    Directory.CreateDirectory("img\\" + firstImage.Edition.Shortname + "\\");
                }

                ImageLoader.DownloadImage(firstImage.Url.AbsoluteUri, filename, card.MainType);
            }

            if(!transformedFilename.IsNullOrTrimmedEmpty()
            && transformed != null) {
                if(!File.Exists(transformedFilename)) {
                    if(!Directory.Exists("img\\" + transformed.FirstEditionImageFromList.Edition.Shortname + "\\")) {
                        Directory.CreateDirectory("img\\" + transformed.FirstEditionImageFromList.Edition.Shortname + "\\");
                    }

                    ImageLoader.DownloadImage(
                        transformed.FirstEditionImageFromList.Url.AbsoluteUri,
                        transformedFilename,
                        card.MainType
                    );
                }

                this._transformedImage = new Bitmap(transformedFilename);
            }

            /*
             * LOAD IMAGE & DATA
             */
            this._mainImage = new Bitmap(filename);

            this.cardImage.Image = this._mainImage;

            this.gbCard.Text = card.Name + " (" + card.MainType + ")";
            this.lblName.Text = card.Name;
            this.lblCastingCost.Text = card.CastingCost
                + (card.CastingCost.IsNullOrTrimmedEmpty() ? "" : " (" + card.ConvertedCastingCost + ")");
            this.lblType.Text = card.Type
                + (card.SpecialType != "[Unknown special type]" ? " (" + card.SpecialType + ")" : "");
            this.lblColor.Text = card.GetColorString();
            this.lblRarity.Text = card.Rarity.ToString();
            this.lblArtist.Text = card.Artist;
            this.lblPowerToughness.Text = card.PowerThoughness;
            this.txtText.Text = card.Text;
            this.txtFlavourText.Text = card.Flavour;

            foreach(KeyValuePair<Edition, EditionImage> pair in card.EditionPictures) {
                this.lbCollections.Items.Add(pair.Key.ToString());
            }

            this.txtText.BringToFront();
            this.txtFlavourText.BringToFront();
        }