Skip to content

USMGraphK2Node_PropertyIOReaderNode¶

Module: SMSystemEditor

#include <SMGraphK2Node_PropertyIOReaderNode.h>

Inherits from USMGraphK2Node_PropertyIOBase, ISMGraphK2Node_LinearExpressionInterface, USMGraphK2Node_FunctionNode

Description¶

class USMGraphK2Node_PropertyIOReaderNode;

Reads output from state properties.

Public Functions¶

Name
virtual void AllocateDefaultPins() override
virtual void ReallocatePinsDuringReconstruction(TArray< UEdGraphPin * > & OldPins) override
virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar & ActionRegistrar) const override
virtual bool IsCompatibleWithGraph(UEdGraph const * Graph) const override
virtual bool IsActionFilteredOut(FBlueprintActionFilter const & Filter) override
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override
virtual bool CanUserDeleteNode() const override
virtual bool CanDuplicateNode() const override
virtual void PinDefaultValueChanged(UEdGraphPin * Pin) override
virtual void PinConnectionListChanged(UEdGraphPin * Pin) override
virtual bool IsNodePure() const override
virtual void PreCompileValidate(FCompilerResultsLog & MessageLog) override
virtual bool HandlesOwnExpansion() const override
virtual void CustomExpandNode(FSMKismetCompilerContext & CompilerContext, USMGraphK2Node_RuntimeNodeContainer * RuntimeNodeContainer, FProperty * NodeProperty) override
virtual bool IsConnectedToOwningPropertyNode() const override
virtual UEdGraphPin * TryGetOwningPropertyNodeRelatedPin() const override
virtual bool IsPropertySelectionPin(const UEdGraphPin * Pin) const override
virtual bool IsPropertyConnectorPin(const UEdGraphPin * Pin) const override
virtual bool CanDisplayConnectorPin(const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyData, const UEdGraphPin * InPin) const override
virtual bool ShouldBreakResultPinLinksOnTypeChange() const override
virtual bool CanAcceptConnection(const USMGraphK2Node_PropertyIOBase * OtherPropertyIONode) const override
virtual bool CanAcceptConnection(const USMGraphK2Node_PropertyNode_Base * OtherPropertyNode) const override
virtual TSharedPtr< SWidget > MakeLinearExpressionNodeWidget() const override
virtual TSharedPtr< SWidget > MakeLinearExpressionPinWidget(const UEdGraphPin * InPin) const override
virtual bool DisplayParenthesis() const override
SMSYSTEMEDITOR_API TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > GetSelectedNodePropertyData() const
SMSYSTEMEDITOR_API UEdGraphPin * GetPropertyPinIn() const
SMSYSTEMEDITOR_API UEdGraphPin * GetPropertyPinInChecked() const
SMSYSTEMEDITOR_API UEdGraphPin * GetConnectorPinOut() const
SMSYSTEMEDITOR_API UEdGraphPin * GetConnectorPinOutChecked() const
FName CreatePropertyPinInName()
FName CreateConnectorPinOutName()

Protected Functions¶

Name
virtual int32 GetMaxReferencedIONodes() const override

Additional inherited members¶

Public Functions inherited from USMGraphK2Node_PropertyIOBase

Name
virtual void DestroyNode() override
virtual void ReconstructNode() override
virtual bool CanCollapseNode() const override
virtual void PreCompile()
void UpdatePropertySelectionPin(UEdGraphPin * InPropertyPin, const bool bIsUserAction)
void SetPropertySelectionPinValue(UEdGraphPin * InPropertyPin, const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyValue, const TOptional< FName > & InPropertyNameOverride =TOptional< FName >())
TSharedPtr< LD::Editor::PropertyUtils::IO::FNodePropertyData > GetOwningPropertyNodePropertyData() const
USMGraphK2Node_PropertyNode_Base * GetOwningPropertyNode() const
USMGraphNode_Base * GetOwningGraphNode() const
TArray< UEdGraphPin * > GetAllPropertySelectionPins() const
void AddReferencedIONode(const FGuid & InPinGuid, USMGraphK2Node_PropertyNode_Base * InNode)
void RemoveReferencedIONode(const FGuid & InPinGuid)
int32 GetIOReferenceCount(const USMGraphK2Node_PropertyNode_Base * InPropertyNode) const
USMGraphK2Node_PropertyNode_Base * GetReferencedIONode(const FGuid & InPinGuid) const
SMSYSTEMEDITOR_API TArray< USMGraphK2Node_PropertyNode_Base * > GetAllReferencedIONodes() const
void ReapplyConnections()
void CleanInvalidReferencedIONodes()
SMSYSTEMEDITOR_API UEdGraphPin * FindOppositePin(const UEdGraphPin * InPin) const
UEdGraphPin * FindOppositePin(const FName & InPinName) const
FName GetPropertySelectionPinIdentifierType()
FString GetInputPinPrefix()
FString GetOutputPinPrefix()

