Zepheus.Zone.Game.ZoneCharacter.MoveItem C# (CSharp) Method

MoveItem() public method

public MoveItem ( sbyte fromslot, sbyte toslot ) : void
fromslot sbyte
toslot sbyte
return void
        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);
        }