public void MoveItem(sbyte fromslot, sbyte toslot)
{
Item from;
if (!InventoryItems.TryGetValue(fromslot, out from))
{
Log.WriteLine(LogLevel.Warn, "{0} tried to move non-existing item.", this.Name);
return;
}
Item to;
InventoryItems.TryGetValue(toslot, out to);
InventoryItems.Remove(fromslot);
if (to != null)
{
InventoryItems.Remove(toslot);
to.Slot = fromslot;
InventoryItems.Add(fromslot, to);
}
from.Slot = toslot;
InventoryItems.Add(toslot, from);
Save();
Handler12.ModifyInventorySlot(this, 0x24, (byte)toslot, (byte)fromslot, from);
Handler12.ModifyInventorySlot(this, 0x24, (byte)fromslot, (byte)toslot, to);
}