Protected Functions inherited from USMGraphK2Node_PropertyIOBase

Name
virtual void VerifyCorrectPinData(const UEdGraphPin * InPin, FCompilerResultsLog & InMessageLog) const
UK2Node_MakeStruct * MakeAndWirePropertyPathStruct(FSMKismetCompilerContext & CompilerContext, const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & PropertyData, UEdGraphPin * OutputToPin)
void SetPropertySelectionPinDefaults(UEdGraphPin * Pin)
void SetPropertyConnectorPinDefaults(UEdGraphPin * Pin)

Protected Attributes inherited from USMGraphK2Node_PropertyIOBase

Public Functions Documentation¶

function AllocateDefaultPins¶

virtual void AllocateDefaultPins() override

function ReallocatePinsDuringReconstruction¶

virtual void ReallocatePinsDuringReconstruction(
    TArray< UEdGraphPin * > & OldPins
) override

function GetMenuActions¶

virtual void GetMenuActions(
    FBlueprintActionDatabaseRegistrar & ActionRegistrar
) const override

function IsCompatibleWithGraph¶

virtual bool IsCompatibleWithGraph(
    UEdGraph const * Graph
) const override

Reimplements: USMGraphK2Node_PropertyIOBase::IsCompatibleWithGraph


function IsActionFilteredOut¶

virtual bool IsActionFilteredOut(
    FBlueprintActionFilter const & Filter
) override

function GetNodeTitle¶

virtual FText GetNodeTitle(
    ENodeTitleType::Type TitleType
) const override

function CanUserDeleteNode¶

inline virtual bool CanUserDeleteNode() const override

function CanDuplicateNode¶

inline virtual bool CanDuplicateNode() const override

function PinDefaultValueChanged¶

virtual void PinDefaultValueChanged(
    UEdGraphPin * Pin
) override

Reimplements: USMGraphK2Node_PropertyIOBase::PinDefaultValueChanged


function PinConnectionListChanged¶

virtual void PinConnectionListChanged(
    UEdGraphPin * Pin
) override

Reimplements: USMGraphK2Node_PropertyIOBase::PinConnectionListChanged


function IsNodePure¶

inline virtual bool IsNodePure() const override

function PreCompileValidate¶

virtual void PreCompileValidate(
    FCompilerResultsLog & MessageLog
) override

Reimplements: USMGraphK2Node_PropertyIOBase::PreCompileValidate


function HandlesOwnExpansion¶

inline virtual bool HandlesOwnExpansion() const override

function CustomExpandNode¶

virtual void CustomExpandNode(
    FSMKismetCompilerContext & CompilerContext,
    USMGraphK2Node_RuntimeNodeContainer * RuntimeNodeContainer,
    FProperty * NodeProperty
) override

function IsConnectedToOwningPropertyNode¶

virtual bool IsConnectedToOwningPropertyNode() const override

Check for a direct connection to the owning property node.

Reimplements: USMGraphK2Node_PropertyIOBase::IsConnectedToOwningPropertyNode


function TryGetOwningPropertyNodeRelatedPin¶

virtual UEdGraphPin * TryGetOwningPropertyNodeRelatedPin() const override

Try to locate the related pin to our property node.

