Files
UnrealEngine/Engine/Plugins/Online/OnlineSubsystemTencent/Source/Public/OnlineExternalUITencent.h
2025-05-18 13:04:45 +08:00

66 lines
2.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#if WITH_TENCENTSDK
#if WITH_TENCENT_RAIL_SDK
#include "Interfaces/OnlineExternalUIInterface.h"
class FOnlineSubsystemTencent;
/**
* Implementation for the Tencent/Rail external UIs
*/
class FOnlineExternalUITencent : public IOnlineExternalUI
{
PACKAGE_SCOPE:
FOnlineExternalUITencent() = delete;
/**
* Constructor
* @param InSubsystem The owner of this external UI interface.
*/
FOnlineExternalUITencent(FOnlineSubsystemTencent* InSubsystem)
: TencentSubsystem(InSubsystem)
{
}
public:
/**
* Destructor.
*/
virtual ~FOnlineExternalUITencent()
{
}
//~ Begin IOnlineExternalUI interface
virtual bool ShowLoginUI(const int ControllerIndex, bool bShowOnlineOnly, bool bShowSkipButton, const FOnLoginUIClosedDelegate& Delegate = FOnLoginUIClosedDelegate()) override;
virtual bool ShowAccountCreationUI(const int ControllerIndex, const FOnAccountCreationUIClosedDelegate& Delegate = FOnAccountCreationUIClosedDelegate()) override { /** NYI */ return false; }
virtual bool ShowFriendsUI(int32 LocalUserNum) override;
virtual bool ShowInviteUI(int32 LocalUserNum, FName SessionName = NAME_GameSession) override;
virtual bool ShowAchievementsUI(int32 LocalUserNum) override;
virtual bool ShowLeaderboardUI(const FString& LeaderboardName) override;
virtual bool ShowWebURL(const FString& Url, const FShowWebUrlParams& ShowParams, const FOnShowWebUrlClosedDelegate& Delegate = FOnShowWebUrlClosedDelegate()) override;
virtual bool CloseWebURL() override;
virtual bool ShowProfileUI(const FUniqueNetId& Requestor, const FUniqueNetId& Requestee, const FOnProfileUIClosedDelegate& Delegate = FOnProfileUIClosedDelegate()) override;
virtual bool ShowAccountUpgradeUI(const FUniqueNetId& UniqueId) override;
virtual bool ShowStoreUI(int32 LocalUserNum, const FShowStoreParams& ShowParams, const FOnShowStoreUIClosedDelegate& Delegate = FOnShowStoreUIClosedDelegate()) override;
virtual bool ShowSendMessageUI(int32 LocalUserNum, const FShowSendMessageParams& ShowParams, const FOnShowSendMessageUIClosedDelegate& Delegate = FOnShowSendMessageUIClosedDelegate()) override;
//~ End IOnlineExternalUI interface
private:
FOnlineSubsystemTencent* TencentSubsystem;
};
typedef TSharedPtr<FOnlineExternalUITencent, ESPMode::ThreadSafe> FOnlineExternalUITencentPtr;
#endif // WITH_TENCENT_RAIL_SDK
#endif // WITH_TENCENTSDK