USMGraphNode_StateMachineStateNode¶
Module: SMSystemEditor
Inherits from USMGraphNode_StateNodeBase, USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface
Inherited by USMGraphNode_StateMachineParentNode
Public Functions¶
Name | |
---|---|
virtual void | PostLoad() override |
virtual void | PostPlacedNewNode() override |
virtual void | PostPasteNode() override |
virtual void | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override |
virtual void | PostEditUndo() override |
virtual void | DestroyNode() override |
virtual void | ValidateNodeDuringCompilation(FCompilerResultsLog & MessageLog) const override |
virtual UObject * | GetJumpTargetForDoubleClick() const override |
virtual void | JumpToDefinition() const override |
virtual FSlateIcon | GetIconAndTint(FLinearColor & OutColor) const override |
virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) override |
virtual void | ImportDeprecatedProperties() override |
virtual void | CheckSetErrorMessages() override |
virtual FName | GetNodeClassPropertyName() 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 | GoToLocalGraph() const override |
virtual bool | CanGoToLocalGraph() const override |
virtual bool | IsNodeFastPathEnabled() const override |
virtual void | SetRuntimeDefaults(FSMState_Base & State) const override |
USMGraph * | GetBoundStateMachineGraph() const |
UObject * | GetReferenceToJumpTo() const |
void | JumpToReference() const |
void | SetDebugObjectForReference() const |
virtual bool | ReferenceStateMachine(USMBlueprint * OtherStateMachine) |
virtual void | InitStateMachineReferenceTemplate(bool bInitialLoad =false) |
void | DestroyReferenceTemplate() |
USMBlueprint * | GetStateMachineReference() const |
USMInstance * | GetStateMachineReferenceTemplateDirect() const |
void | SetUseIntermediateGraph(bool bValue) |
virtual void | CreateBoundGraph() |
virtual void | UpdateEditState() |
bool | IsStateMachineReference() const |
bool | IsBoundGraphInvalid() const |
bool | NeedsIntermediateGraph() const |
bool | HasIntermediateGraph() const |
bool | IsUsingIntermediateGraph() const |
bool | ShouldUseIntermediateGraph() const |
bool | ShouldUseTemplate() const |
bool | ShouldReuseCurrentState() const |
bool | ShouldReuseIfNotEndState() const |
bool | ShouldWaitForEndState() const |
bool | IsSwitchingGraphTypes() const |
FName | GetStateMachineReferencePropertyName() |
Protected Functions¶
Name | |
---|---|
virtual void | OnConvertToCurrentVersion(bool bOnlyOnLoad) override |
virtual FLinearColor | Internal_GetBackgroundColor() const override |
virtual bool | HasLogicStates() const |
void | ConfigureInitialReferenceTemplate() |
void | SetNodeClassFromReferenceTemplate() |
Protected Attributes¶
Name | |
---|---|
TObjectPtr< USMBlueprint > | ReferencedStateMachine |
FString | DesiredNodeName |
uint8 | bShouldUseIntermediateGraph |
uint8 | bNeedsNewReference |
uint8 | bSwitchingGraphTypes |
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 | PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override |
virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
virtual void | OnNodeMoved(const FVector2D & NewPosition) override |
virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override |
virtual void | ResetNodeName() override |
virtual FGameplayTagContainer & | GetAnyStateTags() override |
virtual void | SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) override |
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() |
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 | ~USMGraphNode_Base() override |
virtual TSharedPtr< INameValidatorInterface > | MakeNameValidator() const override |
virtual void | OnRenameNode(const FString & NewName) override |
virtual bool | CanJumpToDefinition() const override |
virtual bool | CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const override |
virtual void | ReconstructNode() override |
virtual void | PinConnectionListChanged(UEdGraphPin * Pin) 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 USMNodeInstance * | AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex) override |
virtual void | RemoveStackNode(int32 StackIndex) override |
virtual void | ClearStackNodes() 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 | PreCompileNodeInstanceValidation(FCompilerResultsLog & CompilerContext, USMCompilerLog * CompilerLog, USMGraphNode_Base * OwningNode =nullptr) |
virtual void | OnCompile(FSMKismetCompilerContext & CompilerContext) |
virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) |
virtual void | ResetDebugState() |
virtual void | OnWidgetConstruct() |
virtual void | UpdateTime(float DeltaTime) |
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 TArray< TSubclassOf< USMGraphNode_Base > > | GetAllowedDuplicateNodeNameTypes() const |
virtual const FGuid & | GetCorrectNodeGuid(bool * bIsRunTimeGuid =nullptr) const |
virtual void | InitTemplate() |
virtual void | DestroyTemplate() |
void | RunAllConstructionScripts() |
virtual bool | CanRunConstructionScripts() const |
virtual bool | DoesNodePossiblyHaveConstructionScripts() const |
bool | IsRunningConstructionScripts() const |
UClass * | GetDefaultNodeClass() const |
bool | IsUsingDefaultNodeClass() const |
bool | IsNodeClassNative() const |
virtual FName | GetNodeTemplatePropertyName() |
virtual FName | GetNodeStackPropertyName() |
virtual FName | GetNodeStackElementClassPropertyName() const |
USMNodeInstance * | GetNodeTemplate() const |
USMNodeInstance * | GetNodeTemplateFromGuid(const FGuid & Guid) const |
virtual bool | AreTemplatesFullyLoaded() const |
virtual int32 | GetIndexOfTemplate(const FGuid & Guid) const |
virtual USMNodeInstance * | GetTemplateFromIndex(int32 Index) const |
virtual void | GetAllNodeTemplates(TArray< USMNodeInstance * > & OutNodeInstances) 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) |
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() |
virtual void | PlaceDefaultInstanceNodes() |
virtual void | RunAllConstructionScripts_Internal() |
virtual void | RestoreArchetypeValuesPriorToConstruction() |
bool | IsSafeToConditionallyCompile(EPropertyChangeType::Type ChangeType) 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 USMNodeInstance * | AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex =INDEX_NONE) =0 |
virtual void | RemoveStackNode(int32 StackIndex =INDEX_NONE) =0 |
virtual void | ClearStackNodes() =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
PostLoad¶
function
PostPlacedNewNode¶
function
PostPasteNode¶
function
PostEditChangeProperty¶
function
PostEditUndo¶
function
DestroyNode¶
function
ValidateNodeDuringCompilation¶
function
GetJumpTargetForDoubleClick¶
function
JumpToDefinition¶
function
GetIconAndTint¶
function
PreCompile¶
function
ImportDeprecatedProperties¶
function
CheckSetErrorMessages¶
function
GetNodeClassPropertyName¶
function
GetNodeClass¶
function
SetNodeClass¶
function
SupportsPropertyGraphs¶
function
GetFriendlyNodeName¶
function
GetNodeIcon¶
function
GoToLocalGraph¶
function
CanGoToLocalGraph¶
function
IsNodeFastPathEnabled¶
function
SetRuntimeDefaults¶
function
GetBoundStateMachineGraph¶
Return the contained state machine graph.
function
GetReferenceToJumpTo¶
Returns the best graph of the reference to jump to.
function
JumpToReference¶
Jumps to the reference regardless of intermediate graph.
function
SetDebugObjectForReference¶
Tells the hyperlink target to use the current debug object.
function
ReferenceStateMachine¶
Signals that this state machine is actually a reference to another blueprint.
function
InitStateMachineReferenceTemplate¶
Instantiate a template for use as an archetype.
function
DestroyReferenceTemplate¶
Transfer the template to the transient package.
function
GetStateMachineReference¶
The blueprint state machine this node references.
function
GetStateMachineReferenceTemplateDirect¶
Return the pointer to the reference template.
function
SetUseIntermediateGraph¶
Signal if a reference graph should be used. Will create one if necessary.
function
CreateBoundGraph¶
Creates the appropriate bound graph depending on settings.
function
UpdateEditState¶
Set the read only state of the graph if this is a reference.
function
IsStateMachineReference¶
If this node references a state machine blueprint.
function
IsBoundGraphInvalid¶
function
NeedsIntermediateGraph¶
Doesn't have intermediate graph but requires it.
function
HasIntermediateGraph¶
Set but may not be in use.
function
IsUsingIntermediateGraph¶
Enabled and in use.
function
ShouldUseIntermediateGraph¶
User has indicated to use intermediate graph.
function
ShouldUseTemplate¶
If true a template will be generated.
function
ShouldReuseCurrentState¶
If the current state is reused on end/start
function
ShouldReuseIfNotEndState¶
Do not reuse if in an end state
function
ShouldWaitForEndState¶
If the FSM is configured to wait for an end state.
function
IsSwitchingGraphTypes¶
function
GetStateMachineReferencePropertyName¶
Return the protected ReferencedStateMachine property name.
Protected Functions Documentation¶
function
OnConvertToCurrentVersion¶
function
Internal_GetBackgroundColor¶
function
HasLogicStates¶
If this state machine contains any actual states.
function
ConfigureInitialReferenceTemplate¶
First time setup when enabling or disabling templates.
function
SetNodeClassFromReferenceTemplate¶
Checks the reference template for a node class assigned and sets it to this node if it is different.
Protected Attributes Documentation¶
variable
ReferencedStateMachine¶
variable
DesiredNodeName¶
variable
bShouldUseIntermediateGraph¶
variable
bNeedsNewReference¶
variable
bSwitchingGraphTypes¶
Private Attributes Documentation¶
variable
DynamicClassVariable¶
Dynamically choose the state machine class for the reference at run-time.
Select a variable from this state machine of type TSubclassOf
This variable will be checked during initialization time and the reference will be created based on the class the variable is set to.
The class should be a subclass of the default reference provided.
variable
bReuseCurrentState_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bReuseIfNotEndState_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bAllowIndependentTick¶
Allows the state machine reference to tick on its own.
variable
bCallTickOnManualUpdate¶
The Update method will call Tick only if Update was not called by native Tick.
variable
bReuseReference_DEPRECATED¶
Reuse one instance of this class multiple times in the same blueprint. Only works with other references of the exact same class that have this flag checked. Will not work with templating. Will not work properly with looking up nodes by Guid or for serializing state information. Do NOT use if the state machine needs to be saved to disk and reloaded during run-time.
This is to maintain legacy behavior and not encouraged for use.
Deprecated:
Reusing references is no longer supported.
variable
bUseTemplate¶
Enable the use of an archetype to allow default values to be set.
variable
ReferencedInstanceTemplate¶
variable
StateMachineClass¶
Select a custom node class to use for this node. This can be a blueprint or C++ class.