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;
|
||
|
};
|