78 lines
2.7 KiB
C++
78 lines
2.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Interface.h"
|
|
#include "Engine/GameInstance.h"
|
|
#include "UObject/PrimaryAssetId.h"
|
|
#include "Engine/DataAsset.h"
|
|
|
|
#include "LyraUserFacingExperienceDefinition.generated.h"
|
|
|
|
class UWorld;
|
|
class UCommonSession_HostSessionRequest;
|
|
class UTexture2D;
|
|
class UUserWidget;
|
|
|
|
/** Description of settings used to display experiences in the UI and start a new session */
|
|
UCLASS(BlueprintType)
|
|
class ULyraUserFacingExperienceDefinition : public UPrimaryDataAsset
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
/** The specific map to load */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience, meta=(AllowedTypes="Map"))
|
|
FPrimaryAssetId MapID;
|
|
|
|
/** The gameplay experience to load */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience, meta=(AllowedTypes="LyraExperienceDefinition"))
|
|
FPrimaryAssetId ExperienceID;
|
|
|
|
/** Extra arguments passed as URL options to the game */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
TMap<FString, FString> ExtraArgs;
|
|
|
|
/** Primary title in the UI */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
FText TileTitle;
|
|
|
|
/** Secondary title */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
FText TileSubTitle;
|
|
|
|
/** Full description */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
FText TileDescription;
|
|
|
|
/** Icon used in the UI */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
UTexture2D* TileIcon;
|
|
|
|
/** The loading screen widget to show when loading into (or back out of) a given experience */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=LoadingScreen)
|
|
TSoftClassPtr<UUserWidget> LoadingScreenWidget;
|
|
|
|
/** If true, this is a default experience that should be used for quick play and given priority in the UI */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
bool bIsDefaultExperience = false;
|
|
|
|
/** If true, this will show up in the experiences list in the front-end */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
bool bShowInFrontEnd = true;
|
|
|
|
/** If true, a replay will be recorded of the game */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
bool bRecordReplay = false;
|
|
|
|
/** Max number of players for this session */
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Experience)
|
|
int32 MaxPlayerCount = 16;
|
|
|
|
public:
|
|
/** Create a request object that is used to actually start a session with these settings */
|
|
UFUNCTION(BlueprintCallable, BlueprintPure=false)
|
|
UCommonSession_HostSessionRequest* CreateHostingRequest() const;
|
|
};
|