private void dropPanel_OnDelete(GroupPanel sender, NpcDropGroup data) { int index = lstDropGroups.Children.IndexOf(sender); if (index < 0) { return; } // if (data.Items.Count > 0) { MessageBoxResult r = MessageBox.Show("Are you sure you want to delete the current Drop group?", "Warning!", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (r == MessageBoxResult.No) { return; } } // GroupPanel panel; int c = lstDropGroups.Children.Count; for (int i = index + 1; i < c; i++) { panel = (GroupPanel)lstDropGroups.Children[i]; panel.SetIndex(i - 1); } // lstDropGroups.Children.RemoveAt(index); npcMgr.HasChanges = true; hasDropChanges = true; }
public void Load(NpcDropGroup data) { this.data = data; HasChanges = false; // txtChance.Text = data.Chance; lstItems.ItemsSource = data.Items; data.Items.CollectionChanged += Items_CollectionChanged; // updateRemainder(); }
//----------------------------- // Drop Groups private GroupPanel appendDropPanel(NpcDropGroup data) { int i = lstDropGroups.Children.Count; GroupPanel panel = new GroupPanel(); panel.Margin = new Thickness(2, 2, 2, 2); panel.SetIndex(i); panel.Load(data); panel.OnDelete += dropPanel_OnDelete; panel.OnChanged += dropPanel_OnChanged; lstDropGroups.Children.Add(panel); return(panel); }
private void btnNewDropGroup_Click(object sender, RoutedEventArgs e) { NpcDropGroup data = new NpcDropGroup(); data.Chance = "50"; data.Items.Add(new NpcDropItem() { Min = 1, Max = 1 }); appendDropPanel(data); npcMgr.HasChanges = true; hasDropChanges = true; }