Files
UnrealEngine/Samples/Games/Lyra/Source/LyraGame/System/LyraGameInstance.h
2025-05-18 13:04:45 +08:00

43 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CommonGameInstance.h"
#include "LyraGameInstance.generated.h"
#define UE_API LYRAGAME_API
class ALyraPlayerController;
class UObject;
UCLASS(MinimalAPI, Config = Game)
class ULyraGameInstance : public UCommonGameInstance
{
GENERATED_BODY()
public:
UE_API ULyraGameInstance(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
UE_API ALyraPlayerController* GetPrimaryPlayerController() const;
UE_API virtual bool CanJoinRequestedSession() const override;
UE_API virtual void HandlerUserInitialized(const UCommonUserInfo* UserInfo, bool bSuccess, FText Error, ECommonUserPrivilege RequestedPrivilege, ECommonUserOnlineContext OnlineContext) override;
UE_API virtual void ReceivedNetworkEncryptionToken(const FString& EncryptionToken, const FOnEncryptionKeyResponse& Delegate) override;
UE_API virtual void ReceivedNetworkEncryptionAck(const FOnEncryptionKeyResponse& Delegate) override;
protected:
UE_API virtual void Init() override;
UE_API virtual void Shutdown() override;
UE_API void OnPreClientTravelToSession(FString& URL);
/** A hard-coded encryption key used to try out the encryption code. This is NOT SECURE, do not use this technique in production! */
TArray<uint8> DebugTestEncryptionKey;
};
#undef UE_API