Update SteamRequestGroupOfficersCallbackProxy.cpp

This commit is contained in:
Louis Raverdy
2021-10-18 22:00:37 +02:00
committed by GitHub
parent 6c392ee1fb
commit 6065bd9a36

View File

@@ -1,51 +1,51 @@
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#include "SteamRequestGroupOfficersCallbackProxy.h" #include "SteamRequestGroupOfficersCallbackProxy.h"
#include "UObject/CoreOnline.h" #include "Online/CoreOnline.h"
#include "AdvancedSteamFriendsLibrary.h" #include "AdvancedSteamFriendsLibrary.h"
#include "OnlineSubSystemHeader.h" #include "OnlineSubSystemHeader.h"
#if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX #if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX
#include "steam/isteamfriends.h" #include "steam/isteamfriends.h"
#endif #endif
//#include "OnlineSubsystemSteamTypes.h" //#include "OnlineSubsystemSteamTypes.h"
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// UEndSessionCallbackProxy // UEndSessionCallbackProxy
USteamRequestGroupOfficersCallbackProxy::USteamRequestGroupOfficersCallbackProxy(const FObjectInitializer& ObjectInitializer) USteamRequestGroupOfficersCallbackProxy::USteamRequestGroupOfficersCallbackProxy(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer) : Super(ObjectInitializer)
{ {
} }
USteamRequestGroupOfficersCallbackProxy::~USteamRequestGroupOfficersCallbackProxy() USteamRequestGroupOfficersCallbackProxy::~USteamRequestGroupOfficersCallbackProxy()
{ {
} }
USteamRequestGroupOfficersCallbackProxy* USteamRequestGroupOfficersCallbackProxy::GetSteamGroupOfficerList(UObject* WorldContextObject, FBPUniqueNetId GroupUniqueNetID) USteamRequestGroupOfficersCallbackProxy* USteamRequestGroupOfficersCallbackProxy::GetSteamGroupOfficerList(UObject* WorldContextObject, FBPUniqueNetId GroupUniqueNetID)
{ {
USteamRequestGroupOfficersCallbackProxy* Proxy = NewObject<USteamRequestGroupOfficersCallbackProxy>(); USteamRequestGroupOfficersCallbackProxy* Proxy = NewObject<USteamRequestGroupOfficersCallbackProxy>();
Proxy->GroupUniqueID = GroupUniqueNetID; Proxy->GroupUniqueID = GroupUniqueNetID;
return Proxy; return Proxy;
} }
void USteamRequestGroupOfficersCallbackProxy::Activate() void USteamRequestGroupOfficersCallbackProxy::Activate()
{ {
#if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX #if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX
if (SteamAPI_Init()) if (SteamAPI_Init())
{ {
uint64 id = *((uint64*)GroupUniqueID.UniqueNetId->GetBytes()); uint64 id = *((uint64*)GroupUniqueID.UniqueNetId->GetBytes());
SteamAPICall_t hSteamAPICall = SteamFriends()->RequestClanOfficerList(id); SteamAPICall_t hSteamAPICall = SteamFriends()->RequestClanOfficerList(id);
m_callResultGroupOfficerRequestDetails.Set(hSteamAPICall, this, &USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails); m_callResultGroupOfficerRequestDetails.Set(hSteamAPICall, this, &USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails);
return; return;
} }
#endif #endif
TArray<FBPSteamGroupOfficer> EmptyArray; TArray<FBPSteamGroupOfficer> EmptyArray;
OnFailure.Broadcast(EmptyArray); OnFailure.Broadcast(EmptyArray);
} }
#if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX #if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX
void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanOfficerListResponse_t *pResult, bool bIOFailure) void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanOfficerListResponse_t *pResult, bool bIOFailure)
{ {
TArray<FBPSteamGroupOfficer> OfficerArray; TArray<FBPSteamGroupOfficer> OfficerArray;
@@ -54,7 +54,7 @@ void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanO
if (bIOFailure || !pResult || !pResult->m_bSuccess) if (bIOFailure || !pResult || !pResult->m_bSuccess)
{ {
if (SteamSubsystem != nullptr) if (SteamSubsystem != nullptr)
{ {
SteamSubsystem->ExecuteNextTick([this]() SteamSubsystem->ExecuteNextTick([this]()
{ {
@@ -91,7 +91,7 @@ void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanO
OfficerArray.Add(Officer); OfficerArray.Add(Officer);
} }
if (SteamSubsystem != nullptr) if (SteamSubsystem != nullptr)
{ {
SteamSubsystem->ExecuteNextTick([OfficerArray, this]() SteamSubsystem->ExecuteNextTick([OfficerArray, this]()
{ {
@@ -104,7 +104,7 @@ void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanO
} }
else else
{ {
if (SteamSubsystem != nullptr) if (SteamSubsystem != nullptr)
{ {
SteamSubsystem->ExecuteNextTick([this]() SteamSubsystem->ExecuteNextTick([this]()
{ {
@@ -116,6 +116,6 @@ void USteamRequestGroupOfficersCallbackProxy::OnRequestGroupOfficerDetails(ClanO
// Should never hit this anyway // Should never hit this anyway
//OnFailure.Broadcast(OfficerArray); //OnFailure.Broadcast(OfficerArray);
} }
#endif #endif