Table of Contents

Class ISteamInventory

Namespace
MarymoorStudios.Core.Steamworks
Assembly
MarymoorStudios.Core.Steamworks.dll
public sealed class ISteamInventory : SteamNativeObject
Inheritance
ISteamInventory
Inherited Members

Fields

INTERFACE_VERSION

public const string INTERFACE_VERSION = "STEAMINVENTORY_INTERFACE_V003"

Field Value

string

Methods

AddPromoItem(out SteamInventoryResult, SteamItemDef)

public bool AddPromoItem(out SteamInventoryResult resultHandle, SteamItemDef itemDef)

Parameters

resultHandle SteamInventoryResult
itemDef SteamItemDef

Returns

bool

AddPromoItems(out SteamInventoryResult, ReadOnlySpan<SteamItemDef>)

public bool AddPromoItems(out SteamInventoryResult resultHandle, ReadOnlySpan<SteamItemDef> arrayItemDefs)

Parameters

resultHandle SteamInventoryResult
arrayItemDefs ReadOnlySpan<SteamItemDef>

Returns

bool

CheckResultSteamID(SteamInventoryResult, CSteamID)

public bool CheckResultSteamID(SteamInventoryResult resultHandle, CSteamID steamIDExpected)

Parameters

resultHandle SteamInventoryResult
steamIDExpected CSteamID

Returns

bool

ConsumeItem(out SteamInventoryResult, SteamItemInstanceID, uint)

public bool ConsumeItem(out SteamInventoryResult resultHandle, SteamItemInstanceID itemConsume, uint quantity)

Parameters

resultHandle SteamInventoryResult
itemConsume SteamItemInstanceID
quantity uint

Returns

bool

DeserializeResult(out SteamInventoryResult, ReadOnlySpan<byte>, bool)

public bool DeserializeResult(out SteamInventoryResult outResultHandle, ReadOnlySpan<byte> buffer, bool rESERVED_MUST_BE_FALSE)

Parameters

outResultHandle SteamInventoryResult
buffer ReadOnlySpan<byte>
rESERVED_MUST_BE_FALSE bool

Returns

bool

DestroyResult(SteamInventoryResult)

public void DestroyResult(SteamInventoryResult resultHandle)

Parameters

resultHandle SteamInventoryResult

ExchangeItems(out SteamInventoryResult, ReadOnlySpan<SteamItemDef>, ReadOnlySpan<uint>, ReadOnlySpan<SteamItemInstanceID>, ReadOnlySpan<uint>)

public bool ExchangeItems(out SteamInventoryResult resultHandle, ReadOnlySpan<SteamItemDef> arrayGenerate, ReadOnlySpan<uint> arrayGenerateQuantity, ReadOnlySpan<SteamItemInstanceID> arrayDestroy, ReadOnlySpan<uint> arrayDestroyQuantity)

Parameters

resultHandle SteamInventoryResult
arrayGenerate ReadOnlySpan<SteamItemDef>
arrayGenerateQuantity ReadOnlySpan<uint>
arrayDestroy ReadOnlySpan<SteamItemInstanceID>
arrayDestroyQuantity ReadOnlySpan<uint>

Returns

bool

GenerateItems(out SteamInventoryResult, ReadOnlySpan<SteamItemDef>, ReadOnlySpan<uint>)

public bool GenerateItems(out SteamInventoryResult resultHandle, ReadOnlySpan<SteamItemDef> arrayItemDefs, ReadOnlySpan<uint> arrayQuantity)

Parameters

resultHandle SteamInventoryResult
arrayItemDefs ReadOnlySpan<SteamItemDef>
arrayQuantity ReadOnlySpan<uint>

Returns

bool

GetAllItems(out SteamInventoryResult)

public bool GetAllItems(out SteamInventoryResult resultHandle)

Parameters

resultHandle SteamInventoryResult

Returns

bool

GetEligiblePromoItemDefinitionIDs(CSteamID, Span<SteamItemDef>, out uint)

public bool GetEligiblePromoItemDefinitionIDs(CSteamID steamID, Span<SteamItemDef> itemDefIDs, out uint itemDefIDsArraySize)

Parameters

steamID CSteamID
itemDefIDs Span<SteamItemDef>
itemDefIDsArraySize uint

Returns

bool

GetItemDefinitionIDs(Span<SteamItemDef>, out uint)

public bool GetItemDefinitionIDs(Span<SteamItemDef> itemDefIDs, out uint itemDefIDsArraySize)

Parameters

itemDefIDs Span<SteamItemDef>
itemDefIDsArraySize uint

Returns

bool

GetItemDefinitionProperty(SteamItemDef, string, Span<byte>, out uint)

