USMGraphK2Node_PropertyIOBase¶
Module: SMSystemEditor
#include <SMGraphK2Node_PropertyIOBase.h>
Inherits from USMGraphK2Node_FunctionNode
Inherited by USMGraphK2Node_PropertyIOReaderNode, USMGraphK2Node_PropertyIOWriterNode
Description¶
Base node for output variables (reading and writing).
Public Functions¶
| Name | |
|---|---|
| virtual bool | IsCompatibleWithGraph(UEdGraph const * Graph) const override |
| virtual void | PinDefaultValueChanged(UEdGraphPin * Pin) override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
| virtual void | DestroyNode() override |
| virtual void | ReconstructNode() override |
| virtual bool | CanCollapseNode() const override |
| virtual void | PreCompileValidate(FCompilerResultsLog & MessageLog) 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 |
| virtual UEdGraphPin * | TryGetOwningPropertyNodeRelatedPin() const |
| virtual bool | ShouldBreakResultPinLinksOnTypeChange() const |
| virtual bool | IsConnectedToOwningPropertyNode() const |
| virtual bool | IsPropertySelectionPin(const UEdGraphPin * Pin) const |
| virtual bool | IsPropertyConnectorPin(const UEdGraphPin * Pin) const |
| virtual bool | CanDisplayConnectorPin(const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyData, const UEdGraphPin * InPin) const |
| virtual bool | CanAcceptConnection(const USMGraphK2Node_PropertyIOBase * OtherPropertyIONode) const |
| virtual bool | CanAcceptConnection(const USMGraphK2Node_PropertyNode_Base * OtherPropertyNode) 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 |
| virtual int32 | GetMaxReferencedIONodes() const |
| FName | GetPropertySelectionPinIdentifierType() |
| FString | GetInputPinPrefix() |
| FString | GetOutputPinPrefix() |
Protected Functions¶
| 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¶
Public Functions Documentation¶
function IsCompatibleWithGraph¶
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::IsCompatibleWithGraph
function PinDefaultValueChanged¶
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::PinDefaultValueChanged, USMGraphK2Node_PropertyIOWriterNode::PinDefaultValueChanged
function PinConnectionListChanged¶
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::PinConnectionListChanged, USMGraphK2Node_PropertyIOWriterNode::PinConnectionListChanged
function DestroyNode¶
function ReconstructNode¶
function CanCollapseNode¶
function PreCompileValidate¶
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::PreCompileValidate, USMGraphK2Node_PropertyIOWriterNode::PreCompileValidate
function PreCompile¶
Called from the property node responsible for this IO Node.
function UpdatePropertySelectionPin¶
Perform processing when a property pin has changed. This will update a corresponding connector pin matching the property pin.
Parameters:
InPropertyPin- The property pin we are updating.
bIsUserAction- Whether the user initiated the action directly or not.
function SetPropertySelectionPinValue¶
void SetPropertySelectionPinValue(
UEdGraphPin * InPropertyPin,
const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyValue,
const TOptional< FName > & InPropertyNameOverride =TOptional< FName >()
)
Set the pin's value.
Parameters:
InPropertyPin- The graph pin to set.
InPropertyValue- The value to set the graph pin.
InPropertyNameOverride- The property name, if it should be different from the InPropertyValue data.
function GetOwningPropertyNodePropertyData¶
TSharedPtr< LD::Editor::PropertyUtils::IO::FNodePropertyData > GetOwningPropertyNodePropertyData() const
Build node property data of this node owner.
function GetOwningPropertyNode¶
Return the property node connected to this execution.
function GetOwningGraphNode¶
Find the owning graph node containing this property output node.
function TryGetOwningPropertyNodeRelatedPin¶
Try to locate the related pin to our property node.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::TryGetOwningPropertyNodeRelatedPin, USMGraphK2Node_PropertyIOWriterNode::TryGetOwningPropertyNodeRelatedPin
function ShouldBreakResultPinLinksOnTypeChange¶
If we should also break the result pin links on a type change.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::ShouldBreakResultPinLinksOnTypeChange
function IsConnectedToOwningPropertyNode¶
Check for a direct connection to the owning property node.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::IsConnectedToOwningPropertyNode, USMGraphK2Node_PropertyIOWriterNode::IsConnectedToOwningPropertyNode
function IsPropertySelectionPin¶
Checks if a pin should allow selecting a property. This needs to return true for our custom pin widget to display.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::IsPropertySelectionPin, USMGraphK2Node_PropertyIOWriterNode::IsPropertySelectionPin
function IsPropertyConnectorPin¶
Checks if a pin is input or output to another pin. This needs to return true for our custom pin widget to display.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::IsPropertyConnectorPin, USMGraphK2Node_PropertyIOWriterNode::IsPropertyConnectorPin
function CanDisplayConnectorPin¶
inline virtual bool CanDisplayConnectorPin(
const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & InPropertyData,
const UEdGraphPin * InPin
) const
If the connector pin should be displayed on the same line as the property selector.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::CanDisplayConnectorPin, USMGraphK2Node_PropertyIOWriterNode::CanDisplayConnectorPin
function CanAcceptConnection¶
If we're allowed to create a connection to another node.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::CanAcceptConnection, USMGraphK2Node_PropertyIOWriterNode::CanAcceptConnection
function CanAcceptConnection¶
virtual bool CanAcceptConnection(
const USMGraphK2Node_PropertyNode_Base * OtherPropertyNode
) const
If we're allowed to accept a connection given just a property node.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::CanAcceptConnection, USMGraphK2Node_PropertyIOWriterNode::CanAcceptConnection
function GetAllPropertySelectionPins¶
Retrieve all pins that are property selections.
function AddReferencedIONode¶
Add a property node we are referencing through IO.
function RemoveReferencedIONode¶
Remove a referenced property from IO.
function GetIOReferenceCount¶
Return how many times another property is referenced.
function GetReferencedIONode¶
Find another property node we are referencing from a pin.
function GetAllReferencedIONodes¶
Return all referenced IO nodes.
function ReapplyConnections¶
Attempt to remake any connections. Can be useful if the node was cloned.
function CleanInvalidReferencedIONodes¶
Remove any IO nodes references that are no longer valid.
function FindOppositePin¶
Look for a pin matching the name of the pin in the opposite direction.
function FindOppositePin¶
function GetMaxReferencedIONodes¶
Retrieve the maximum allowed referenced IO nodes.
Reimplemented by: USMGraphK2Node_PropertyIOReaderNode::GetMaxReferencedIONodes, USMGraphK2Node_PropertyIOWriterNode::GetMaxReferencedIONodes
Can't pure virtual
function GetPropertySelectionPinIdentifierType¶
The generic identifier used to determine if this pin is for a property.
function GetInputPinPrefix¶
function GetOutputPinPrefix¶
Protected Functions Documentation¶
function VerifyCorrectPinData¶
virtual void VerifyCorrectPinData(
const UEdGraphPin * InPin,
FCompilerResultsLog & InMessageLog
) const
Compile validation the pin data is correct and the corresponding property referenced.
Reimplemented by: USMGraphK2Node_PropertyIOWriterNode::VerifyCorrectPinData
function MakeAndWirePropertyPathStruct¶
UK2Node_MakeStruct * MakeAndWirePropertyPathStruct(
FSMKismetCompilerContext & CompilerContext,
const TSharedPtr< LD::Editor::PropertyUtils::IO::FPropertyData_Base > & PropertyData,
UEdGraphPin * OutputToPin
)
Create a struct with property path args consisting of property data, and wire to the output pin.
function SetPropertySelectionPinDefaults¶
Set the defaults of the selection pin.
function SetPropertyConnectorPinDefaults¶
Set the defaults of the connector pin.
Protected Attributes Documentation¶
variable bProgramaticallySettingPropertyPinValue¶
If we are setting the default value of a pin not through user interaction.
variable bCallUpdatePropertySelectionOnValueChange¶
If UpdatePropertySelectionPin() should be called on a default value change.
Private Attributes Documentation¶
variable ReferencedIONodes¶
Other nodes we are referencing. Pin Guid to Reference