USMGraphNode_StateNodeBase¶
Module: SMSystemEditor
#include <SMGraphNode_StateNodeBase.h>
Inherits from USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface
Inherited by USMGraphNode_AnyStateNode, USMGraphNode_ConduitNode, USMGraphNode_LinkStateNode, USMGraphNode_RerouteNode, USMGraphNode_StateMachineEntryNode, USMGraphNode_StateMachineStateNode, USMGraphNode_StateNode
Description¶
Base class required as states and conduits branch separately from a common source.
Public Functions¶
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 | DestroyNode() 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¶
Name | |
---|---|
virtual FLinearColor | Internal_GetBackgroundColor() const override |
Friends¶
Name | |
---|---|
class | SGraphNode_StateNode |
class | USMGraphNode_LinkStateNode |
Additional inherited members¶
Public Functions inherited from USMGraphNode_Base
Name | |
---|---|
virtual void | Serialize(FArchive & Ar) override |
virtual void | PostLoad() override |
virtual | ~USMGraphNode_Base() override |
virtual void | PostEditUndo() override |
virtual TSharedPtr< INameValidatorInterface > | MakeNameValidator() const override |
virtual UObject * | GetJumpTargetForDoubleClick() const 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 | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) 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 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 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 | 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 |
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 | InitTemplate() |
virtual void | DestroyTemplate() |
void | RunAllConstructionScripts() |
virtual bool | CanRunConstructionScripts() const |
virtual bool | DoesNodePossiblyHaveConstructionScripts() const |
bool | IsRunningConstructionScripts() const |
virtual FName | GetNodeClassPropertyName() const |
virtual UClass * | GetNodeClass() const |
virtual void | SetNodeClass(UClass * Class) |
UClass * | GetDefaultNodeClass() const |
bool | IsUsingDefaultNodeClass() const |
bool | IsNodeClassNative() const |
virtual bool | IsNodeFastPathEnabled() 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 bool | SupportsPropertyGraphs() 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 const FSlateBrush * | GetNodeIcon() 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 |
virtual FName | GetFriendlyNodeName() 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 |
virtual void | OnConvertToCurrentVersion(bool bOnlyOnLoad) |
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 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 TScriptInterface< ISMEditorGraphNode_StateBaseInterface > | AsStateBaseInterface() =0 |
Public Functions Documentation¶
function
AllocateDefaultPins¶
Reimplemented by: USMGraphNode_AnyStateNode::AllocateDefaultPins, USMGraphNode_LinkStateNode::AllocateDefaultPins, USMGraphNode_StateMachineEntryNode::AllocateDefaultPins
function
GetNodeTitle¶
Reimplemented by: USMGraphNode_AnyStateNode::GetNodeTitle, USMGraphNode_LinkStateNode::GetNodeTitle, USMGraphNode_StateMachineEntryNode::GetNodeTitle
function
GetCanRenameNode¶
Reimplemented by: USMGraphNode_RerouteNode::GetCanRenameNode
function
OnRenameNode¶
Reimplements: USMGraphNode_Base::OnRenameNode
Reimplemented by: USMGraphNode_AnyStateNode::OnRenameNode, USMGraphNode_LinkStateNode::OnRenameNode, USMGraphNode_RerouteNode::OnRenameNode
function
AutowireNewNode¶
function
PostPlacedNewNode¶
Reimplements: USMGraphNode_Base::PostPlacedNewNode
Reimplemented by: USMGraphNode_AnyStateNode::PostPlacedNewNode, USMGraphNode_LinkStateNode::PostPlacedNewNode, USMGraphNode_RerouteNode::PostPlacedNewNode, USMGraphNode_StateMachineEntryNode::PostPlacedNewNode
function
PostPasteNode¶
Reimplements: USMGraphNode_Base::PostPasteNode
Reimplemented by: USMGraphNode_AnyStateNode::PostPasteNode, USMGraphNode_LinkStateNode::PostPasteNode, USMGraphNode_RerouteNode::PostPasteNode, USMGraphNode_StateMachineEntryNode::PostPasteNode
function
DestroyNode¶
Reimplements: USMGraphNode_Base::DestroyNode
Reimplemented by: USMGraphNode_LinkStateNode::DestroyNode, USMGraphNode_StateNode::DestroyNode
function
PostEditChangeChainProperty¶
virtual void PostEditChangeChainProperty(
FPropertyChangedChainEvent & PropertyChangedEvent
) override
function
PinConnectionListChanged¶
Reimplements: USMGraphNode_Base::PinConnectionListChanged
function
ImportDeprecatedProperties¶
Brings in old values previously defined in the node and sets them on the template.
Reimplements: USMGraphNode_Base::ImportDeprecatedProperties
function
OnNodeMoved¶
Called by slate when the node is moved.
Reimplements: USMGraphNode_Base::OnNodeMoved
function
OnBoundGraphRenamed¶
Called after the bound graph has been renamed.
Reimplements: USMGraphNode_Base::OnBoundGraphRenamed
function
PreCompile¶
Called during kismet pre-compile before the bound graph is copied to the consolidated event graph.
Reimplements: USMGraphNode_Base::PreCompile
Reimplemented by: USMGraphNode_LinkStateNode::PreCompile, USMGraphNode_RerouteNode::PreCompile
function
ResetNodeName¶
Reset a node name back to its default.
Reimplements: USMGraphNode_Base::ResetNodeName
function
GetAnyStateTags¶
Retrieve the Any State tags used by the state node.
Reimplements: ISMEditorGraphNode_StateBaseInterface::GetAnyStateTags
function
SetAnyStateTags¶
Set the Any State tags used by the state node. These can be modified during construction scripts.
Reimplements: ISMEditorGraphNode_StateBaseInterface::SetAnyStateTags
function
SetRuntimeDefaults¶
Copy configuration settings to the runtime node.
function
GetStateName¶
Reimplemented by: USMGraphNode_AnyStateNode::GetStateName, USMGraphNode_LinkStateNode::GetStateName
function
IsEndState¶
Checks if there are no outbound transitions.
Parameters:
bCheckAnyState
- Checks if an Any State will prevent this from being an end state.
Reimplemented by: USMGraphNode_LinkStateNode::IsEndState, USMGraphNode_RerouteNode::IsEndState
function
HasInputConnections¶
Checks if there are any connections to this node. Does not count self.
function
HasOutputConnections¶
Checks if there are any connections from this node.
function
ShouldDefaultTransitionsToParallel¶
If transitions are supposed to run in parallel.
function
ShouldExcludeFromAnyState¶
If this node shouldn't receive transitions from an Any State.
function
HasTransitionToNode¶
Checks if there is a node connected via outgoing transition.
function
HasTransitionFromNode¶
Checks if there is a node connected via incoming transition.
function
GetPreviousNode¶
Returns the previous node, regardless of if it is a state or transition.
function
GetNextNode¶
Returns the next node, regardless of if it is a state or transition.
function
GetPreviousState¶
USMGraphNode_StateNodeBase * GetPreviousState(
int32 Index =0,
bool bIncludeReroute =false,
bool bIncludeEntryState =false
) const
Returns the previous node at the given input linked to index.
function
GetNextState¶
Returns the next node at the given output linked to index.
function
GetPreviousTransition¶
Returns a transition going to the input pin.
function
GetNextTransition¶
Returns a transitions from the output pin.
function
GetInputTransitions¶
Return all transitions to the input pin.
function
GetOutputTransitions¶
Return all transitions from the output pin.
function
GetNumInputConnections¶
Return the total number of input connections. Not necessarily transitions such as when coming from an entry state.
function
GetNumOutputConnections¶
Return the total number of output connections.
function
GetConnectedEntryPin¶
Return the entry pin if this states is connected to an entry node, nullptr otherwise.
function
GetBackgroundColorForNodeInstance¶
function
GetLinkStates¶
Return any Link States pointing to this node.
function
RemoveInvalidLinkStates¶
Checks for any Link States that don't exist and remove them.
function
RefreshConnectedTransitions¶
Notify any transitions they should refresh.
Protected Functions Documentation¶
function
Internal_GetBackgroundColor¶
Reimplements: USMGraphNode_Base::Internal_GetBackgroundColor
Reimplemented by: USMGraphNode_AnyStateNode::Internal_GetBackgroundColor, USMGraphNode_LinkStateNode::Internal_GetBackgroundColor, USMGraphNode_RerouteNode::Internal_GetBackgroundColor
Private Attributes Documentation¶
variable
AnyStateTags¶
Add tags to this state that Any State nodes will recognize. This can allow control over which specific Any State nodes should impact this state.
On the Any State you can define an AnyStateTagQuery to control which tags an Any State should recognize. Only valid in the editor.
variable
bAlwaysUpdate_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bDisableTickTransitionEvaluation_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bEvalTransitionsOnStart_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bExcludeFromAnyState_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable
bCanTransitionToSelf¶
Set by the editor and read by the schema to allow self transitions. We don't want to drag / drop self transitions because a single pin click will trigger them. There doesn't seem to be an ideal way for the schema to detect mouse movement to prevent single clicks when in CanCreateConnection, so we're relying on a context menu.
variable
bRequestInitialAnimation¶
variable
LinkStates¶
Link States linking to this state.