Reimplements: USMGraphK2Node_PropertyIOBase::TryGetOwningPropertyNodeRelatedPin


function IsPropertySelectionPin¶

virtual bool IsPropertySelectionPin(
    const UEdGraphPin * Pin
) const override

Checks if a pin should allow selecting a property. This needs to return true for our custom pin widget to display.

Reimplements: USMGraphK2Node_PropertyIOBase::IsPropertySelectionPin


function IsPropertyConnectorPin¶

virtual bool IsPropertyConnectorPin(
    const UEdGraphPin * Pin
) const override

Checks if a pin is input or output to another pin. This needs to return true for our custom pin widget to display.

Reimplements: USMGraphK2Node_PropertyIOBase::IsPropertyConnectorPin


function CanDisplayConnectorPin¶

virtual bool CanDisplayConnectorPin(
    const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyData,
    const UEdGraphPin * InPin
) const override

If the connector pin should be displayed on the same line as the property selector.

Reimplements: USMGraphK2Node_PropertyIOBase::CanDisplayConnectorPin


function ShouldBreakResultPinLinksOnTypeChange¶

inline virtual bool ShouldBreakResultPinLinksOnTypeChange() const override

If we should also break the result pin links on a type change.

Reimplements: USMGraphK2Node_PropertyIOBase::ShouldBreakResultPinLinksOnTypeChange


function CanAcceptConnection¶

virtual bool CanAcceptConnection(
    const USMGraphK2Node_PropertyIOBase * OtherPropertyIONode
) const override

If we're allowed to create a connection to another node.

Reimplements: USMGraphK2Node_PropertyIOBase::CanAcceptConnection


function CanAcceptConnection¶

virtual bool CanAcceptConnection(
    const USMGraphK2Node_PropertyNode_Base * OtherPropertyNode
) const override

If we're allowed to accept a connection given just a property node.

Reimplements: USMGraphK2Node_PropertyIOBase::CanAcceptConnection


function MakeLinearExpressionNodeWidget¶

virtual TSharedPtr< SWidget > MakeLinearExpressionNodeWidget() const override

Generate a widget for displaying a node in a linear expression.

Return: A widget to display in an expression, or nullptr to use the default widget.

Reimplements: ISMGraphK2Node_LinearExpressionInterface::MakeLinearExpressionNodeWidget


function MakeLinearExpressionPinWidget¶

virtual TSharedPtr< SWidget > MakeLinearExpressionPinWidget(
    const UEdGraphPin * InPin
) const override

Generate a widget for displaying a pin owned by this node in a linear expression.

Return: A widget to display in an expression, or nullptr to use the default widget.

Reimplements: ISMGraphK2Node_LinearExpressionInterface::MakeLinearExpressionPinWidget


function DisplayParenthesis¶

inline virtual bool DisplayParenthesis() const override

Whether to display the evaluation "( )" around the pin.

Reimplements: ISMGraphK2Node_LinearExpressionInterface::DisplayParenthesis


function GetSelectedNodePropertyData¶

SMSYSTEMEDITOR_API TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > GetSelectedNodePropertyData() const

Get the property data of the selected property.


function GetPropertyPinIn¶

SMSYSTEMEDITOR_API UEdGraphPin * GetPropertyPinIn() const

function GetPropertyPinInChecked¶

SMSYSTEMEDITOR_API UEdGraphPin * GetPropertyPinInChecked() const

function GetConnectorPinOut¶

SMSYSTEMEDITOR_API UEdGraphPin * GetConnectorPinOut() const

function GetConnectorPinOutChecked¶

SMSYSTEMEDITOR_API UEdGraphPin * GetConnectorPinOutChecked() const

function CreatePropertyPinInName¶

static FName CreatePropertyPinInName()

function CreateConnectorPinOutName¶

static FName CreateConnectorPinOutName()

Protected Functions Documentation¶

function GetMaxReferencedIONodes¶

inline virtual int32 GetMaxReferencedIONodes() const override

Retrieve the maximum allowed referenced IO nodes.

Reimplements: USMGraphK2Node_PropertyIOBase::GetMaxReferencedIONodes

Can't pure virtual