USMGraphNode_StateNode¶
Module: SMSystemEditor
#include <SMGraphNode_StateNode.h>
Inherits from USMGraphNode_StateNodeBase, USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface
Description¶
Regular state nodes which have K2 graphs.
Public Functions¶
| Name | |
|---|---|
| virtual void | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override |
| virtual UObject * | GetJumpTargetForDoubleClick() const override |
| virtual void | DestroyNode() override |
| virtual FSlateIcon | GetIconAndTint(FLinearColor & OutColor) const override |
| virtual void | PlaceDefaultInstanceNodes() override |
| virtual FName | GetNodeClassPropertyName() const override |
| virtual FName | GetNodeStackPropertyName() override |
| virtual FName | GetNodeStackElementClassPropertyName() const override |
| virtual UClass * | GetNodeClass() const override |
| virtual void | SetNodeClass(UClass * Class) override |
| virtual bool | SupportsPropertyGraphs() const override |
| virtual FName | GetFriendlyNodeName() const override |
| virtual const FSlateBrush * | GetNodeIcon() const override |
| virtual void | InitTemplate() override |
| virtual bool | AreTemplatesFullyLoaded() const override |
| virtual bool | DoesNodePossiblyHaveConstructionScripts() const override |
| virtual void | RunAllConstructionScripts_Internal() override |
| virtual void | RestoreArchetypeValuesPriorToConstruction() override |
| virtual void | PreCompileNodeInstanceValidation(FCompilerResultsLog & CompilerContext, USMCompilerLog * CompilerLog, USMGraphNode_Base * OwningNode) override |
| virtual void | OnCompile(FSMKismetCompilerContext & CompilerContext) override |
| virtual int32 | GetIndexOfTemplate(const FGuid & TemplateGuid) const override |
| virtual void | GetAllNodeTemplates(TArray< USMNodeInstance * > & OutNodeInstances) const override |
| virtual USMNodeInstance * | AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex) override |
| virtual void | RemoveStackNode(int32 StackIndex) override |
| virtual void | ClearStackNodes() override |
| const TArray< FStateStackContainer > & | GetAllNodeStackTemplates() const |
| virtual USMNodeInstance * | GetTemplateFromIndex(int32 Index) const override |
| void | InitStateStack() |
| void | DestroyStateStack() |
Public Attributes¶
| Name | |
|---|---|
| TSubclassOf< USMStateInstance > | StateClass |
| TArray< FStateStackContainer > | StateStack |
Additional inherited members¶
Public Functions inherited from USMGraphNode_StateNodeBase
| Name | |
|---|---|
| virtual void | AllocateDefaultPins() override |
| virtual FText | GetNodeTitle(ENodeTitleType::Type TitleType) const override |
| virtual bool | GetCanRenameNode() const override |
| virtual void | OnRenameNode(const FString & NewName) override |
| virtual void | AutowireNewNode(UEdGraphPin * FromPin) override |
| virtual void | PostPlacedNewNode() override |
| virtual void | PostPasteNode() override |
| virtual void | PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
| virtual void | ImportDeprecatedProperties() override |
| virtual void | OnNodeMoved(const FVector2D & NewPosition) override |
| virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override |
| virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) override |
| virtual void | ResetNodeName() override |
| virtual FGameplayTagContainer & | GetAnyStateTags() override |
| virtual void | SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) override |
| virtual void | SetRuntimeDefaults(FSMState_Base & State) const |
| virtual FString | GetStateName() const |
| virtual bool | IsEndState(bool bCheckAnyState =true) const |
| virtual bool | HasInputConnections() const |
| virtual bool | HasOutputConnections() const |
| bool | ShouldDefaultTransitionsToParallel() const |
| bool | ShouldExcludeFromAnyState() const |
| bool | HasTransitionToNode(const UEdGraphNode * Node) const |
| bool | HasTransitionFromNode(const UEdGraphNode * Node) const |
| USMGraphNode_Base * | GetPreviousNode(int32 Index =0) const |
| USMGraphNode_Base * | GetNextNode(int32 Index =0) const |
| USMGraphNode_StateNodeBase * | GetPreviousState(int32 Index =0, bool bIncludeReroute =false, bool bIncludeEntryState =false) const |
| USMGraphNode_StateNodeBase * | GetNextState(int32 Index =0, bool bIncludeReroute =false) const |
| USMGraphNode_TransitionEdge * | GetPreviousTransition(int32 Index =0) const |
| USMGraphNode_TransitionEdge * | GetNextTransition(int32 Index =0) const |
| void | GetInputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const |
| void | GetOutputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const |
| int32 | GetNumInputConnections() const |
| int32 | GetNumOutputConnections() const |
| UEdGraphPin * | GetConnectedEntryPin() const |
| FLinearColor | GetBackgroundColorForNodeInstance(const USMNodeInstance * NodeInstance) const |
| const TSet< TObjectPtr< USMGraphNode_LinkStateNode > > & | GetLinkStates() const |
| void | RemoveInvalidLinkStates() |
| void | RefreshConnectedTransitions() |
Protected Functions inherited from USMGraphNode_StateNodeBase
| Name | |
|---|---|
| virtual FLinearColor | Internal_GetBackgroundColor() const override |
Friends inherited from USMGraphNode_StateNodeBase
| Name | |
|---|---|
| class | SGraphNode_StateNode |
| class | USMGraphNode_LinkStateNode |
Public Functions inherited from USMGraphNode_Base
| Name | |
|---|---|
| virtual void | Serialize(FArchive & Ar) override |
| virtual void | PostLoad() override |
| virtual | ~USMGraphNode_Base() override |
| virtual void | PostPasteNode() override |
| virtual void | PostEditUndo() override |
| virtual void | PostPlacedNewNode() override |
| virtual TSharedPtr< INameValidatorInterface > | MakeNameValidator() const override |
| virtual void | OnRenameNode(const FString & NewName) override |
| virtual bool | CanJumpToDefinition() const override |
| virtual void | JumpToDefinition() const override |
| virtual bool | CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const override |
| virtual void | ReconstructNode() override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
| virtual void | ValidateNodeDuringCompilation(FCompilerResultsLog & MessageLog) const override |
| virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > | GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const override |
| virtual FString | GetNodeName() const override |
| virtual bool | SetNodeName(const FString & NewName, FText & OutErrorMessage) override |
| virtual void | ResetNodeName() override |
| virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > | AsStateBaseInterface() override |
| virtual void | SetNodeName_Direct(const FString & InNewName) |
| virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) |
| virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) |
| virtual void | ResetDebugState() |
| virtual void | OnWidgetConstruct() |
| virtual void | UpdateTime(float DeltaTime) |
| virtual void | CheckSetErrorMessages() |
| virtual void | ResetLogMessages() |
| void | UpdateErrorMessageFromLogs() |
| void | AddNodeLogMessage(const FSMGraphNodeLog & Message) |
| bool | TryGetNodeLogMessage(FString & OutMessage, int32 & OutSeverity) const |
| virtual void | OnNodeMoved(const FVector2D & NewPosition) |
| void | SetReadOnlyNodePosition() |
| virtual void | GoToLocalGraph() const |
| virtual bool | CanGoToLocalGraph() const |
| virtual TArray< TSubclassOf< USMGraphNode_Base > > | GetAllowedDuplicateNodeNameTypes() const |
| virtual const FGuid & | GetCorrectNodeGuid(bool * bIsRunTimeGuid =nullptr) const |
| virtual void | DestroyTemplate() |
| void | RunAllConstructionScripts() |
| virtual bool | CanRunConstructionScripts() const |
| bool | IsRunningConstructionScripts() const |
| UClass * | GetDefaultNodeClass() const |
| bool | IsUsingDefaultNodeClass() const |
| bool | IsNodeClassNative() const |
| virtual bool | IsNodeFastPathEnabled() const |
| virtual FName | GetNodeTemplatePropertyName() |
| USMNodeInstance * | GetNodeTemplate() const |
| USMNodeInstance * | GetNodeTemplateFromGuid(const FGuid & Guid) const |
| T * | GetNodeTemplateAs(bool bCheck =false) const |
| USMGraph * | GetOwningStateMachineGraph() const |
| UEdGraph * | GetBoundGraph() const |
| void | ClearBoundGraph() |
| void | CreateGraphPropertyGraphs(bool bGenerateNewGuids =false) |
| bool | CreateGraphPropertyGraphsForTemplate(USMNodeInstance * Template, bool bGenerateNewGuids, TSet< FGuid > & LiveGuidsInOut, bool bResetNonVariableGuids =false) |
| void | RemoveGraphPropertyGraphsForTemplate(USMNodeInstance * Template) |
| UEdGraph * | GetGraphPropertyGraph(const FGuid & Guid) const |
| USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FGuid & Guid) const |
| USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetGraphPropertyNodes(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
| const TMap< FGuid, TObjectPtr< UEdGraph > > & | GetAllPropertyGraphs() const |
| const TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > & | GetAllPropertyGraphNodes() const |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetAllPropertyGraphNodesAsArray(const USMNodeInstance * TemplateMatch =nullptr) const |
| void | InitPropertyGraphNodes(UEdGraph * PropertyGraph, FSMGraphProperty_Base * Property) |
| void | RefreshAllProperties(bool bModify, bool bSetFromPinFirst =true) |
| void | RefreshPropertyByGuid(const FGuid & Guid, bool bModify, bool bSetFromPinFirst =true) |
| void | ForceRecreateProperties() |
| void | SetGraphPropertyDefaultsFromPins() |
| void | SetPinsFromGraphProperties(bool bUseArchetype) |
| USMGraphK2Node_PropertyNode_Base * | GetPropertyNodeUnderMouse() const |
| virtual UEdGraphPin * | GetInputPin() const |
| virtual UEdGraphPin * | GetOutputPin() const |
| UEdGraphNode * | GetOutputNode() const |
| void | GetAllOutputNodes(TArray< UEdGraphNode * > & OutNodes) const |
| void | GetAllOutputNodesAs(TArray< T * > & OutNodes) const |
| virtual FLinearColor | GetBackgroundColor() const |
| virtual FLinearColor | GetActiveBackgroundColor() const |
| virtual bool | CanExistAtRuntime() const |
| FSMNode_Base * | FindRuntimeNode() const |
| const FSMNode_Base * | GetDebugNode() const |
| float | GetDebugTime() const |
| virtual float | GetMaxDebugTime() const |
| virtual bool | IsDebugNodeActive() const |
| virtual bool | WasDebugNodeActive() const |
| bool | ConvertToCurrentVersion(bool bOnlyOnLoad =true) |
| bool | SetToCurrentVersion() |
| void | ForceSetVersion(int32 NewVersion) |
| virtual void | ImportDeprecatedProperties() |
| bool | IsBeingPasted() const |
| bool | IsPreCompiling() const |
| bool | IsEditUndo() const |
| void | RequestSlateRefresh(bool bFullRefresh =false) |
| virtual void | ResetCachedValues() |
| void | RecordDuplicatedNodeGuid(const FGuid & InGuid) |
| void | NotifySwapPropertyGraphArrayElements(const FName & InPropertyName, int32 IndexA, int32 IndexB, USMNodeInstance * InNodeInstance) |
| void | RunPreCompileValidateForNodeInstance(const USMNodeInstance * InNodeInstance, USMCompilerLog * InCompilerLog) |
Protected Functions inherited from USMGraphNode_Base
| Name | |
|---|---|
| void | DestroyAllPropertyGraphs() |
| bool | IsSafeToConditionallyCompile(EPropertyChangeType::Type ChangeType) const |
| virtual void | OnConvertToCurrentVersion(bool bOnlyOnLoad) |
| virtual FLinearColor | Internal_GetBackgroundColor() const |
| const FLinearColor * | GetCustomBackgroundColor(const USMNodeInstance * NodeInstance =nullptr) const |
| void | RemovePropertyGraph(USMPropertyGraph * PropertyGraph, bool RemoveFromMaps) |
| void | HandlePropertyGraphArrayRemoval(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 RemovalIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template) |
| void | HandlePropertyGraphArrayInsertion(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 InsertionIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template, bool bDuplicate =false) |
| void | HandlePropertyGraphArraySwap(TArray< FSMGraphProperty_Base * > & GraphProperties, int32 IndexA, int32 IndexB, USMNodeInstance * Template) |
| void | HandleOnPropertyChangedEvent(UObject * InObject, FPropertyChangedEvent & InPropertyChangedEvent) |
| int32 | GetLoadedVersion() const |
Public Attributes inherited from USMGraphNode_Base
| Name | |
|---|---|
| bool | bGenerateTemplateOnNodePlacement |
| uint32 | bRequiresGuidRegeneration |
| uint32 | bNeedsStateStackConversion |
| uint32 | bTEST_ForceNoTemplateGuid |
| TMap< FString, bool > | PropertyCategoriesExpanded |
Protected Attributes inherited from USMGraphNode_Base
| Name | |
|---|---|
| bool | bPostEditChangeConstructionRequiresFullRefresh |
| TArray< FSMGraphNodeLog > | CollectedLogs |
| TObjectPtr< UEdGraph > | BoundGraph |
| FVector2D | NodePosition |
| TObjectPtr< USMNodeInstance > | NodeInstanceTemplate |
| TMap< FGuid, TObjectPtr< UEdGraph > > | GraphPropertyGraphs |
| TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > | GraphPropertyNodes |
| TMap< FGuid, TObjectPtr< USMNodeInstance > > | GraphPropertyTemplates |
| TSet< FGuid > | DuplicatedNodeGuids |
| TSharedPtr< FSlateBrush > | CachedBrush |
| FString | CachedTexture |
| FVector2D | CachedTextureSize |
| FLinearColor | CachedNodeTintColor |
| float | DebugTotalTime |
| float | MaxTimeToShowDebug |
| uint32 | bIsDebugActive |
| uint32 | bWasDebugActive |
| uint32 | bIsPreCompiling |
| uint32 | bJustPasted |
| uint32 | bIsEditUndo |
| uint32 | bCreatePropertyGraphsOnPropertyChange |
| uint32 | bCreatePropertyGraphsSilently |
| uint32 | bChangeFromRedirect |
Friends inherited from USMGraphNode_Base
| Name | |
|---|---|
| class | SGraphNode_BaseNode |
Public Functions inherited from ISMEditorGraphNode_StateBaseInterface
| Name | |
|---|---|
| virtual FGameplayTagContainer & | GetAnyStateTags() =0 ![]() |
| virtual void | SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) =0 ![]() |
Public Functions inherited from ISMEditorGraphNodeInterface
| Name | |
|---|---|
| virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > | GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =0) const =0 ![]() |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =-1) const =0 ![]() |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const =0 ![]() |
| virtual FString | GetNodeName() const =0 ![]() |
| virtual bool | SetNodeName(const FString & NewName, FText & OutErrorMessage) =0 ![]() |
| virtual void | ResetNodeName() =0 ![]() |
| virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > | AsStateBaseInterface() =0 ![]() |
Public Functions Documentation¶
function PostEditChangeProperty¶
Reimplements: USMGraphNode_Base::PostEditChangeProperty
function GetJumpTargetForDoubleClick¶
Reimplements: USMGraphNode_Base::GetJumpTargetForDoubleClick
function DestroyNode¶
Reimplements: USMGraphNode_StateNodeBase::DestroyNode
function GetIconAndTint¶
function PlaceDefaultInstanceNodes¶
Place default nodes when a class is selected.
Reimplements: USMGraphNode_Base::PlaceDefaultInstanceNodes
function GetNodeClassPropertyName¶
Return the correct node class property name for the node type.
Reimplements: USMGraphNode_Base::GetNodeClassPropertyName
function GetNodeStackPropertyName¶
Reimplements: USMGraphNode_Base::GetNodeStackPropertyName
function GetNodeStackElementClassPropertyName¶
Reimplements: USMGraphNode_Base::GetNodeStackElementClassPropertyName
function GetNodeClass¶
Return the correct node class. This should be a TSubClass property in child nodes.
Reimplements: USMGraphNode_Base::GetNodeClass
function SetNodeClass¶
Reimplements: USMGraphNode_Base::SetNodeClass
function SupportsPropertyGraphs¶
If property graphs can be placed within this node.
Reimplements: USMGraphNode_Base::SupportsPropertyGraphs
function GetFriendlyNodeName¶
Reimplements: USMGraphNode_Base::GetFriendlyNodeName
function GetNodeIcon¶
The icon image to use.
Reimplements: USMGraphNode_Base::GetNodeIcon
function InitTemplate¶
Instantiate a template for use as an archetype.
Reimplements: USMGraphNode_Base::InitTemplate
function AreTemplatesFullyLoaded¶
Reimplements: USMGraphNode_Base::AreTemplatesFullyLoaded
function DoesNodePossiblyHaveConstructionScripts¶
Check if this node might have construction scripts.
Reimplements: USMGraphNode_Base::DoesNodePossiblyHaveConstructionScripts
function RunAllConstructionScripts_Internal¶
Runs all template construction scripts core behavior.
Reimplements: USMGraphNode_Base::RunAllConstructionScripts_Internal
function RestoreArchetypeValuesPriorToConstruction¶
Restore specific construction scripts values.
Reimplements: USMGraphNode_Base::RestoreArchetypeValuesPriorToConstruction
function PreCompileNodeInstanceValidation¶
virtual void PreCompileNodeInstanceValidation(
FCompilerResultsLog & CompilerContext,
USMCompilerLog * CompilerLog,
USMGraphNode_Base * OwningNode
) override
Called during kismet pre-compile specifically for node instances to run custom validation.
Reimplements: USMGraphNode_Base::PreCompileNodeInstanceValidation
function OnCompile¶
Called during kismet compile after this node has been cloned.
Reimplements: USMGraphNode_Base::OnCompile
function GetIndexOfTemplate¶
Retrieve the array index from the template guid.
Return: the array index or INDEX_NONE if not found.
Reimplements: USMGraphNode_Base::GetIndexOfTemplate
function GetAllNodeTemplates¶
Return every node template, starting with primary node template, followed by any stack items. All possible indices are filled so some items might be nullptr.
Reimplements: USMGraphNode_Base::GetAllNodeTemplates
function AddStackNode¶
virtual USMNodeInstance * AddStackNode(
TSubclassOf< USMNodeInstance > NodeClass,
int32 StackIndex
) override
Add a stack node to the graph node if applicable. Currently only supports state stacks.
Parameters:
NodeClass- The node class to be created.
StackIndex- The index to insert the node stack. Leave at -1 to place at the end.
Return: The stack instance created.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: USMGraphNode_Base::AddStackNode
function RemoveStackNode¶
Remove a stack node by index. Currently only supports state stacks.
Parameters:
StackIndex- The index to remove. Leave at -1 to remove from the end.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: USMGraphNode_Base::RemoveStackNode
function ClearStackNodes¶
Remove all nodes from the stack. Currently only supports state stacks.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: USMGraphNode_Base::ClearStackNodes
function GetAllNodeStackTemplates¶
Return all state stack templates.
function GetTemplateFromIndex¶
Retrieve the template instance from an index.
Return: the NodeInstance template.
Reimplements: USMGraphNode_Base::GetTemplateFromIndex
function InitStateStack¶
function DestroyStateStack¶
Public Attributes Documentation¶
variable StateClass¶
Select a custom node class to use for this node. This can be a blueprint or C++ class.
variable StateStack¶
Augment the state by adding additional state classes to perform logic processing.








