private void OnStackSplitted(ISlot slot) { ISlot emptySlot = slots.Find(s => s.IsEmpty); if (emptySlot != null) { int itemsToMoveNum = slot.SlotCount - slot.SlotCount / 2; slot.RemoveStackPortion(itemsToMoveNum); emptySlot.AddAll(slot.StoredItem, itemsToMoveNum); } }
private void SwapSlots(ISlot fromSlot, ISlot toSlot) { ItemStats item1 = fromSlot.StoredItem; int amount1 = fromSlot.SlotCount; ItemStats item2 = toSlot.StoredItem; int amount2 = toSlot.SlotCount; fromSlot.DropAll(); fromSlot.AddAll(item2, amount2); toSlot.DropAll(); toSlot.AddAll(item1, amount1); }
private void MoveToEmptySlot(ISlot fromSlot, ISlot toSlot) { toSlot.AddAll(fromSlot.StoredItem, fromSlot.SlotCount); fromSlot.DropAll(); }