RealtimeStyleTransferRuntime/Source/LyraGame/GameModes/LyraUserFacingExperienceDef...

78 lines
2.7 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// 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;
};