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); } }
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"); } } } } }
/// <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); } }
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) { } } }