Files
integration/Source/Integration/LuprexK2Node.h

35 lines
1.2 KiB
C
Raw Normal View History

2026-03-04 02:56:15 -05:00
#pragma once
#include "K2Node.h"
#include "LuprexK2Node.generated.h"
//
// Base class for Luprex K2 nodes, adding common utility functions.
//
UCLASS(Abstract, MinimalAPI)
class UlxK2Node : public UK2Node
{
GENERATED_BODY()
protected:
/** Add a single-char prefix to a pin name, e.g. AddPrefix("foo", 'A') -> "A:foo" */
static FName AddPrefix(const FString &Name, char Prefix);
/** Strip a single-char prefix from a pin name, returning the original name if no prefix is found. */
static FName RemovePrefix(FName Name);
/** Convert a UFunction property to a pin type. Returns a default (wildcard) pin type on failure. */
static FEdGraphPinType PropertyToPinType(const FProperty *Property);
/** Set a fatal error message on this node. */
void SetErrorMsg(const FString &Msg);
/** Spawn an intermediate UK2Node_CallFunction during node expansion. */
class UK2Node_CallFunction* MakeCallFunctionNode(class FKismetCompilerContext &CompilerContext, UEdGraph *SourceGraph, UFunction *Func);
/** Link ExecOut to NextNode's exec pin, return NextNode's output exec pin (by name). */
static UEdGraphPin* ChainExecPin(UEdGraphPin *ExecOut, UK2Node *NextNode, const TCHAR *OutputPinName);
};