public bool GetItemDefinitionProperty(SteamItemDef definition, string propertyName, Span<byte> valueBuffer, out uint valueBufferSizeOut)

Parameters

definition SteamItemDef
propertyName string
valueBuffer Span<byte>
valueBufferSizeOut uint

Returns

bool

GetItemPrice(SteamItemDef, out ulong, out ulong)

public bool GetItemPrice(SteamItemDef definition, out ulong currentPrice, out ulong basePrice)

Parameters

definition SteamItemDef
currentPrice ulong
basePrice ulong

Returns

bool

GetItemsByID(out SteamInventoryResult, ReadOnlySpan<SteamItemInstanceID>)

public bool GetItemsByID(out SteamInventoryResult resultHandle, ReadOnlySpan<SteamItemInstanceID> instanceIDs)

Parameters

resultHandle SteamInventoryResult
instanceIDs ReadOnlySpan<SteamItemInstanceID>

Returns

bool

GetItemsWithPrices(Span<SteamItemDef>, Span<ulong>, Span<ulong>)

public bool GetItemsWithPrices(Span<SteamItemDef> arrayItemDefs, Span<ulong> currentPrices, Span<ulong> basePrices)

Parameters

arrayItemDefs Span<SteamItemDef>
currentPrices Span<ulong>
basePrices Span<ulong>

Returns

bool

GetNumItemsWithPrices()

public uint GetNumItemsWithPrices()

Returns

uint

GetResultItemProperty(SteamInventoryResult, uint, string, Span<byte>, out uint)

public bool GetResultItemProperty(SteamInventoryResult resultHandle, uint itemIndex, string propertyName, Span<byte> valueBuffer, out uint valueBufferSizeOut)

Parameters

resultHandle SteamInventoryResult
itemIndex uint
propertyName string
valueBuffer Span<byte>
valueBufferSizeOut uint

Returns

bool

GetResultItems(SteamInventoryResult, Span<SteamItemDetails>, out uint)

public bool GetResultItems(SteamInventoryResult resultHandle, Span<SteamItemDetails> outItemsArray, out uint outItemsArraySize)

Parameters

resultHandle SteamInventoryResult
outItemsArray Span<SteamItemDetails>
outItemsArraySize uint

Returns

bool

GetResultStatus(SteamInventoryResult)

public EResult GetResultStatus(SteamInventoryResult resultHandle)

Parameters

resultHandle SteamInventoryResult

Returns

EResult

GetResultTimestamp(SteamInventoryResult)

public uint GetResultTimestamp(SteamInventoryResult resultHandle)

Parameters

resultHandle SteamInventoryResult

Returns

uint

GrantPromoItems(out SteamInventoryResult)

public bool GrantPromoItems(out SteamInventoryResult resultHandle)

Parameters

resultHandle SteamInventoryResult

Returns

bool

InspectItem(out SteamInventoryResult, string)

public bool InspectItem(out SteamInventoryResult resultHandle, string itemToken)

Parameters

resultHandle SteamInventoryResult
itemToken string

Returns

bool

LoadItemDefinitions()

public bool LoadItemDefinitions()

Returns

bool

OnSteamInventoryDefinitionUpdate(CallbackAction<SteamInventoryDefinitionUpdate>)

public IDisposable OnSteamInventoryDefinitionUpdate(CallbackAction<SteamInventoryDefinitionUpdate> func)

Parameters

func CallbackAction<SteamInventoryDefinitionUpdate>

Returns

IDisposable

OnSteamInventoryFullUpdate(CallbackAction<SteamInventoryFullUpdate>)

public IDisposable OnSteamInventoryFullUpdate(CallbackAction<SteamInventoryFullUpdate> func)

Parameters

func CallbackAction<SteamInventoryFullUpdate>

Returns

IDisposable

OnSteamInventoryResultReady(CallbackAction<SteamInventoryResultReady>)

public IDisposable OnSteamInventoryResultReady(CallbackAction<SteamInventoryResultReady> func)

Parameters

func CallbackAction<SteamInventoryResultReady>

Returns

IDisposable

RemoveProperty(SteamInventoryUpdateHandle, SteamItemInstanceID, string)

public bool RemoveProperty(SteamInventoryUpdateHandle handle, SteamItemInstanceID itemID, string propertyName)

Parameters

handle SteamInventoryUpdateHandle
itemID SteamItemInstanceID
propertyName string

Returns

bool

RequestEligiblePromoItemDefinitionsIDs(CSteamID)

public Promise<SteamInventoryEligiblePromoItemDefIDs> RequestEligiblePromoItemDefinitionsIDs(CSteamID steamID)

Parameters

steamID CSteamID

Returns

Promise<SteamInventoryEligiblePromoItemDefIDs>

