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;
        }
Esempio n. 2
0
 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;
        }