diff --git a/Facepunch.Steamworks/Interfaces/Workshop.cs b/Facepunch.Steamworks/Interfaces/Workshop.cs
index a9bde30..cdbe3a8 100644
--- a/Facepunch.Steamworks/Interfaces/Workshop.cs
+++ b/Facepunch.Steamworks/Interfaces/Workshop.cs
@@ -123,25 +123,23 @@ public Item GetItem( ulong itemid )
return new Item( itemid, this );
}
- ///
- /// The amount of item's the user is subscribed to for this App
- ///
- public uint GetAmountSubsribed()
- {
- return ugc.GetNumSubscribedItems();
- }
///
/// Creates a list of all item's that the user is currently subscribed
/// to for this App. This does not query titles or descriptions but
/// allows you to get the directories, state and ID of any subscribed Item.
- /// This is mostly useful for getting all subscribed items install location.
+ /// This is mostly useful for getting all subscribed items install location
+ /// on initial load to load all workshop content
///
- public Item[] GetSubscribedItems(uint amount)
+ public unsafe Item[] GetSubscribedItems()
{
Item[] items;
+ uint subAmount;
+ var amount = ugc.GetNumSubscribedItems();
PublishedFileId_t[] vecSubscribedItems = new PublishedFileId_t[amount];
- uint subAmount = ugc.GetSubscribedItems(vecSubscribedItems, amount);
-
+ fixed (PublishedFileId_t* vecSubscribedItems_ptr = vecSubscribedItems)
+ {
+ subAmount = ugc.GetSubscribedItems(vecSubscribedItems_ptr, amount);
+ }
if (subAmount < amount)
items = new Item[subAmount];
else
diff --git a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs
index d44321b..7c5650f 100644
--- a/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs
+++ b/Facepunch.Steamworks/SteamNative/SteamNative.SteamUGC.cs
@@ -284,12 +284,9 @@ public bool GetQueryUGCStatistic( UGCQueryHandle_t handle /*UGCQueryHandle_t*/,
}
// uint
- public uint GetSubscribedItems( PublishedFileId_t[] pvecPublishedFileID /*PublishedFileId_t **/, uint cMaxEntries /*uint32*/ )
+ public uint GetSubscribedItems( PublishedFileId_t* pvecPublishedFileID /*PublishedFileId_t **/, uint cMaxEntries /*uint32*/ )
{
- fixed (PublishedFileId_t* pvecPublishedFileID_ptr = pvecPublishedFileID)
- {
- return platform.ISteamUGC_GetSubscribedItems((IntPtr)pvecPublishedFileID_ptr, cMaxEntries);
- }
+ return platform.ISteamUGC_GetSubscribedItems( (IntPtr) pvecPublishedFileID, cMaxEntries );
}
// SteamAPICall_t