public Description(ItemButton button) { Source = button.Item; Mods = button.Item.GetModStrings(); Name = button.Item.GetNameStrings(); Length = 5; foreach (string line in Mods) { if (line != "") { ++Length; } } foreach (string line in Name) { if (line != "") { ++Length; } } Bounds = new Vector2I(230, Length * 24); Position = button.Position - new Vector2(250, 24); }
Vector2 MouseOver(ItemButton button) { if (TemporaryItem != null) { if (ScaledMousePosition.X + ItemDraggingOffsetVector.X + 32 >= button.Position.X - button.Origin.X && ScaledMousePosition.X + ItemDraggingOffsetVector.X + 32 <= button.Position.X + button.Origin.X) { if (ScaledMousePosition.Y + ItemDraggingOffsetVector.Y + 32 >= OffsetVector.Y + button.Position.Y - button.Origin.Y && ScaledMousePosition.Y + ItemDraggingOffsetVector.Y + 32 <= OffsetVector.Y + button.Position.Y + button.Origin.Y) { return(button.Position - ScaledMousePosition - button.Origin); } } } else { if (ScaledMousePosition.X >= button.Position.X - button.Origin.X && ScaledMousePosition.X <= button.Position.X + button.Origin.X) { if (ScaledMousePosition.Y >= OffsetVector.Y + button.Position.Y - button.Origin.Y && ScaledMousePosition.Y <= OffsetVector.Y + button.Position.Y + button.Origin.Y) { return(button.Position - ScaledMousePosition - button.Origin); } } } return(Vector2.Zero); }
bool CheckItemDragging() { foreach (InventoryButton button in Save.Kevin.Equipment.Items) { if (button.Item != null) { Vector2 offset = MouseOver(button); if (offset != Vector2.Zero) { if (Click()) { button.WasClicked = true; } if (Hold() && button.WasClicked) { if (TemporaryItem == null) { ItemDraggingOffsetVector = offset; TemporaryItem = button.Item; TemporaryItemButton = button; button.Item = null; if (TemporaryItem.Type == TemporaryItemButton.Type) { ApplyEquipEffects(TemporaryItem, false); } return(true); } } } } } if (Trading) { foreach (ShopButton button in ShopInventory) { if (button.Item != null) { Vector2 offset = MouseOver(button); if (offset != Vector2.Zero) { if (Click()) { button.WasClicked = true; } if (Hold() && button.WasClicked) { if (TemporaryItem == null) { if (Save.Kevin.Wealth >= button.Cost) { ItemDraggingOffsetVector = offset; if (button.Item is Armor) { TemporaryItem = ((Armor)button.Item).Copy(HashID++); } else if (button.Item is Weapon) { TemporaryItem = ((Weapon)button.Item).Copy(HashID++); } else if (button.Item is HealthPotion) { TemporaryItem = ((HealthPotion)button.Item).Copy(HashID++); } TemporaryItemButton = button; Save.Kevin.Wealth -= button.Cost; button.Stock--; if (button.Stock <= 0) { button.Item = null; } return(true); } } } } } } } else if (InteractingWithNPC()) { if (ItemHolder.Item != null) { Vector2 offset = MouseOver(ItemHolder); if (offset != Vector2.Zero) { if (Click()) { ItemHolder.WasClicked = true; } if (Hold() && ItemHolder.WasClicked) { if (TemporaryItem == null) { ItemDraggingOffsetVector = offset; TemporaryItem = Dupe(ItemHolder.Item); TemporaryItemButton = ItemHolder; } } } } } if (Released()) { if (TemporaryItem != null) { foreach (InventoryButton button in Save.Kevin.Equipment.Items) { button.WasClicked = false; if (MouseOver(button) != Vector2.Zero) { if (button.Type == ItemType.INVENTORY) { if (button.Item == null) { if (TemporaryItemButton is ShopButton) { button.Item = Dupe(TemporaryItem); TemporaryItem = null; TemporaryItemButton = null; } else { button.Item = TemporaryItem; TemporaryItem = null; TemporaryItemButton = null; } return(true); } else if (button.Item.Type == TemporaryItem.Type) { if (button.Item is HealthPotion && TemporaryItem is HealthPotion) { if (button.Item.Name == TemporaryItem.Name) { ((Stackable)button.Item).StackSize++; TemporaryItem = null; TemporaryItemButton = null; } } else { if (TemporaryItemButton is ShopButton) { Save.Kevin.PickUp(Dupe(button.Item)); TemporaryItem = null; TemporaryItemButton = null; } else { Item switcherino = button.Item; button.Item = TemporaryItem; TemporaryItemButton.Item = switcherino; TemporaryItem = null; TemporaryItemButton = null; } } return(true); } else { return(false); } } else if (button.Type == TemporaryItem.Type) { if (button.Item == null) { if (!(TemporaryItemButton is ShopButton)) { Item switcherino = button.Item; TemporaryItemButton.Item = switcherino; } } else { Save.Kevin.PickUp(button.Item); } button.Item = TemporaryItem; TemporaryItem = null; TemporaryItemButton = null; ApplyEquipEffects(button.Item, true); return(true); } } } if (Trading && MouseOver(Scrapper)) { Save.Kevin.Wealth += TemporaryItem.Value; TemporaryItem = null; TemporaryItemButton = null; return(true); } else if (InteractingWithNPC() && MouseOver(ItemHolder) != Vector2.Zero) { ItemHolder.Item = TemporaryItem; TemporaryItem = null; TemporaryItemButton = null; return(true); } if (TemporaryItemButton is ShopButton) { ((ShopButton)TemporaryItemButton).Stock++; Save.Kevin.Wealth += ((ShopButton)TemporaryItemButton).Cost; } TemporaryItemButton.Item = TemporaryItem; TemporaryItem = null; TemporaryItemButton = null; return(true); } } return(false); }
void Scramble(ItemButton itembutton) { itembutton.Item = GenerateItem(); }