lyra_game_ue/Source/LyraGame/Settings/CustomSettings/LyraSettingValueDiscrete_PerfStat.h
Goran Lazarevski 3bcab085f8 Initial commit
2025-03-20 11:06:26 +01:00

47 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "GameSettingValueDiscrete.h"
#include "LyraSettingValueDiscrete_PerfStat.generated.h"
enum class ELyraDisplayablePerformanceStat : uint8;
enum class ELyraStatDisplayMode : uint8;
class UObject;
UCLASS()
class ULyraSettingValueDiscrete_PerfStat : public UGameSettingValueDiscrete
{
GENERATED_BODY()
public:
ULyraSettingValueDiscrete_PerfStat();
void SetStat(ELyraDisplayablePerformanceStat InStat);
/** UGameSettingValue */
virtual void StoreInitial() override;
virtual void ResetToDefault() override;
virtual void RestoreToInitial() override;
/** UGameSettingValueDiscrete */
virtual void SetDiscreteOptionByIndex(int32 Index) override;
virtual int32 GetDiscreteOptionIndex() const override;
virtual TArray<FText> GetDiscreteOptions() const override;
protected:
/** UGameSettingValue */
virtual void OnInitialized() override;
void AddMode(FText&& Label, ELyraStatDisplayMode Mode);
protected:
TArray<FText> Options;
TArray<ELyraStatDisplayMode> DisplayModes;
ELyraDisplayablePerformanceStat StatToDisplay;
ELyraStatDisplayMode InitialMode;
};