RealtimeStyleTransferRuntime/Plugins/CommonGame/Source/Public/CommonGameInstance.h

40 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/GameInstance.h"
#include "CommonGameInstance.generated.h"
class ULocalPlayer;
class USocialManager;
UCLASS(Abstract, Config = Game)
class COMMONGAME_API UCommonGameInstance : public UGameInstance
{
GENERATED_BODY()
public:
UCommonGameInstance(const FObjectInitializer& ObjectInitializer);
/** Handles errors/warnings from CommonUser, can be overridden per game */
UFUNCTION()
virtual void HandleSystemMessage(FGameplayTag MessageType, FText Title, FText Message);
UFUNCTION()
virtual void HandlePrivilegeChanged(const UCommonUserInfo* UserInfo, ECommonUserPrivilege Privilege, ECommonUserAvailability OldAvailability, ECommonUserAvailability NewAvailability);
/** Call to reset user and session state, usually because a player has been disconnected */
virtual void ResetUserAndSessionState();
virtual int32 AddLocalPlayer(ULocalPlayer* NewPlayer, int32 ControllerId) override;
virtual bool RemoveLocalPlayer(ULocalPlayer* ExistingPlayer) override;
virtual void Init() override;
virtual void ReturnToMainMenu() override;
private:
/** This is the primary player*/
TWeakObjectPtr<ULocalPlayer> PrimaryPlayer;
};