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(); } } }
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(); } } }
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); }
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(); }
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) { } } }
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(); }