Beispiel #1
0
 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);
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 void Scramble(ItemButton itembutton)
 {
     itembutton.Item = GenerateItem();
 }