You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UE-131954 #rb helge.mathee #preflight 616e977dbd4df4000184c1e3 #ROBOMERGE-AUTHOR: sara.schvartzman #ROBOMERGE-SOURCE: CL 17858658 in //UE5/Release-5.0/... via CL 17858673 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818) #ROBOMERGE[STARSHIP]: UE5-Main [CL 17858675 by sara schvartzman in ue5-release-engine-test branch]
64 lines
1.9 KiB
C++
64 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "RigVMModel/RigVMGraph.h"
|
|
#include "RigVMModel/Nodes/RigVMLibraryNode.h"
|
|
#include "RigVMFunctionReferenceNode.generated.h"
|
|
|
|
class URigVMFunctionLibrary;
|
|
|
|
/**
|
|
* The Function Reference Node is a library node which references
|
|
* a library node from a separate function library graph.
|
|
*/
|
|
UCLASS(BlueprintType)
|
|
class RIGVMDEVELOPER_API URigVMFunctionReferenceNode : public URigVMLibraryNode
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
// URigVMNode interface
|
|
virtual FString GetNodeTitle() const override;
|
|
virtual FLinearColor GetNodeColor() const override;
|
|
virtual FText GetToolTipText() const override;
|
|
// end URigVMNode interface
|
|
|
|
// URigVMLibraryNode interface
|
|
virtual FString GetNodeCategory() const override;
|
|
virtual FString GetNodeKeywords() const override;
|
|
virtual URigVMFunctionLibrary* GetLibrary() const override;
|
|
virtual URigVMGraph* GetContainedGraph() const override;
|
|
virtual TArray<FRigVMExternalVariable> GetExternalVariables() const override;
|
|
// end URigVMLibraryNode interface
|
|
|
|
URigVMLibraryNode* GetReferencedNode() const;
|
|
|
|
// Variable remapping
|
|
bool RequiresVariableRemapping() const;
|
|
bool IsFullyRemapped() const;
|
|
TArray<FRigVMExternalVariable> GetExternalVariables(bool bRemapped) const;
|
|
const TMap<FName, FName>& GetVariableMap() const { return VariableMap; }
|
|
FName GetOuterVariableName(const FName& InInnerVariableName) const;
|
|
// end Variable remapping
|
|
|
|
private:
|
|
|
|
virtual FText GetToolTipTextForPin(const URigVMPin* InPin) const override;
|
|
bool RequiresVariableRemappingInternal(TArray<FRigVMExternalVariable>& InnerVariables) const;
|
|
|
|
void SetReferencedNode(URigVMLibraryNode* InReferenceNode);
|
|
|
|
UPROPERTY(AssetRegistrySearchable)
|
|
mutable TSoftObjectPtr<URigVMLibraryNode> ReferencedNodePtr;
|
|
|
|
UPROPERTY()
|
|
TMap<FName, FName> VariableMap;
|
|
|
|
friend class URigVMController;
|
|
friend class FRigVMParserAST;
|
|
friend class UControlRigBlueprint;
|
|
};
|
|
|