本文整理汇总了C++中IOnlineSubsystem::GetUserCloudInterface方法的典型用法代码示例。如果您正苦于以下问题:C++ IOnlineSubsystem::GetUserCloudInterface方法的具体用法?C++ IOnlineSubsystem::GetUserCloudInterface怎么用?C++ IOnlineSubsystem::GetUserCloudInterface使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOnlineSubsystem
的用法示例。
在下文中一共展示了IOnlineSubsystem::GetUserCloudInterface方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Test
void FTestCloudInterface::Test()
{
IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get(FName(*Subsystem));
check(OnlineSub);
if (OnlineSub->GetIdentityInterface().IsValid())
{
UserId = OnlineSub->GetIdentityInterface()->GetUniquePlayerId(0);
}
if (UserId.IsValid())
{
// Cache interfaces
UserCloud = OnlineSub->GetUserCloudInterface();
if (UserCloud.IsValid())
{
// Setup delegates
EnumerationDelegate = FOnEnumerateUserFilesCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnEnumerateUserFilesComplete);
OnWriteUserCloudFileCompleteDelegate = FOnWriteUserFileCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnWriteUserCloudFileComplete);
OnReadEnumeratedUserFilesCompleteDelegate = FOnReadUserFileCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnReadEnumeratedUserFilesComplete);
OnDeleteEnumeratedUserFilesCompleteDelegate = FOnDeleteUserFileCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnDeleteEnumeratedUserFilesComplete);
SharedCloud = OnlineSub->GetSharedCloudInterface();
if (SharedCloud.IsValid())
{
OnWriteSharedCloudFileCompleteDelegate = FOnWriteSharedFileCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnWriteSharedCloudFileComplete);
OnReadEnumerateSharedFileCompleteDelegate = FOnReadSharedFileCompleteDelegate::CreateRaw(this, &FTestCloudInterface::OnReadEnumeratedSharedFileCompleteDelegate);
// Pre-generated content
SharedCloud->GetDummySharedHandlesForTest(RandomSharedFileHandles);
}
}
else
{
UE_LOG(LogOnline, Warning, TEXT("Cloud test failed. Cloud API not supported."));
delete this;
}
}
else
{
UE_LOG(LogOnline, Warning, TEXT("Cloud test failed. No logged in user."));
delete this;
}
}
示例2: DeleteFromEnumerateUserFilesComplete
static void DeleteFromEnumerateUserFilesComplete(bool bWasSuccessful, const FUniqueNetId& UserId)
{
IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get();
check(OnlineSub);
IOnlineUserCloudPtr UserCloud = OnlineSub->GetUserCloudInterface();
UserCloud->ClearOnEnumerateUserFilesCompleteDelegate_Handle(GOnEnumerateUserFilesCompleteDelegateHandle);
GPerCloudDeleteFromEnumerateUserFilesCompleteDelegateHandles.Remove(UserCloud.Get());
if (bWasSuccessful)
{
TArray<FCloudFileHeader> UserFiles;
UserCloud->GetUserFileList(UserId, UserFiles);
for (int32 Idx=0; Idx < UserFiles.Num(); Idx++)
{
UserCloud->DeleteUserFile(UserId, UserFiles[Idx].FileName, true, true);
}
}
}