diff --git a/Facepunch.Steamworks/Generated/Interfaces/ISteamInventory.cs b/Facepunch.Steamworks/Generated/Interfaces/ISteamInventory.cs index 8421998..38fd5d9 100644 --- a/Facepunch.Steamworks/Generated/Interfaces/ISteamInventory.cs +++ b/Facepunch.Steamworks/Generated/Interfaces/ISteamInventory.cs @@ -28,6 +28,9 @@ namespace Steamworks private static extern Result _GetResultStatus( IntPtr self, SteamInventoryResult_t resultHandle ); #endregion + /// + /// Find out the status of an asynchronous inventory result handle. + /// internal Result GetResultStatus( SteamInventoryResult_t resultHandle ) { var returnValue = _GetResultStatus( Self, resultHandle ); @@ -40,6 +43,9 @@ namespace Steamworks private static extern bool _GetResultItems( IntPtr self, SteamInventoryResult_t resultHandle, [In,Out] SteamItemDetails_t[] pOutItemsArray, ref uint punOutItemsArraySize ); #endregion + /// + /// Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used. + /// internal bool GetResultItems( SteamInventoryResult_t resultHandle, [In,Out] SteamItemDetails_t[] pOutItemsArray, ref uint punOutItemsArraySize ) { var returnValue = _GetResultItems( Self, resultHandle, pOutItemsArray, ref punOutItemsArraySize ); @@ -65,6 +71,9 @@ namespace Steamworks private static extern uint _GetResultTimestamp( IntPtr self, SteamInventoryResult_t resultHandle ); #endregion + /// + /// Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age. + /// internal uint GetResultTimestamp( SteamInventoryResult_t resultHandle ) { var returnValue = _GetResultTimestamp( Self, resultHandle ); @@ -77,6 +86,9 @@ namespace Steamworks private static extern bool _CheckResultSteamID( IntPtr self, SteamInventoryResult_t resultHandle, SteamId steamIDExpected ); #endregion + /// + /// Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory. + /// internal bool CheckResultSteamID( SteamInventoryResult_t resultHandle, SteamId steamIDExpected ) { var returnValue = _CheckResultSteamID( Self, resultHandle, steamIDExpected ); @@ -88,6 +100,9 @@ namespace Steamworks private static extern void _DestroyResult( IntPtr self, SteamInventoryResult_t resultHandle ); #endregion + /// + /// Destroys a result handle and frees all associated memory. + /// internal void DestroyResult( SteamInventoryResult_t resultHandle ) { _DestroyResult( Self, resultHandle ); @@ -99,6 +114,9 @@ namespace Steamworks private static extern bool _GetAllItems( IntPtr self, ref SteamInventoryResult_t pResultHandle ); #endregion + /// + /// Captures the entire state of the current users Steam inventory. + /// internal bool GetAllItems( ref SteamInventoryResult_t pResultHandle ) { var returnValue = _GetAllItems( Self, ref pResultHandle ); @@ -111,6 +129,9 @@ namespace Steamworks private static extern bool _GetItemsByID( IntPtr self, ref SteamInventoryResult_t pResultHandle, ref InventoryItemId pInstanceIDs, uint unCountInstanceIDs ); #endregion + /// + /// Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs. + /// internal bool GetItemsByID( ref SteamInventoryResult_t pResultHandle, ref InventoryItemId pInstanceIDs, uint unCountInstanceIDs ) { var returnValue = _GetItemsByID( Self, ref pResultHandle, ref pInstanceIDs, unCountInstanceIDs ); @@ -159,6 +180,9 @@ namespace Steamworks private static extern bool _GrantPromoItems( IntPtr self, ref SteamInventoryResult_t pResultHandle ); #endregion + /// + /// GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only). + /// internal bool GrantPromoItems( ref SteamInventoryResult_t pResultHandle ) { var returnValue = _GrantPromoItems( Self, ref pResultHandle ); @@ -195,6 +219,9 @@ namespace Steamworks private static extern bool _ConsumeItem( IntPtr self, ref SteamInventoryResult_t pResultHandle, InventoryItemId itemConsume, uint unQuantity ); #endregion + /// + /// ConsumeItem() removes items from the inventory permanently. + /// internal bool ConsumeItem( ref SteamInventoryResult_t pResultHandle, InventoryItemId itemConsume, uint unQuantity ) { var returnValue = _ConsumeItem( Self, ref pResultHandle, itemConsume, unQuantity ); @@ -230,6 +257,9 @@ namespace Steamworks private static extern void _SendItemDropHeartbeat( IntPtr self ); #endregion + /// + /// Deprecated method. Playtime accounting is performed on the Steam servers. + /// internal void SendItemDropHeartbeat() { _SendItemDropHeartbeat( Self ); @@ -241,6 +271,9 @@ namespace Steamworks private static extern bool _TriggerItemDrop( IntPtr self, ref SteamInventoryResult_t pResultHandle, InventoryDefId dropListDefinition ); #endregion + /// + /// Playtime credit must be consumed and turned into item drops by your game. + /// internal bool TriggerItemDrop( ref SteamInventoryResult_t pResultHandle, InventoryDefId dropListDefinition ) { var returnValue = _TriggerItemDrop( Self, ref pResultHandle, dropListDefinition ); @@ -265,6 +298,9 @@ namespace Steamworks private static extern bool _LoadItemDefinitions( IntPtr self ); #endregion + /// + /// LoadItemDefinitions triggers the automatic load and refresh of item definitions. + /// internal bool LoadItemDefinitions() { var returnValue = _LoadItemDefinitions( Self ); diff --git a/Facepunch.Steamworks/Generated/Interfaces/ISteamUserStats.cs b/Facepunch.Steamworks/Generated/Interfaces/ISteamUserStats.cs index 244a368..83f2d7f 100644 --- a/Facepunch.Steamworks/Generated/Interfaces/ISteamUserStats.cs +++ b/Facepunch.Steamworks/Generated/Interfaces/ISteamUserStats.cs @@ -361,6 +361,9 @@ namespace Steamworks private static extern SteamAPICall_t _DownloadLeaderboardEntriesForUsers( IntPtr self, SteamLeaderboard_t hSteamLeaderboard, [In,Out] SteamId[] prgUsers, int cUsers ); #endregion + /// + /// Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + /// internal CallbackResult DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, [In,Out] SteamId[] prgUsers, int cUsers ) { var returnValue = _DownloadLeaderboardEntriesForUsers( Self, hSteamLeaderboard, prgUsers, cUsers ); diff --git a/Generator/CodeWriter/ClassVTable.cs b/Generator/CodeWriter/ClassVTable.cs index 52975bf..488f037 100644 --- a/Generator/CodeWriter/ClassVTable.cs +++ b/Generator/CodeWriter/ClassVTable.cs @@ -78,6 +78,7 @@ namespace Generator System.IO.File.WriteAllText( $"{folder}{iface.Name}.cs", sb.ToString() ); } + private void WriteFunction( SteamApiDefinition.Interface iface, SteamApiDefinition.Interface.Method func ) { var returnType = BaseType.Parse( func.ReturnType, null, func.CallResult ); @@ -132,6 +133,14 @@ namespace Generator WriteLine(); WriteLine( $"#endregion" ); + + if ( !string.IsNullOrEmpty( func.Desc ) ) + { + WriteLine( "/// " ); + WriteLine( $"/// {func.Desc}" ); + WriteLine( "/// " ); + } + StartBlock( $"internal {returnType.ReturnType} {func.Name}( {argstr} )".Replace( "( )", "()" ) ); { var callargs = string.Join( ", ", args.Select( x => x.AsCallArgument() ) ); diff --git a/Generator/SteamApiDefinition.cs b/Generator/SteamApiDefinition.cs index c6abb5b..d469a98 100644 --- a/Generator/SteamApiDefinition.cs +++ b/Generator/SteamApiDefinition.cs @@ -19,6 +19,7 @@ namespace Generator public class Method { + public string Desc { get; set; } public string ReturnType { get; set; } public string CallResult { get; set; }