5#include "CoreMinimal.h"
6#include "LiveConfigPropertyName.h"
7#include "Profiles/LiveConfigProfile.h"
8#include "LiveConfigTypes.generated.h"
10LIVECONFIG_API DECLARE_LOG_CATEGORY_EXTERN(LogLiveConfig, Log, All);
13enum class ELiveConfigPropertyChangeType : uint8
23enum class ELiveConfigPropertyType : uint8
37 UPROPERTY(Config, BlueprintReadWrite, EditAnywhere, Category =
"Property")
40 UPROPERTY(Config, BlueprintReadWrite, EditAnywhere, Category =
"Property")
43 UPROPERTY(Config, BlueprintReadWrite, EditAnywhere, Category =
"Property")
44 ELiveConfigPropertyType PropertyType = ELiveConfigPropertyType::String;
46 UPROPERTY(Config, BlueprintReadWrite, EditAnywhere, Category =
"Property")
49 UPROPERTY(Config, BlueprintReadWrite, EditAnywhere, Category =
"Property")
65 TMap<FLiveConfigProperty, float> FloatValues;
67 TMap<FLiveConfigProperty, int32> IntValues;
69 TMap<FLiveConfigProperty, FString> StringValues;
71 TMap<FLiveConfigProperty, bool> BoolValues;
79 static void BuildConfig(
const TMap<FLiveConfigProperty, FLiveConfigPropertyDefinition>& PropertyDefinitions,
86 if (
const float* Value = FloatValues.Find(Property))
91 UE_LOG(LogLiveConfig, Warning, TEXT(
"Failed to find float value for property: %s"), *Property.
ToString());
98 if (
const int32* Value = IntValues.Find(Property))
103 UE_LOG(LogLiveConfig, Warning, TEXT(
"Failed to find int32 value for property: %s"), *Property.
ToString());
108inline FString FLiveConfigCache::GetValue<FString>(
const FLiveConfigProperty& Property)
const
110 if (
const FString* Value = StringValues.Find(Property))
115 UE_LOG(LogLiveConfig, Warning, TEXT(
"Failed to find string value for property: %s"), *Property.
ToString());
122 if (
const bool* Value = BoolValues.Find(Property))
127 UE_LOG(LogLiveConfig, Warning, TEXT(
"Failed to find bool value for property: %s"), *Property.
ToString());
Definition LiveConfigTypes.h:61
Definition LiveConfigProfile.h:24
Definition LiveConfigTypes.h:34
Definition LiveConfigPropertyName.h:14
FString ToString() const
Definition LiveConfigPropertyName.h:29