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

82 lines
2.8 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
2022-09-13 07:18:28 +00:00
#include "Containers/Map.h"
2022-05-23 18:41:30 +00:00
#include "Engine/DataAsset.h"
2022-09-13 07:18:28 +00:00
#include "HAL/Platform.h"
#include "Internationalization/Text.h"
#include "UObject/PrimaryAssetId.h"
#include "UObject/SoftObjectPtr.h"
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "LyraUserFacingExperienceDefinition.generated.h"
2022-09-13 07:18:28 +00:00
class FString;
2022-05-23 18:41:30 +00:00
class UCommonSession_HostSessionRequest;
2022-09-13 07:18:28 +00:00
class UObject;
2022-05-23 18:41:30 +00:00
class UTexture2D;
class UUserWidget;
2022-09-13 07:18:28 +00:00
struct FFrame;
2022-05-23 18:41:30 +00:00
/** 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)
2022-09-13 07:18:28 +00:00
TObjectPtr<UTexture2D> TileIcon;
2022-05-23 18:41:30 +00:00
/** 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;
};