LD::Editor::PropertyUtils::IO¶
Module: SMSystemEditor
Description¶
Utilities specifically related to data and operation of input/output properties. E.g., IO writer and reader nodes.
Classes¶
Types¶
| Name | |
|---|---|
| enum uint8 | EPropertyOwnerType |
Functions¶
| Name | |
|---|---|
| int32 | GetPropertySerializerVersion() |
| FString | SerializePropertyDataToString(const TSharedPtr< FPropertyData_Base > & InPropertyData, const TOptional< FName > & InVarName =TOptional< FName >()) |
| TSharedPtr< FPropertyData_Base > | DeserializeStringToPropertyData(const FString & InPropertyString) |
| SMSYSTEMEDITOR_API TSharedPtr< FPropertyData_Base > | GetPropertyDataFromPin(const UEdGraphPin * Pin) |
| UEdGraph * | GetPropertyOwnerStateGraph(const TSharedPtr< FPropertyData_Base > & InPropertyData, USMBlueprint * InBlueprint =nullptr) |
| USMGraphK2Node_PropertyNode_Base * | GetPropertyNode(const TSharedPtr< FPropertyData_Base > & InPropertyData, USMBlueprint * InBlueprint =nullptr) |
| FText | GetPropertyOwnerDisplayName(const TSharedPtr< FPropertyData_Base > & InPropertyData) |
| FText | GetFormattedPropertyDisplayName(const TSharedPtr< FPropertyData_Base > & InPropertyData, bool bIncludeOwnerName =false) |
| SMSYSTEMEDITOR_API USMGraphK2Node_PropertyIOReaderNode * | GetConnectedPropertyReaderNode(USMGraphK2Node_PropertyNode_Base * InPropertyNode) |
| USMGraphK2Node_PropertyIOReaderNode * | GetOrPlacePropertyReaderNode(USMGraphK2Node_PropertyNode_Base * InPropertyNode, bool * bJustCreated =nullptr) |
| SMSYSTEMEDITOR_API USMGraphK2Node_PropertyIOWriterNode * | GetConnectedPropertyWriterNode(USMGraphK2Node_PropertyNode_Base * InPropertyNode) |
| USMGraphK2Node_PropertyIOWriterNode * | GetOrPlacePropertyWriterNode(USMGraphK2Node_PropertyNode_Base * InPropertyNode, bool * bJustCreated =nullptr) |
| USMGraphK2Node_PropertyIOBase * | FindPropertyIONodeThatShouldLinkToPropertyOutput(USMGraphK2Node_PropertyNode_Base * InPropertyNode, const USMGraphK2Node_PropertyIOBase * InToOutputProperty) |
| SMSYSTEMEDITOR_API void | MakeWriterConnectionToOwningBlueprintProperty(USMGraphK2Node_PropertyIOWriterNode * InWriterNode, const FProperty * InProperty) |
| SMSYSTEMEDITOR_API bool | TryMakePropertyConnection(USMGraphK2Node_PropertyNode_Base * InPropertyWithOutput, USMGraphK2Node_PropertyNode_Base * InPropertyWithInput) |
| SMSYSTEMEDITOR_API bool | TryMakePropertyConnection(UEdGraphPin * InFromIONodePropertyPin, USMGraphK2Node_PropertyNode_Base * InToPropertyNode) |
| SMSYSTEMEDITOR_API bool | TryMakePropertyConnection(UEdGraphPin * InFromIONodePropertyPin, const TSharedPtr< FPropertyData_Base > & InToPropertyData, USMBlueprint * InBlueprint =nullptr) |
| SMSYSTEMEDITOR_API void | BreakPropertyConnection(UEdGraphPin * InFromIONodePropertyPin) |
| SMSYSTEMEDITOR_API void | BreakAllPropertyConnections(const USMGraphK2Node_PropertyIOBase * InPropertyNode) |
| SMSYSTEMEDITOR_API void | BreakAllPropertyConnections(USMGraphK2Node_PropertyNode_Base * InPropertyNode) |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetAllConnectedPropertyNodes(USMGraphK2Node_PropertyNode_Base * InPropertyNode) |
| TSharedPtr< SWidget > | MakeLinearExpressionNodeWidget(const TSharedPtr< FPropertyData_Base > & InPropertyData, const UEdGraphSchema * InSchema) |
Types Documentation¶
enum EPropertyOwnerType¶
| Enumerator | Value | Description |
|---|---|---|
| Invalid | ||
| NodeInstance | ||
| OwningBlueprint |
Functions Documentation¶
function GetPropertySerializerVersion¶
Return the current property serializer version.
function SerializePropertyDataToString¶
FString SerializePropertyDataToString(
const TSharedPtr< FPropertyData_Base > & InPropertyData,
const TOptional< FName > & InVarName =TOptional< FName >()
)
Serializes the path to a property to a string.
Parameters:
InPropertyData- The property data to serialize.
InVarName- [Optional] The name of the variable to serialize. Normally looked up from property data, but could be different in case of a rename.
function DeserializeStringToPropertyData¶
TSharedPtr< FPropertyData_Base > DeserializeStringToPropertyData(
const FString & InPropertyString
)
Extract property data from a string.
function GetPropertyDataFromPin¶
SMSYSTEMEDITOR_API TSharedPtr< FPropertyData_Base > GetPropertyDataFromPin(
const UEdGraphPin * Pin
)
Extract property data from a pin.
function GetPropertyOwnerStateGraph¶
UEdGraph * GetPropertyOwnerStateGraph(
const TSharedPtr< FPropertyData_Base > & InPropertyData,
USMBlueprint * InBlueprint =nullptr
)
Retrieve the owning state graph, only valid for node property data.
Parameters:
InPropertyData- The property data, which should be NodePropertyData.
InBlueprint- [Optional] If not provided it will be found from the property data.
function GetPropertyNode¶
USMGraphK2Node_PropertyNode_Base * GetPropertyNode(
const TSharedPtr< FPropertyData_Base > & InPropertyData,
USMBlueprint * InBlueprint =nullptr
)
Retrieve the owning property node, only valid for node property data.
Parameters:
InPropertyData- The property data, which should be NodePropertyData.
InBlueprint- [Optional] If not provided it will be found from the property data.
function GetPropertyOwnerDisplayName¶
Get the display name of the property owner (such as a state or blueprint).
function GetFormattedPropertyDisplayName¶
FText GetFormattedPropertyDisplayName(
const TSharedPtr< FPropertyData_Base > & InPropertyData,
bool bIncludeOwnerName =false
)
Get the best display name for a property.
Parameters:
InPropertyData- The property data.
bIncludeOwnerName- If the owner of the property should be prefixed, such as the owning state name.
Return: The fully formatted display name.
function GetConnectedPropertyReaderNode¶
SMSYSTEMEDITOR_API USMGraphK2Node_PropertyIOReaderNode * GetConnectedPropertyReaderNode(
USMGraphK2Node_PropertyNode_Base * InPropertyNode
)
Return a connected reader node.
function GetOrPlacePropertyReaderNode¶
USMGraphK2Node_PropertyIOReaderNode * GetOrPlacePropertyReaderNode(
USMGraphK2Node_PropertyNode_Base * InPropertyNode,
bool * bJustCreated =nullptr
)
Find an existing connected IO reader node or place and connect a new one.
function GetConnectedPropertyWriterNode¶
SMSYSTEMEDITOR_API USMGraphK2Node_PropertyIOWriterNode * GetConnectedPropertyWriterNode(
USMGraphK2Node_PropertyNode_Base * InPropertyNode
)
Return a connected writer node.
function GetOrPlacePropertyWriterNode¶
USMGraphK2Node_PropertyIOWriterNode * GetOrPlacePropertyWriterNode(
USMGraphK2Node_PropertyNode_Base * InPropertyNode,
bool * bJustCreated =nullptr
)
Find an existing connected IO writer node or place and connect a new one. This will wire a connection if needed.
function FindPropertyIONodeThatShouldLinkToPropertyOutput¶
USMGraphK2Node_PropertyIOBase * FindPropertyIONodeThatShouldLinkToPropertyOutput(
USMGraphK2Node_PropertyNode_Base * InPropertyNode,
const USMGraphK2Node_PropertyIOBase * InToOutputProperty
)
Locate the correct IO property node to connect to another IO property node from a standard property node. If we pass in a writer node then this function should find the correct reader node. If we pass in a reader node then we should find the writer node.
Parameters:
InPropertyNode- The standard property node which could point to a reader or writer node.
InToOutputProperty- The IO node which we want the InPropertyNode to potentially reference. Most likely this belongs to another property node than InPropertyNode.
Return: The IO node, if it exists, which could be used to reference the InToOutputProperty.
function MakeWriterConnectionToOwningBlueprintProperty¶
SMSYSTEMEDITOR_API void MakeWriterConnectionToOwningBlueprintProperty(
USMGraphK2Node_PropertyIOWriterNode * InWriterNode,
const FProperty * InProperty
)
Makes a connection to a property belonging to the owning blueprint.
function TryMakePropertyConnection¶
SMSYSTEMEDITOR_API bool TryMakePropertyConnection(
USMGraphK2Node_PropertyNode_Base * InPropertyWithOutput,
USMGraphK2Node_PropertyNode_Base * InPropertyWithInput
)
Try to establish a connection between two property nodes. Will automatically look for correct pins.
function TryMakePropertyConnection¶
SMSYSTEMEDITOR_API bool TryMakePropertyConnection(
UEdGraphPin * InFromIONodePropertyPin,
USMGraphK2Node_PropertyNode_Base * InToPropertyNode
)
Try to establish a connection between an IONode and a property node. This will find or create IO nodes in relation to the property node.
function TryMakePropertyConnection¶
SMSYSTEMEDITOR_API bool TryMakePropertyConnection(
UEdGraphPin * InFromIONodePropertyPin,
const TSharedPtr< FPropertyData_Base > & InToPropertyData,
USMBlueprint * InBlueprint =nullptr
)
Try to establish a connection between an IONode and corresponding property data. This will find or create IO nodes in relation to the property node.
function BreakPropertyConnection¶
Break a connection given an IO node property pin.
function BreakAllPropertyConnections¶
SMSYSTEMEDITOR_API void BreakAllPropertyConnections(
const USMGraphK2Node_PropertyIOBase * InPropertyNode
)
Break all IO connections for a given property output node.
function BreakAllPropertyConnections¶
SMSYSTEMEDITOR_API void BreakAllPropertyConnections(
USMGraphK2Node_PropertyNode_Base * InPropertyNode
)
Break all IO connections for a given property node.
function GetAllConnectedPropertyNodes¶
TArray< USMGraphK2Node_PropertyNode_Base * > GetAllConnectedPropertyNodes(
USMGraphK2Node_PropertyNode_Base * InPropertyNode
)
Find all connected property nodes, both input and output that are connected to the InPropertyNode.
function MakeLinearExpressionNodeWidget¶
TSharedPtr< SWidget > MakeLinearExpressionNodeWidget(
const TSharedPtr< FPropertyData_Base > & InPropertyData,
const UEdGraphSchema * InSchema
)
Make a node widget for use in a linear expression.