RequestPrices()

public Promise<SteamInventoryRequestPricesResult> RequestPrices()

Returns

Promise<SteamInventoryRequestPricesResult>

SendItemDropHeartbeat()

public void SendItemDropHeartbeat()

SerializeResult(SteamInventoryResult, Span<byte>, out uint)

public bool SerializeResult(SteamInventoryResult resultHandle, Span<byte> outBuffer, out uint outBufferSize)

Parameters

resultHandle SteamInventoryResult
outBuffer Span<byte>
outBufferSize uint

Returns

bool

SetProperty(SteamInventoryUpdateHandle, SteamItemInstanceID, string, bool)

public bool SetProperty(SteamInventoryUpdateHandle handle, SteamItemInstanceID itemID, string propertyName, bool value)

Parameters

handle SteamInventoryUpdateHandle
itemID SteamItemInstanceID
propertyName string
value bool

Returns

bool

SetProperty(SteamInventoryUpdateHandle, SteamItemInstanceID, string, long)

public bool SetProperty(SteamInventoryUpdateHandle handle, SteamItemInstanceID itemID, string propertyName, long value)

Parameters

handle SteamInventoryUpdateHandle
itemID SteamItemInstanceID
propertyName string
value long

Returns

bool

SetProperty(SteamInventoryUpdateHandle, SteamItemInstanceID, string, float)

public bool SetProperty(SteamInventoryUpdateHandle handle, SteamItemInstanceID itemID, string propertyName, float value)

Parameters

handle SteamInventoryUpdateHandle
itemID SteamItemInstanceID
propertyName string
value float

Returns

bool

SetProperty(SteamInventoryUpdateHandle, SteamItemInstanceID, string, string)

public bool SetProperty(SteamInventoryUpdateHandle handle, SteamItemInstanceID itemID, string propertyName, string propertyValue)

Parameters

handle SteamInventoryUpdateHandle
itemID SteamItemInstanceID
propertyName string
propertyValue string

Returns

bool

StartPurchase(ReadOnlySpan<SteamItemDef>, ReadOnlySpan<uint>)

public Promise<SteamInventoryStartPurchaseResult> StartPurchase(ReadOnlySpan<SteamItemDef> arrayItemDefs, ReadOnlySpan<uint> arrayQuantity)

Parameters

arrayItemDefs ReadOnlySpan<SteamItemDef>
arrayQuantity ReadOnlySpan<uint>

Returns

Promise<SteamInventoryStartPurchaseResult>

StartUpdateProperties()

public SteamInventoryUpdateHandle StartUpdateProperties()

Returns

SteamInventoryUpdateHandle

SubmitUpdateProperties(SteamInventoryUpdateHandle, out SteamInventoryResult)

public bool SubmitUpdateProperties(SteamInventoryUpdateHandle handle, out SteamInventoryResult resultHandle)

Parameters

handle SteamInventoryUpdateHandle
resultHandle SteamInventoryResult

Returns

bool

TradeItems(out SteamInventoryResult, CSteamID, ReadOnlySpan<SteamItemInstanceID>, ReadOnlySpan<uint>, ReadOnlySpan<SteamItemInstanceID>, ReadOnlySpan<uint>)

public bool TradeItems(out SteamInventoryResult resultHandle, CSteamID steamIDTradePartner, ReadOnlySpan<SteamItemInstanceID> arrayGive, ReadOnlySpan<uint> arrayGiveQuantity, ReadOnlySpan<SteamItemInstanceID> arrayGet, ReadOnlySpan<uint> arrayGetQuantity)

Parameters

resultHandle SteamInventoryResult
steamIDTradePartner CSteamID
arrayGive ReadOnlySpan<SteamItemInstanceID>
arrayGiveQuantity ReadOnlySpan<uint>
arrayGet ReadOnlySpan<SteamItemInstanceID>
arrayGetQuantity ReadOnlySpan<uint>

Returns

bool

TransferItemQuantity(out SteamInventoryResult, SteamItemInstanceID, uint, SteamItemInstanceID)

public bool TransferItemQuantity(out SteamInventoryResult resultHandle, SteamItemInstanceID itemIdSource, uint quantity, SteamItemInstanceID itemIdDest)

Parameters

resultHandle SteamInventoryResult
itemIdSource SteamItemInstanceID
quantity uint
itemIdDest SteamItemInstanceID

Returns

bool

TriggerItemDrop(out SteamInventoryResult, SteamItemDef)

public bool TriggerItemDrop(out SteamInventoryResult resultHandle, SteamItemDef dropListDefinition)

Parameters

resultHandle SteamInventoryResult
dropListDefinition SteamItemDef

Returns

bool