Facepunch.Steamworks Wiki

Revision Difference

SteamInventory.DeserializeAsync#522431

<member type="method" namespace="Steamworks" parent="SteamInventory" name="DeserializeAsync" async="true" static="true"> <args> <arg name="data" type="byte[]"></arg> <arg name="dataLength" type="int" default="-1"></arg> </args> <return type="Task<Nullable<InventoryResult>>"></return> <summary>Deserializes a result set and verifies the signature bytes. This call has a potential soft-failure mode where the Result is expired, it will still succeed in this mode.The "expired" result could indicate that the data may be out of date - not just due to timed expiration( one hour ), but also because one of the items in the result set may have been traded or consumed since the result set was generated.You could compare the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine how old the data is. You could simply ignore the "expired" result code and continue as normal, or you could request the player with expired data to send an updated result set. You should call CheckResultSteamID on the result handle when it completes to verify that a remote player is not pretending to have a different user's inventory.</summary> </member>