40 lines
1.3 KiB
C++
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;
|
|
}; |