generated from boo3/UnrealTemplate
101 lines
3.1 KiB
C++
101 lines
3.1 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "BlueprintDataDefinitions.h"
|
|
|
|
// This is taken directly from UE4 - OnlineSubsystemSteamPrivatePCH.h as a fix for the array_count macro
|
|
|
|
// @todo Steam: Steam headers trigger secure-C-runtime warnings in Visual C++. Rather than mess with _CRT_SECURE_NO_WARNINGS, we'll just
|
|
// disable the warnings locally. Remove when this is fixed in the SDK
|
|
#ifdef _MSC_VER
|
|
#pragma warning(push)
|
|
#pragma warning(disable:4996)
|
|
// #TODO check back on this at some point
|
|
#pragma warning(disable:4265) // SteamAPI CCallback< specifically, this warning is off by default but 4.17 turned it on....
|
|
#endif
|
|
|
|
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
|
|
|
//#include "OnlineSubsystemSteam.h"
|
|
|
|
#pragma push_macro("ARRAY_COUNT")
|
|
#undef ARRAY_COUNT
|
|
|
|
#if USING_CODE_ANALYSIS
|
|
MSVC_PRAGMA(warning(push))
|
|
MSVC_PRAGMA(warning(disable : ALL_CODE_ANALYSIS_WARNINGS))
|
|
#endif // USING_CODE_ANALYSIS
|
|
|
|
#include <steam/steam_api.h>
|
|
|
|
#if USING_CODE_ANALYSIS
|
|
MSVC_PRAGMA(warning(pop))
|
|
#endif // USING_CODE_ANALYSIS
|
|
|
|
|
|
#pragma pop_macro("ARRAY_COUNT")
|
|
|
|
#endif
|
|
|
|
// @todo Steam: See above
|
|
#ifdef _MSC_VER
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#include "SteamRequestGroupOfficersCallbackProxy.generated.h"
|
|
|
|
USTRUCT(BlueprintType, Category = "Online|SteamAPI|SteamGroups")
|
|
struct FBPSteamGroupOfficer
|
|
{
|
|
GENERATED_USTRUCT_BODY()
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Online|SteamAPI|SteamGroups")
|
|
FBPUniqueNetId OfficerUniqueNetID; // Uint64 representation
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Online|SteamAPI|SteamGroups")
|
|
bool bIsOwner = false;
|
|
|
|
};
|
|
|
|
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBlueprintGroupOfficerDetailsDelegate, const TArray<FBPSteamGroupOfficer> &, OfficerList);
|
|
|
|
UCLASS(MinimalAPI)
|
|
class USteamRequestGroupOfficersCallbackProxy : public UOnlineBlueprintCallProxyBase
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
virtual ~USteamRequestGroupOfficersCallbackProxy();
|
|
|
|
// Called when there is a successful results return
|
|
UPROPERTY(BlueprintAssignable)
|
|
FBlueprintGroupOfficerDetailsDelegate OnSuccess;
|
|
|
|
// Called when there is an unsuccessful results return
|
|
UPROPERTY(BlueprintAssignable)
|
|
FBlueprintGroupOfficerDetailsDelegate OnFailure;
|
|
|
|
// Returns a list of steam group officers
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly = "true", WorldContext="WorldContextObject"), Category = "Online|SteamAPI|SteamGroups")
|
|
static USteamRequestGroupOfficersCallbackProxy* GetSteamGroupOfficerList(UObject* WorldContextObject, FBPUniqueNetId GroupUniqueNetID);
|
|
|
|
// UOnlineBlueprintCallProxyBase interface
|
|
virtual void Activate() override;
|
|
// End of UOnlineBlueprintCallProxyBase interface
|
|
|
|
private:
|
|
|
|
#if (PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX) && STEAM_SDK_INSTALLED
|
|
void OnRequestGroupOfficerDetails( ClanOfficerListResponse_t *pResult, bool bIOFailure);
|
|
CCallResult<USteamRequestGroupOfficersCallbackProxy, ClanOfficerListResponse_t> m_callResultGroupOfficerRequestDetails;
|
|
|
|
#endif
|
|
|
|
private:
|
|
|
|
FBPUniqueNetId GroupUniqueID;
|
|
UObject* WorldContextObject;
|
|
};
|