示例#1
0
        public EditValue(RSItem item, ItemManager im, ContainView cv)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            FontManager.setFont(14);
            this.font = FontManager.customFont;
            this.item = item;
            this.im   = im;
            this.cv   = cv;

            setValBT.Font           = font;
            editItemLabel.Font      = font;
            txtLBL.Font             = font;
            txtLBL.Font             = new Font(font.FontFamily, 12, FontStyle.Regular);
            editItemLabel.ForeColor = Color.Yellow;
            valueTB.Font            = txtLBL.Font;
            valueTB.Text            = item.ownedAmount.ToString();
            Image nameImage = cv.findImageInResources(item.imageName);

            if (item.ownedAmount > 0)
            {
                itemPB.Image = nameImage;
            }
            else
            {
                itemPB.Image = cv.SetImageOpacity(nameImage, 0.3f);
            }
        }
示例#2
0
        public void fillMenu()
        {
            for (int i = 0; i < im.itemGroups.Count; i++)
            {
                string name = im.itemGroups.Keys.ElementAt(i).menuItemName;
                Label  l    = new Label();

                l.Location  = new Point(50, 100 + (i * 40));
                l.Text      = name;
                l.Font      = f;
                l.ForeColor = Color.Yellow;
                l.BackColor = Color.Transparent;
                l.AutoSize  = true;
                PictureBox pb = new PictureBox();
                pb.Size      = new Size(36, 36);
                pb.Image     = im.itemGroups.Keys.ElementAt(i).resourceImage;
                pb.BackColor = Color.Transparent;
                pb.Location  = new Point(l.Location.X - pb.Size.Width, l.Location.Y - (pb.Size.Height / 5));
                pb.Name      = name;
                l.Name       = name;

                Label completion = new Label();

                completion.Location  = new Point(200, 100 + (i * 40));
                completion.Text      = name;
                completion.Font      = f;
                completion.ForeColor = Color.Yellow;
                completion.BackColor = Color.Transparent;
                completion.AutoSize  = true;
                int owned = 0;
                if (name != "Slayer Bosses")
                {
                    owned = im.getOwnedItems(name);
                }
                else
                {
                    RSItem item = im.getItem(name, "Abyssal_Sire", "Abyssal_bludgeon");
                    if (item.ownedAmount >= 1)
                    {
                        owned = im.getOwnedItems(name) + 3;
                    }
                }
                int all = im.getTotalItems(name);
                completion.Text = "(" + owned + "/" + all + ")";
                if (owned == all)
                {
                    completion.ForeColor = Color.ForestGreen;
                }
                this.Controls.Add(completion);

                this.Controls.Add(pb);
                this.Controls.Add(l);

                pb.Click += goToMenu;
                l.Click  += goToMenu;
            }
        }
 /// <summary>
 /// Occurs when skillcapeValues has noticed a user has a total level of 2277.
 /// </summary>
 public void activateMax()
 {
     foreach (string s in skillNamesInOrder)
     {
         string capename = s.ToLower() + "_cape";
         RSItem findItem = findItemInValues(capename);
         if (findItem != null)
         {
             if (findItem.ownedAmount < 1 && findItem.shouldOnlyHaveOne)
             {
                 findItem.ownedAmount++;
                 setItemValue(findItem);
             }
         }
     }
 }
 /// <summary>
 /// Sets values for the skillcape items incase the user has set the "UseUsername" setting.
 /// </summary>
 /// <param name="im">ItemManager which holds the values.</param>
 public void setskillCapeValues(ItemManager im)
 {
     if (HighScoreReceiver.playerStatsChecked != null)
     {
         foreach (KeyValuePair <string, bool> pair in HighScoreReceiver.playerStatsChecked)
         {
             string capeName = pair.Key.ToLower() + "_cape";
             if (capeName == "overall_cape")
             {
                 if (pair.Value)
                 {
                     activateMax();
                     capeName = "Max_cape";
                     RSItem maxCape = findItemInValues(capeName);
                     if (maxCape.ownedAmount < 1)
                     {
                         maxCape.ownedAmount++;
                         setItemValue(maxCape);
                     }
                 }
             }
             else
             {
                 RSItem foundCape = findItemInValues(capeName);
                 if (foundCape != null)
                 {
                     if (pair.Value)
                     {
                         if (foundCape.ownedAmount < 1)
                         {
                             foundCape.ownedAmount = 1;
                         }
                     }
                 }
             }
         }
     }
     else
     {
         if (u.useUserName)
         {
             HighScoreReceiver.getHighScoreInformation(u.UserName);
             setskillCapeValues(im);
         }
     }
 }
        /// <summary>
        /// Occurs once the "Edit value" menu is pressed.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void editValue_Click(object sender, EventArgs e)
        {
            MenuItem menuItem = sender as MenuItem;

            if (menuItem != null)
            {
                // Retrieve the ContextMenu that contains this MenuItem
                ContextMenu menu = menuItem.GetContextMenu();

                // Get the control that is displaying this context menu
                Control   sourceControl = menu.SourceControl;
                string    itemName      = sourceControl.Name;
                RSItem    item          = findItemInValues(itemName);
                EditValue ev            = new EditValue(item, this.im, this);
                ev.Show();
                ev.BringToFront();
            }
        }
        /// <summary>
        /// Removes a number from the ownedAmount of an item.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void removeNumber(object sender, EventArgs e)
        {
            MenuItem menuItem = sender as MenuItem;

            if (menuItem != null)
            {
                // Retrieve the ContextMenu that contains this MenuItem
                ContextMenu menu = menuItem.GetContextMenu();

                // Get the control that is displaying this context menu
                Control sourceControl = menu.SourceControl;
                string  itemName      = sourceControl.Name;
                RSItem  item          = findItemInValues(itemName);

                if (item.ownedAmount >= 1)
                {
                    item.ownedAmount--;
                }

                if (item.imageName.Contains("_clue"))
                {
                    int easyClueCount  = findItemInValues("Easy_clue").ownedAmount;
                    int medClueCount   = findItemInValues("Medium_clue").ownedAmount;
                    int hardClueCount  = findItemInValues("Hard_clue").ownedAmount;
                    int eliteClueCount = findItemInValues("Elite_clue").ownedAmount;
                    findItemInValues("Total_clue").ownedAmount = easyClueCount + medClueCount + hardClueCount + eliteClueCount;
                    setItemValue(findItemInValues("Easy_clue"));
                    setItemValue(findItemInValues("Medium_clue"));
                    setItemValue(findItemInValues("Hard_clue"));
                    setItemValue(findItemInValues("Elite_clue"));
                    setItemValue(findItemInValues("Total_clue"));
                }

                setItemValue(item);
            }
        }
        /// <summary>
        /// Sets values of an item into specific pictureboxes and labels.
        /// </summary>
        /// <param name="item"></param>
        public void setItemValue(RSItem item)
        {
            foreach (Control c in Controls)
            {
                if (c is Label)
                {
                    if (c.Name == item.imageName)
                    {
                        if (item.ownedAmount == 1 && item.shouldOnlyHaveOne)
                        {
                            c.Text = "";
                        }
                        else if (item.ownedAmount > 0)
                        {
                            if (item.ownedAmount < 1000)
                            {
                                c.Text = item.ownedAmount.ToString();
                            }
                            else if (item.ownedAmount >= 1000 && item.ownedAmount < 1000000)
                            {
                                //IS K
                                double kAmount = Convert.ToDouble(item.ownedAmount) / 1000;
                                c.Text = Math.Floor(kAmount) + "K";
                            }
                            else if (item.ownedAmount < 1000000000)
                            {
                                double MAmount = Convert.ToDouble(item.ownedAmount) / 1000000;
                                c.Text = Math.Floor(MAmount) + "M";
                            }
                            else
                            {
                                double BAmount = Convert.ToDouble(item.ownedAmount) / 1000000000;
                                c.Text = Math.Floor(BAmount) + "B";


                                //IS B
                            }
                        }
                        else
                        {
                            c.Text = "";
                        }
                    }
                }
                else if (c is PictureBox)
                {
                    if (c.Name == item.imageName)
                    {
                        if (item.ownedAmount >= 1)
                        {
                            Image      itemIMG = findImageInResources(item.imageName);
                            PictureBox picture = c as PictureBox;
                            picture.Image = itemIMG;
                        }
                        else
                        {
                            Image      itemIMG = findImageInResources(item.imageName);
                            PictureBox picture = c as PictureBox;
                            picture.Image = SetImageOpacity(itemIMG, 0.3F);
                        }
                    }
                }
            }

            ItemContainerSaving.saveAllItemData(this.im);
        }
        /// <summary>
        /// Adds a set number to the OwnedAmount of the clicked/edited item.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="number"></param>
        public void addToNumber(Control sender, int number)
        {
            string selectedItem = itemComboBox.SelectedItem.ToString();

            selectedItem = selectedItem.Replace(" ", "_");
            if (selectedItem == "Vet'ion")
            {
                selectedItem = "Vetion";
            }
            string itemName = sender.Name;

            RSItem item = findItemInValues(itemName);

            if (multipleItemExceptions.Contains(itemName))
            {
                item = findItemInCategory(itemName, selectedItem);
            }


            if (item.ownedAmount == 1 && item.shouldOnlyHaveOne)
            {
                //YOU ALREADY HAVE 1 of UNTRADABLE
            }
            else
            {
                if (checkForDiary(item.imageName))
                {
                    foreach (string s in diaryTerms)
                    {
                        if (item.imageName.Contains(s))
                        {
                            int    lastNumber    = Convert.ToInt16(item.imageName.Substring(item.imageName.Length - 1, 1));
                            string withoutNumber = item.imageName.Substring(0, item.imageName.Length - 1);
                            item.ownedAmount += number;

                            for (int i = 1; i <= lastNumber; i++)
                            {
                                string nameToFill   = withoutNumber + i;
                                RSItem itemFromName = findItemInValues(nameToFill);
                                if (itemFromName.ownedAmount < 1 && itemFromName.shouldOnlyHaveOne)
                                {
                                    itemFromName.ownedAmount++;
                                }
                            }
                        }
                        else
                        {
                            //NOTHING.
                        }
                    }
                }
                else if (checkForChompy(item.imageName) != "")
                {
                    string chompyName  = checkForChompy(item.imageName);
                    int    chompyIndex = 0;
                    for (int i = 0; i < chompyHatsWithKills.Count; i++)
                    {
                        if (chompyHatsWithKills.Keys.ElementAt(i) == chompyName)
                        {
                            chompyIndex = i;
                        }
                    }
                    item.ownedAmount += number;
                    setItemValue(item);

                    for (int chompy = 0; chompy < chompyIndex; chompy++)
                    {
                        RSItem chompyHat = findItemInValues(chompyHatsWithKills.Keys.ElementAt(chompy));
                        if (chompyHat != null)
                        {
                            if (chompyHat.ownedAmount < 1 && chompyHat.shouldOnlyHaveOne)
                            {
                                chompyHat.ownedAmount++;
                                setItemValue(chompyHat);
                            }
                        }
                    }
                }
                else if (item.imageName.Contains("Bludgeon_"))
                {
                    findItemInValues(item.imageName).ownedAmount += number;

                    while (item.ownedAmount > 0)
                    {
                        if (findItemInValues("Bludgeon_claw").ownedAmount >= 1 && findItemInValues("Bludgeon_axon").ownedAmount >= 1 && findItemInValues("Bludgeon_spine").ownedAmount >= 1)
                        {
                            findItemInValues("Abyssal_bludgeon").ownedAmount++;
                            findItemInValues("Bludgeon_claw").ownedAmount--;
                            findItemInValues("Bludgeon_axon").ownedAmount--;
                            findItemInValues("Bludgeon_spine").ownedAmount--;
                            setItemValue(findItemInValues("Abyssal_bludgeon"));
                            setItemValue(findItemInValues("Bludgeon_claw"));
                            setItemValue(findItemInValues("Bludgeon_axon"));
                            setItemValue(findItemInValues("Bludgeon_spine"));
                        }
                        else
                        {
                            break;
                        }
                    }
                }
                else if (item.imageName.Contains("_clue"))
                {
                    findItemInValues(item.imageName).ownedAmount += number;

                    int easyClueCount  = findItemInValues("Easy_clue").ownedAmount;
                    int medClueCount   = findItemInValues("Medium_clue").ownedAmount;
                    int hardClueCount  = findItemInValues("Hard_clue").ownedAmount;
                    int eliteClueCount = findItemInValues("Elite_clue").ownedAmount;
                    findItemInValues("Total_clue").ownedAmount = easyClueCount + medClueCount + hardClueCount + eliteClueCount;
                    setItemValue(findItemInValues("Easy_clue"));
                    setItemValue(findItemInValues("Medium_clue"));
                    setItemValue(findItemInValues("Hard_clue"));
                    setItemValue(findItemInValues("Elite_clue"));
                    setItemValue(findItemInValues("Total_clue"));
                }
                else if (item.imageName.ToLower().Contains("max"))
                {
                    item.ownedAmount += number;
                    foreach (string s in skillNamesInOrder)
                    {
                        string capename = s.ToLower() + "_cape";
                        RSItem findItem = findItemInValues(capename);
                        if (findItem != null)
                        {
                            if (findItem.ownedAmount < 1 && findItem.shouldOnlyHaveOne)
                            {
                                findItem.ownedAmount++;
                            }
                        }
                    }
                }
                else
                {
                    item.ownedAmount += number;
                }
                if (item != null)
                {
                    if (!multipleItemExceptions.Contains(item.imageName))
                    {
                        im.setFilledValue(item);
                    }
                }
            }

            setItemValue(item);
        }
        /// <summary>
        /// Occurs if the user hovers their mouse over an item. Should display information about said item.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void controlHover(object sender, EventArgs e)
        {
            Control c         = sender as Control;
            RSItem  foundItem = findItemInValues(c.Name);

            if (foundItem != null)
            {
                ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
                if (foundItem.itemid == 0 || foundItem.itemid == 1)
                {
                    if (foundItem.imageName.ToLower().Contains("pet"))
                    {
                        ToolTip1.SetToolTip(c, "This new friend is priceless!");
                    }
                    else if (foundItem.imageName.ToLower().Contains("hat"))
                    {
                        string foundChompyHat = checkForChompy(foundItem.imageName);
                        if (foundChompyHat != "")
                        {
                            string toPutName = foundItem.imageName;
                            toPutName = foundItem.imageName.Replace("_", " ");
                            int kc = chompyHatsWithKills[foundChompyHat];
                            ToolTip1.SetToolTip(c, "Chompy hat: " + toPutName + Environment.NewLine + kc + " chompy kills");
                        }
                    }
                    else if (slayerUnlocks.Keys.Contains(foundItem.imageName))
                    {
                        string unlockText = slayerUnlocks[foundItem.imageName];
                        ToolTip1.SetToolTip(c, unlockText);
                    }
                    else
                    {
                        if (!foundItem.imageName.ToLower().Contains("cape") && !foundItem.imageName.ToLower().Contains("_clue"))
                        {
                            string toPutName = foundItem.imageName;
                            toPutName = foundItem.imageName.Replace("_", " ");
                            if (toPutName.Contains(" s "))
                            {
                                toPutName = toPutName.Replace(" s ", "'s ");
                            }
                            ToolTip1.SetToolTip(c, "Item: " + toPutName + Environment.NewLine + "This item doesn't have a price :)");
                        }
                        else if (foundItem.imageName.ToLower().Contains("_clue"))
                        {
                            string toPutName = foundItem.imageName;
                            toPutName = foundItem.imageName.Replace("_", " ") + " counter: " + foundItem.ownedAmount + " clues completed!";

                            ToolTip1.SetToolTip(c, toPutName);
                        }
                    }
                }
                else
                {
                    int  ownPrice   = getGEPrice(foundItem.itemid);
                    long totalPrice = ownPrice * foundItem.ownedAmount;
                    if (totalPrice >= 2147483647 || totalPrice < 0)
                    {
                        ToolTip1.SetToolTip(c, "Price per: " + string.Format("{0:#,###0.#}", ownPrice) + " gp || Total: 2147M+ gp!");
                    }
                    else
                    {
                        if (foundItem.imageName.Contains("page"))
                        {
                            int    lastindex  = foundItem.imageName.LastIndexOf("_");
                            string pageNumber = foundItem.imageName.Substring(lastindex + 1, foundItem.imageName.Length - lastindex - 1);
                            ToolTip1.SetToolTip(c, "Page " + pageNumber + Environment.NewLine + "Price per: " + string.Format("{0:#,###0.#}", ownPrice) + " gp || Total: " + string.Format("{0:#,###0.#}", totalPrice) + " gp");
                        }
                        else
                        {
                            string toPutName = foundItem.imageName;
                            toPutName = foundItem.imageName.Replace("_", " ");
                            if (toPutName.Contains(" s "))
                            {
                                toPutName = toPutName.Replace(" s ", "'s ");
                            }
                            ToolTip1.SetToolTip(c, "Item: " + toPutName + Environment.NewLine + "Price per: " + string.Format("{0:#,###0.#}", ownPrice) + " gp || Total: " + string.Format("{0:#,###0.#}", totalPrice) + " gp");
                        }
                    }
                }
            }
        }
