Live Config
Loading...
Searching...
No Matches
K2Node_LiveConfigLookup.h
1// Copyright (c) 2026 Nicholas Arthur
2// Licensed under the MIT License
3
4#pragma once
5
6#include "CoreMinimal.h"
7#include "K2Node.h"
8#include "LiveConfigPropertyName.h"
9#include "K2Node_LiveConfigLookup.generated.h"
10
11UCLASS()
12class LIVECONFIGEDITOR_API UK2Node_LiveConfigLookup : public UK2Node
13{
14 GENERATED_BODY()
15
16public:
18
19 // UK2Node
20 virtual void AllocateDefaultPins() override;
21 virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override;
22 virtual FText GetTooltipText() const override;
23 virtual FLinearColor GetNodeTitleColor() const override;
24 virtual FText GetMenuCategory() const override;
25 virtual void PinDefaultValueChanged(UEdGraphPin* Pin) override;
26 virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override;
27 virtual void ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph) override;
28 virtual bool IsNodePure() const override { return true; }
29 virtual void NotifyPinConnectionListChanged(UEdGraphPin* Pin) override;
30 virtual bool IsConnectionDisallowed(const UEdGraphPin* MyPin, const UEdGraphPin* OtherPin, FString& OutConnectionMessage) const override;
31 virtual void PostReconstructNode() override;
32 virtual void ValidateNodeDuringCompilation(class FCompilerResultsLog& MessageLog) const override;
33 // ~UK2Node
34
36 UEdGraphPin* GetPropertyPin() const;
37
39 UEdGraphPin* GetValuePin() const;
40
42 void UpdateOutputPinType();
43
45 UPROPERTY()
46 FEdGraphPinType DefaultPinType;
47
48private:
49 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
50 static bool GetBoolValue(FLiveConfigProperty Property);
51
52 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
53 static float GetFloatValue(FLiveConfigProperty Property);
54
55 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
56 static int32 GetIntValue(FLiveConfigProperty Property);
57
58 UFUNCTION(BlueprintPure, Category = "Live Config", BlueprintInternalUseOnly)
59 static FString GetStringValue(FLiveConfigProperty Property);
60
65 UFUNCTION(BlueprintPure, CustomThunk, Category = "Live Config", meta = (CustomStructureParam = "OutStruct"), BlueprintInternalUseOnly)
66 static void GetStructValue(FLiveConfigProperty Property, int32& OutStruct);
67
68 static void Generic_GetStructValue(FLiveConfigProperty Property, UScriptStruct* Struct, void* OutStructPtr);
69
70 DECLARE_FUNCTION(execGetStructValue);
71
73 static FName PropertyPinName;
74
76 static FName ValuePinName;
77};
Definition K2Node_LiveConfigLookup.h:13
Definition LiveConfigPropertyName.h:14