Exemple #1
0
        /// <summary>
        /// Called whenever an item is clicked in the NPC's drops panel. First we check to see if the drop is
        /// a drop with a range of quantities. Next, we check if it is a drop with multiple possible quantities.
        /// Third, we check to see if the drop is a rare drop table drop. If the drop meets any of those
        /// criteria, we show the special form for handling those instances. Otherwise we just log the drop.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void dropsListView_ItemActivate(object sender, EventArgs e)
        {
            if (hasDropFormOpen)
            {
                return;
            }

            ListView     listView     = (ListView)sender;
            ListViewItem listViewItem = listView.SelectedItems[0];
            Drop         dropToLog    = (Drop)listViewItem.Tag;

            if (dropToLog.IsRangeOfDrops)
            {
                AddDropRangeForm addDropRangeFrom = new AddDropRangeForm();
                addDropRangeFrom.dropLabel.Text        = dropToLog.Name;
                addDropRangeFrom.rangeTextBox.KeyDown += RangeTextBox_KeyDown;
                addDropRangeFrom.addDropButton.Click  += AddDropButton_Click;
                addDropRangeFrom.rangeTextBox.Tag      = dropToLog;
                addDropRangeFrom.addDropButton.Tag     = dropToLog;

                addDropRangeFrom.Show(this);
                hasDropFormOpen = true;
            }
            else if (dropToLog.HasMultipleQuantities)
            {
                AddDropMultipleForm addDropMultipleForm = new AddDropMultipleForm();
                addDropMultipleForm.dropLabel.Text = dropToLog.Name;

                foreach (int quantityOption in dropToLog.MultipleQuantities)
                {
                    addDropMultipleForm.quantityOptionsListBox.Items.Add(quantityOption);
                }

                addDropMultipleForm.quantityOptionsListBox.Text = dropToLog.MultipleQuantities[0].ToString();
                addDropMultipleForm.quantityOptionsListBox.Tag  = dropToLog;

                addDropMultipleForm.addDropButton.Click += AddMultipleRangeDropButton_Click;

                addDropMultipleForm.Show(this);
                hasDropFormOpen = true;
            }
            else if (dropToLog.Name.Equals("RareDropTable"))
            {
                AddRareDropForm addRareDropForm = new AddRareDropForm();
                addRareDropForm.rareDropsOptionList.Items.AddRange(osrsDropContainers.RareDropTable.Cast <object>().ToArray());
                addRareDropForm.addRareDropButton.Click += AddRareDropButton_Click;

                addRareDropForm.Show(this);
                hasDropFormOpen = true;
            }
            else
            {
                osrsDropContainers.LogDrop(dropToLog);
            }
        }
Exemple #2
0
        /// <summary>
        /// Adds the selected rare drop to the logged drops.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddRareDropButton_Click(object sender, EventArgs e)
        {
            Button          button         = (Button)sender;
            AddRareDropForm form           = (AddRareDropForm)button.TopLevelControl;
            object          selectedObject = form.rareDropsOptionList.SelectedItem;

            if (selectedObject != null)
            {
                Drop dropToLog = (Drop)selectedObject;
                osrsDropContainers.LogDrop(dropToLog);

                form.Close();
                hasDropFormOpen = false;
            }
        }