示例#10
0
        /// <summary>
        /// Occurs once the itemComboBox changes values.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void itemComboBox_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                string selectedItem = itemComboBox.SelectedItem.ToString();
                if (selectedItem == "Head Drops")
                {
                    TipLabel.Text = "( ͡⊙ ͜ʖ ͡⊙)";
                }

                clearStuff();
                Refresh();

                if (selectedItem != "")
                {
                    selectedItem = selectedItem.Replace(" ", "_");
                    if (selectedItem == "Vet'ion")
                    {
                        selectedItem = "Vetion";
                    }
                    int widthCounter = 0;
                    int heightset    = 0;
                    foreach (ItemContainer valItem in valueItems)
                    {
                        if (valItem.CategoryName == selectedItem)
                        {
                            for (int i = 0; i < valItem.items.Count; i++)
                            {
                                RSItem selItem = valItem.items[i];
                                if (im.lookForFilledValue(valItem.items[i]) != null)
                                {
                                    if (!multipleItemExceptions.Contains(im.lookForFilledValue(selItem).imageName))
                                    {
                                        valItem.items[i] = im.lookForFilledValue(valItem.items[i]);
                                    }
                                }

                                PictureBox pb = new PictureBox();
                                pb.Location  = new Point(30 + (50 * widthCounter), 120 + (heightset * 60));
                                pb.Size      = new Size(40, 40);
                                pb.BackColor = Color.Transparent;
                                pb.Name      = selItem.imageName;
                                pb.SizeMode  = PictureBoxSizeMode.CenterImage;

                                Label l = new Label();
                                l.Font = textfont;
                                l.Size = new Size(50, 25);
                                //l.AutoSize = true;
                                int newX = pb.Location.X - 5;
                                int newY = pb.Location.Y + 35;
                                l.Location  = new Point(newX, newY);
                                l.BackColor = Color.Transparent;
                                l.Name      = pb.Name;
                                l.TextAlign = ContentAlignment.MiddleCenter;



                                pb.MouseClick += controlMouseClick;
                                l.MouseClick  += controlMouseClick;

                                pb.MouseHover += controlHover;
                                l.MouseHover  += controlHover;

                                pb.ContextMenu = cm;
                                l.ContextMenu  = cm;

                                if (selItem.ownedAmount > 0)
                                {
                                    if (selItem.shouldOnlyHaveOne)
                                    {
                                        l.Text = "";
                                    }
                                    else
                                    {
                                        if (selItem.ownedAmount < 1000)
                                        {
                                            l.Text = selItem.ownedAmount.ToString();
                                        }
                                        else if (selItem.ownedAmount >= 1000 && selItem.ownedAmount < 1000000)
                                        {
                                            //IS K
                                            double kAmount = Convert.ToDouble(selItem.ownedAmount) / 1000;
                                            l.Text = Math.Floor(kAmount) + "K";
                                        }
                                        else if (selItem.ownedAmount < 1000000000)
                                        {
                                            double MAmount = Convert.ToDouble(selItem.ownedAmount) / 1000000;
                                            l.Text = Math.Floor(MAmount) + "M";
                                        }
                                        else
                                        {
                                            double BAmount = Convert.ToDouble(selItem.ownedAmount) / 1000000000;
                                            l.Text = Math.Floor(BAmount) + "B";


                                            //IS B
                                        }
                                    }
                                    Image img = findImageInResources(selItem.imageName);
                                    pb.Image = img;
                                }
                                else
                                {
                                    l.Text = "";
                                    Image img = findImageInResources(selItem.imageName);
                                    pb.Image = SetImageOpacity(img, 0.3f);
                                }
                                if (Controls.ContainsKey(pb.Name))
                                {
                                    pb.Name += 1;
                                }
                                if (Controls.ContainsKey(pb.Name))
                                {
                                    pb.Name += 1;
                                }

                                Control.ControlCollection cc = Controls;
                                cc.Add(l);
                                cc.Add(pb);

                                if (widthCounter == 4)
                                {
                                    heightset++;
                                    widthCounter = 0;
                                }
                                else
                                {
                                    widthCounter++;
                                }
                            }
                        }
                    }
                }
            }
            catch (InvalidCastException ae)
            {
                MessageBox.Show(ae.Message);
            }
        }
