RealtimeStyleTransferRuntime/Source/LyraGame/Cosmetics/LyraCosmeticDeveloperSettin...

66 lines
1.5 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 "Engine/DeveloperSettingsBackedByCVars.h"
#include "Cosmetics/LyraCharacterPartTypes.h"
#include "LyraCosmeticDeveloperSettings.generated.h"
class ULyraExperienceDefinition;
UENUM()
enum class ECosmeticCheatMode
{
ReplaceParts,
AddParts
};
/**
* Cosmetic developer settings / editor cheats
*/
UCLASS(config=EditorPerProjectUserSettings, MinimalAPI)
class ULyraCosmeticDeveloperSettings : public UDeveloperSettingsBackedByCVars
{
GENERATED_BODY()
public:
ULyraCosmeticDeveloperSettings();
//~UDeveloperSettings interface
virtual FName GetCategoryName() const override;
//~End of UDeveloperSettings interface
public:
UPROPERTY(Transient, EditAnywhere)
TArray<FLyraCharacterPart> CheatCosmeticCharacterParts;
UPROPERTY(Transient, EditAnywhere)
ECosmeticCheatMode CheatMode;
#if WITH_EDITOR
public:
// Called by the editor engine to let us pop reminder notifications when cheats are active
LYRAGAME_API void OnPlayInEditorStarted() const;
private:
void ApplySettings();
void ReapplyLoadoutIfInPIE();
#endif
public:
//~UObject interface
#if WITH_EDITOR
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
virtual void PostReloadConfig(FProperty* PropertyThatWasLoaded) override;
virtual void PostInitProperties() override;
#endif
//~End of UObject interface
private:
};