public GuiItem(Item item) { icon = item.Icon; id = item.Id; identifier = item.Identifier; name = item.Name; quickAccessSlot = item.QuickAccessIndex; quantity = 1.0f; isVolumetric = false; VolumeItem volumeItem = item as VolumeItem; if (volumeItem != null) { isVolumetric = true; quantity = volumeItem.Volume; } DiscreteItem discreteItem = item as DiscreteItem; if (discreteItem != null) { quantity = discreteItem.StackSize; } }
/// <summary> /// Helper for implementing TryMerge for discrete items /// </summary> protected bool Merge(DiscreteItem item, bool subtract, bool force, bool dryrun) { if (subtract) { if (!force && StackSize < item.StackSize) { return(false); } if (!dryrun) { StackSize -= item.StackSize; } } else { if (!dryrun) { StackSize += item.StackSize; } } return(true); }