示例#11
0
        void deleteAll_Click(object sender, EventArgs e)
        {
            MenuItem menuItem = sender as MenuItem;

            if (menuItem != null)
            {
                // Retrieve the ContextMenu that contains this MenuItem
                ContextMenu menu = menuItem.GetContextMenu();

                // Get the control that is displaying this context menu
                Control sourceControl = menu.SourceControl;
                RSItem  item          = findItemInValues(sourceControl.Name);

                DialogResult dialogResult = MessageBox.Show("Are you sure you want to clear the information for this item?", "Rly?", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    item.ownedAmount = 0;

                    foreach (Control c in Controls)
                    {
                        if (c is Label)
                        {
                            if (c.Name == item.imageName)
                            {
                                Label cLabel = c as Label;
                                cLabel.Text = "";
                            }
                        }
                        else if (c is PictureBox)
                        {
                            if (c.Name == item.imageName)
                            {
                                Image      itemIMG = findImageInResources(item.imageName);
                                PictureBox picture = c as PictureBox;
                                picture.Image = SetImageOpacity(itemIMG, 0.3f);
                            }
                        }
                    }

                    if (item.imageName.Contains("_clue"))
                    {
                        int easyClueCount  = findItemInValues("Easy_clue").ownedAmount;
                        int medClueCount   = findItemInValues("Medium_clue").ownedAmount;
                        int hardClueCount  = findItemInValues("Hard_clue").ownedAmount;
                        int eliteClueCount = findItemInValues("Elite_clue").ownedAmount;
                        findItemInValues("Total_clue").ownedAmount = easyClueCount + medClueCount + hardClueCount + eliteClueCount;
                        setItemValue(findItemInValues("Easy_clue"));
                        setItemValue(findItemInValues("Medium_clue"));
                        setItemValue(findItemInValues("Hard_clue"));
                        setItemValue(findItemInValues("Elite_clue"));
                        setItemValue(findItemInValues("Total_clue"));
                    }

                    //SAVE STUFF:
                    ItemContainerSaving.saveAllItemData(this.im);

                    //do something
                }
                else if (dialogResult == DialogResult.No)
                {
                }
            }
        }