diff --git a/Facepunch.Steamworks/Interfaces/Inventory.cs b/Facepunch.Steamworks/Interfaces/Inventory.cs index d48f5c0..611ac5f 100644 --- a/Facepunch.Steamworks/Interfaces/Inventory.cs +++ b/Facepunch.Steamworks/Interfaces/Inventory.cs @@ -223,5 +223,29 @@ namespace Facepunch.Steamworks return new Result( this, resultHandle ); } + + /// + /// Split stack into two items + /// + public Result SplitStack( Item item, int quantity = 1 ) + { + SteamNative.SteamInventoryResult_t resultHandle = -1; + if ( !inventory.TransferItemQuantity( ref resultHandle, item.Id, (uint)quantity, ulong.MaxValue ) ) + return null; + + return new Result( this, resultHandle ); + } + + /// + /// Stack source item onto dest item + /// + public Result Stack( Item source, Item dest, int quantity = 1 ) + { + SteamNative.SteamInventoryResult_t resultHandle = -1; + if ( !inventory.TransferItemQuantity( ref resultHandle, source.Id, (uint)quantity, dest.Id ) ) + return null; + + return new Result( this, resultHandle ); + } } }