Live Config
Loading...
Searching...
No Matches
LiveConfigLib.h
1// Copyright (c) 2026 Nicholas Arthur
2// Licensed under the MIT License
3
4#pragma once
5
6#include "CoreMinimal.h"
7#include "LiveConfigSystem.h"
8#include "LiveConfigTypes.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "LiveConfigLib.generated.h"
11
16UCLASS()
17class LIVECONFIG_API ULiveConfigLib : public UBlueprintFunctionLibrary
18{
19 GENERATED_BODY()
20public:
21 UFUNCTION(BlueprintPure, Category = "Live Config")
22 static FLiveConfigPropertyDefinition GetLiveConfigPropertyDefinition(FLiveConfigProperty Property);
23
30 template<typename T>
31 static T GetLiveConfigValue(FLiveConfigProperty Property);
32
33 UFUNCTION(BlueprintPure, Category = "Live Config")
34 static FName GetPropertyName(const FLiveConfigProperty& Property);
35
36 UFUNCTION(BlueprintPure, Category = "Live Config")
37 static FLiveConfigProperty MakeLiteralLiveConfigProperty(FLiveConfigProperty Property);
38
43 UFUNCTION(BlueprintCallable, Category = "Live Config")
44 static FLiveConfigProfile ParseOverridesFromCsv(const FString& CsvContent);
45
46 static FSlateColor GetTagColor(FName InTag);
47
48 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
49 static bool GetBoolValue(FLiveConfigProperty Property);
50
51 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
52 static float GetValue(FLiveConfigProperty Property);
53
54 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
55 static int32 GetIntValue(FLiveConfigProperty Property);
56
57 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
58 static FString GetStringValue(FLiveConfigProperty Property);
59
64 UFUNCTION(BlueprintPure, CustomThunk, Category = "Live Config", meta = (CustomStructureParam = "OutStruct"), BlueprintInternalUseOnly)
65 static void GetStructValue(FLiveConfigProperty Property, int32& OutStruct);
66
67private:
68 static void Generic_GetStructValue(FLiveConfigProperty Property, UScriptStruct* Struct, void* OutStructPtr);
69
70 DECLARE_FUNCTION(execGetStructValue);
71};
72
73template <typename T>
Definition LiveConfigLib.h:18
static T GetLiveConfigValue(FLiveConfigProperty Property)
Definition LiveConfigLib.h:74
Definition LiveConfigSystem.h:30
bool GetBoolValue(FLiveConfigProperty Key) const
Definition LiveConfigSystem.cpp:555
T GetLiveConfigValue(FLiveConfigProperty Property) const
Definition LiveConfigSystem.h:125
static ULiveConfigSystem & Get()
Definition LiveConfigSystem.cpp:31
FString GetStringValue(FLiveConfigProperty Key) const
Definition LiveConfigSystem.cpp:540
int32 GetIntValue(FLiveConfigProperty Key) const
Definition LiveConfigSystem.cpp:550
Definition LiveConfigProfile.h:24
Definition LiveConfigTypes.h:58
Definition LiveConfigPropertyName.h:14