public void SwitchSelectedItem(ItemsHolder holder) { IHolderItem thing = null; if (holder.Items.Any(s => (s as ListItemPartInventory).Type == MouseItem.Item.Type) == true) { thing = holder.Items.Single(s => (s as ListItemPartInventory).Type == MouseItem.Item.Type); } if (thing != null) { (thing as ListItemPartInventory).Amount++; } else { holder.Items.Add(new ListItemPartInventory(holder.Items.Count, holder.Boundary, MouseItem.Item.Type, 1)); } }
public void ChangedSelection() { if (Inventory.SelectedIndex != null) { if (MouseItem.Item != null) { SwitchSelectedItem(Inventory); SwitchSelectedItem(UIShop.Instance.Invetory); } MouseItem.Item = new GridItem(0, Point.Zero, (Inventory.Items[Inventory.SelectedIndex.Value] as ListItemPartInventory).Type); IHolderItem thing = UIShop.Instance.Invetory.Items.Single(s => (s as ListItemPartInventory).Type == MouseItem.Item.Type); (thing as ListItemPartInventory).Amount--; if ((Inventory.Items[Inventory.SelectedIndex.Value] as ListItemPartInventory).Amount == 1) { Inventory.Items.RemoveAt(Inventory.SelectedIndex.Value); foreach (IHolderItem item in Inventory.Items) { item.UpdateIndex(Inventory.Items); } } else if ((thing as ListItemPartInventory).Amount == 0) { UIShop.Instance.Invetory.Items.Remove(thing); } else { (Inventory.Items[Inventory.SelectedIndex.Value] as ListItemPartInventory).Amount--; } Inventory.ResetChoosed(); } else { MouseItem.Item = null; } }