53 lines
1.3 KiB
Ucode
53 lines
1.3 KiB
Ucode
/**
|
|
* This object is responsible for the enumeration of downloadable content bundles on Dingo
|
|
*/
|
|
class DownloadableContentEnumeratorDingo extends DownloadableContentEnumerator
|
|
native;
|
|
|
|
/**
|
|
* Uses the OnlineContentInterface to populate the DLC data for all signed in users
|
|
*/
|
|
function FindDLC()
|
|
{
|
|
local OnlineSubsystem OnlineSub;
|
|
local array<OnlineContent> FoundBundles;
|
|
|
|
DLCBundles.Length = 0;
|
|
OnlineSub = class'GameEngine'.static.GetOnlineSubsystem();
|
|
if (OnlineSub != None && OnlineSub.ContentInterface != None)
|
|
{
|
|
// Start the read - NOTE this is synchronous and LocalUserNum is ignored on Dingo
|
|
if (OnlineSub.ContentInterface.ReadDownloadableContentList(-1))
|
|
{
|
|
FoundBundles.Length = 0;
|
|
|
|
OnlineSub.ContentInterface.GetDownloadableContentList(-1, FoundBundles);
|
|
|
|
// Skip the call if the array is empty
|
|
if (FoundBundles.Length > 0)
|
|
{
|
|
AppendDLC(FoundBundles);
|
|
}
|
|
}
|
|
}
|
|
|
|
TriggerFindDLCDelegates();
|
|
}
|
|
|
|
/**
|
|
* Appends the specified array to the DLCBundles array
|
|
*
|
|
* @param Bundles the array to append
|
|
*/
|
|
native function AppendDLC(const out array<OnlineContent> Bundles);
|
|
|
|
/**
|
|
* Can't work, so ignore the call
|
|
*
|
|
* @param DLCName the name of the DLC bundle to delete
|
|
*/
|
|
function DeleteDLC(string DLCName)
|
|
{
|
|
// Purposefully empty and doesn't call super
|
|
}
|