public void AddItem(IUIItem item, bool doesIncrement) { int idAtAdd = GetProspectiveSlotID(item); if (thisItemIcons.Count == idAtAdd) { AddIIAndMutate(item, idAtAdd); } else { IItemIcon iiAtID = thisItemIcons[idAtAdd]; if (iiAtID.IsEmpty()) { iiAtID.Disemptify(item); iiAtID.SetQuantityInstantly(0); iiAtID.UpdateQuantity(item.GetQuantity(), doesIncrement); } else { if (iiAtID.HasSameItem(item)) { iiAtID.IncreaseBy(item.GetQuantity(), doesIncrement); } else { this.AddIIAndMutate(item, idAtAdd); } } } }