private void RemoveItem(DataGridCardItem item) { TotalAmount -= item.Count; DustAmount -= item.Dust; switch (item.Rarity) { case HearthDb.Enums.Rarity.COMMON: CommonsCount -= item.Count; break; case HearthDb.Enums.Rarity.RARE: RaresCount -= item.Count; break; case HearthDb.Enums.Rarity.EPIC: EpicsCount -= item.Count; break; case HearthDb.Enums.Rarity.LEGENDARY: LegendariesCount -= item.Count; break; } cardsGrid.GridItems.Remove(item); CurrentItems.Remove(item); }
private async void OnCardsGridItemDropped(object sender, DataGridCardItemEventArgs e) { m_currentItem = e.Item; if (m_currentItem.Count > 1) { m_cardCountDialog = new CardCountDialog(e.Item.Name, e.Item.Count); m_cardCountDialog.AcceptButton.Click += OnAcceptClick; m_cardCountDialog.CancelButton.Click += OnCancelClick; m_dialog = new CustomDialog(this) { Content = m_cardCountDialog }; await this.ShowMetroDialogAsync(m_dialog, m_dialogSettings); } else if (m_currentItem.Count == 1) { AddItem(m_currentItem); } else { } }
private void OnDeleteRowClick(object sender, RoutedEventArgs e) { int nIndex = dataGrid.SelectedIndex; System.Diagnostics.Debug.WriteLine($"Deleting row at index \"{nIndex}\""); if (dataGrid.SelectedItem is DataGridCardItem) { //MetroWindow window = Window.GetWindow(this) as MetroWindow; //MessageDialogResult result = await window.ShowMessageAsync(string.Empty, "Are you sure you want to remove the selected card?", MessageDialogStyle.AffirmativeAndNegative); //if (result == MessageDialogResult.Affirmative) //{ DataGridCardItem item = dataGrid.SelectedItem as DataGridCardItem; GridItems.RemoveAt(nIndex); if (RowDeleted != null) { RowDeleted(this, new DataGridCardItemEventArgs(item, nIndex)); } else { } //} //else { } } else { } }
private void OnItemDropped(DataGridCardItem item) { if (ItemDropped != null) { ItemDropped(this, new DataGridCardItemEventArgs(item, -1)); } else { } }
private void OnOpenSelectionClick(object sender, System.Windows.RoutedEventArgs e) { if (m_selectionWindow == null) { List <DataGridCardItem> lstSelection = m_account.AccountPreferences.CardSelection.ConvertAll(c => { CardWrapper wrapper = new CardWrapper(new HearthMirror.Objects.Card(c.Id, c.Count, c.IsGolden)); return(DataGridCardItem.FromCardWrapper(wrapper)); }); m_selectionWindow = new CardSelectionWindow(lstSelection) { Owner = this }; m_selectionWindow.Closed += (s, args) => { m_account.AccountPreferences.CardSelection.Clear(); if (m_selectionWindow.SaveSelection) { m_account.AccountPreferences.CardSelection = m_selectionWindow.CurrentItems.ConvertAll(i => { return(new CachedCard { Id = i.Tag.Card.Id, Count = i.Tag.Card.Count, IsGolden = i.Tag.Card.Premium }); }); m_account.SavePreferenes(); } else { } openSelectionButton.IsEnabled = true; m_selectionWindow = null; }; m_selectionWindow.Show(); openSelectionButton.IsEnabled = false; } else { DustUtilityPlugin.BringWindowToFront(m_selectionWindow); } }
private SearchResultContainer CreateSearchResult(CardWrapper[] vCards) { SearchResultContainer retVal = new SearchResultContainer(); Log.WriteLine("Creating search result...", LogType.Debug); DataGridCardItem[] vItems = new DataGridCardItem[vCards.Length]; for (int i = 0; i < vCards.Length; i++) { CardWrapper wrapper = vCards[i]; switch (wrapper.DbCard.Rarity) { case HearthDb.Enums.Rarity.COMMON: retVal.CommonsCount += wrapper.Count; break; case HearthDb.Enums.Rarity.RARE: retVal.RaresCount += wrapper.Count; break; case HearthDb.Enums.Rarity.EPIC: retVal.EpicsCount += wrapper.Count; break; case HearthDb.Enums.Rarity.LEGENDARY: retVal.LegendariesCount += wrapper.Count; break; } DataGridCardItem item = DataGridCardItem.FromCardWrapper(wrapper); retVal.TotalCount += item.Count; retVal.Dust += item.Dust; vItems[i] = item; } //Sort vItems = OrderItems(vItems).ToArray(); for (int i = 0; i < vItems.Length; i++) { retVal.GridItems.Add(vItems[i]); } return(retVal); }
private void OnDataGridDrop(object sender, DragEventArgs e) { System.Diagnostics.Debug.WriteLine("drop"); if (e.Data.GetDataPresent("item")) { DataGridCardItem item = e.Data.GetData("item") as DataGridCardItem; System.Diagnostics.Debug.WriteLine($"Dropped {item.Name}"); OnItemDropped(item); } else { } }
private void OnDataGridMouseMove(object sender, MouseEventArgs e) { //if (cardImagePopup.IsOpen) //{ // Point position = e.GetPosition(dataGrid); // cardImagePopup.HorizontalOffset = position.X + 20; // cardImagePopup.VerticalOffset = position.Y; //} //else { } if (AllowDrag && (m_startPosition != null && m_startPosition.HasValue)) { if (m_draggedItem == null && dataGrid.SelectedIndex > -1) { m_draggedItem = dataGrid.SelectedItem as DataGridCardItem; } else { } Point position = e.GetPosition(null); Vector diff = m_startPosition.Value - position; if (m_draggedItem != null && (Math.Abs(diff.X) > (SystemParameters.MinimumHorizontalDragDistance / 3) && Math.Abs(diff.Y) > (SystemParameters.MinimumVerticalDragDistance / 3))) { System.Diagnostics.Debug.WriteLine($"dragging {m_draggedItem.Name}"); DataObject data = new DataObject("item", m_draggedItem.CreateCopy()); DragDrop.DoDragDrop(dataGrid, data, DragDropEffects.Copy); m_startPosition = null; m_draggedItem = null; } else { } } else { } }
private void OnImportPackClick(object sender, RoutedEventArgs e) { List <HearthMirror.Objects.Card> lstLatestPack = Reflection.GetPackCards(); if (lstLatestPack?.Count > 0) { for (int i = 0; i < lstLatestPack.Count; i++) { CardWrapper wrapper = new CardWrapper(lstLatestPack[i]); DataGridCardItem item = DataGridCardItem.FromCardWrapper(wrapper); AddItem(item); } } else { } }