Skip to content

FSMGraphProperty_Base¶

Module: SMSystem

#include <SMGraphProperty_Base.h>

Inherits from FSMGraphProperty_Base_Runtime

Inherited by FSMGraphProperty, FSMTextGraphProperty

Description¶

struct FSMGraphProperty_Base;

EDITOR: The base struct for graph properties exposed on a node. Contains additional properties for configuration and compilation. Any graph property types should inherit from this.

Public Classes¶

Public Functions¶

Name
FSMGraphProperty_Base()
virtual const FGuid & SetGuid(const FGuid & NewGuid) override
const FGuid & SetGuid(const FGuid & NewGuid, int32 Index, bool bCountTemplate =true)
const FGuid & GenerateNewGuid()
const FGuid & GenerateNewGuidIfNotValid()
void InvalidateGuid()
const FGuid & SetTemplateGuid(const FGuid & NewGuid, bool bRefreshGuid =false)
const FGuid & GetTemplateGuid() const
const FGuid & GetUnmodifiedGuid() const
virtual bool ShouldAutoAssignVariable() const
virtual bool ShouldGenerateGuidFromVariable() const
virtual bool IsVariableReadOnly() const
virtual bool IsVariableHidden() const
virtual bool ShouldCompileReadOnlyVariables() const
virtual void GetVariableDetailsCustomization(FVariableDetailsCustomizationConfiguration & OutCustomizationConfiguration) const
virtual const FSMNodeWidgetInfo * GetWidgetInfo() const
virtual bool IsEditorThreadSafe() const
virtual UClass * GetGraphClass(UObject * Outer) const
virtual UClass * GetGraphSchemaClass(UObject * Outer) const
virtual const FString & GetGraphModuleName() const
virtual UPackage * GetEditorModule() const
virtual const FString & GetPropertyDisplayName() const
virtual int32 GetVerticalDisplayOrder() const
virtual bool AllowToggleGraphEdit() const
virtual bool ShouldDefaultToEditMode() const
FText GetDisplayName() const

Public Attributes¶

Name
FName VariableName
FEdGraphPinType VariableType
FMemberReference MemberReference
bool bIsInArray
bool bReadOnly
bool bHidden
FText RealDisplayName
int32 ArrayIndex

Protected Attributes¶

Name
FName GraphClassName
FName GraphSchemaClassName
FString GraphModuleClassName
TObjectPtr< UClass > CachedGraphClass
TObjectPtr< UClass > CachedSchemaClass
FGuid GuidUnmodified
FGuid TemplateGuid
int32 GuidIndex

Additional inherited members¶

Public Functions inherited from FSMGraphProperty_Base_Runtime

Name
FSMGraphProperty_Base_Runtime()
virtual ~FSMGraphProperty_Base_Runtime() =default
virtual void Initialize(FSMNode_Base * InOwningNode)
virtual void Execute(void * Params =nullptr, ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Both)
virtual FORCEINLINE uint8 * GetResult() const
virtual FORCEINLINE void SetResult(uint8 * Value)
FORCEINLINE const FGuid & GetGuid() const
virtual const FGuid & SetOwnerGuid(const FGuid & NewGuid)
FORCEINLINE const FGuid & GetOwnerGuid() const
void SetIsDefaultValueOnly(bool bNewValue)
FORCEINLINE bool GetIsDefaultValueOnly() const
FORCEINLINE bool IsInputProperty() const
FORCEINLINE bool IsOutputProperty() const
virtual FORCEINLINE FName GetResultPropertyName() const
virtual FORCEINLINE bool CanAcceptPropertyFlag(const ESMGraphPropertyFlags Flag) const
FORCEINLINE bool HasAnyPropertyFlags(const ESMGraphPropertyFlags Flag) const
FORCEINLINE bool HasAllPropertyFlags(const ESMGraphPropertyFlags Flag) const
FORCEINLINE bool AddPropertyFlags(const ESMGraphPropertyFlags Flag)
FORCEINLINE void RemovePropertyFlags(const ESMGraphPropertyFlags Flag)
FORCEINLINE bool SetPropertyFlags(const ESMGraphPropertyFlags NewFlags)
FORCEINLINE ESMGraphPropertyFlags GetPropertyFlags() const
FName GetPropertyFlagsPropertyName()

Public Attributes inherited from FSMGraphProperty_Base_Runtime

Protected Attributes inherited from FSMGraphProperty_Base_Runtime

Name
FSMNode_Base * OwningNode
FGuid Guid
FGuid OwnerGuid

Public Functions Documentation¶

function FSMGraphProperty_Base¶

FSMGraphProperty_Base()

function SetGuid¶

virtual const FGuid & SetGuid(
    const FGuid & NewGuid
) override

Reimplements: FSMGraphProperty_Base_Runtime::SetGuid


function SetGuid¶

const FGuid & SetGuid(
    const FGuid & NewGuid,
    int32 Index,
    bool bCountTemplate =true
)

function GenerateNewGuid¶

const FGuid & GenerateNewGuid()

function GenerateNewGuidIfNotValid¶

const FGuid & GenerateNewGuidIfNotValid()

function InvalidateGuid¶

void InvalidateGuid()

function SetTemplateGuid¶

const FGuid & SetTemplateGuid(
    const FGuid & NewGuid,
    bool bRefreshGuid =false
)

function GetTemplateGuid¶

inline const FGuid & GetTemplateGuid() const

function GetUnmodifiedGuid¶

inline const FGuid & GetUnmodifiedGuid() const

function ShouldAutoAssignVariable¶

inline virtual bool ShouldAutoAssignVariable() const

Used if this class should automatically assign itself to exposed variable properties.

Reimplemented by: FSMTextGraphProperty::ShouldAutoAssignVariable


function ShouldGenerateGuidFromVariable¶

inline virtual bool ShouldGenerateGuidFromVariable() const

Checked during duplication if the guid should be assigned from the variable.


function IsVariableReadOnly¶

virtual bool IsVariableReadOnly() const

If this variable should be considered read only when displaying on the node.


function IsVariableHidden¶

virtual bool IsVariableHidden() const

If this variable should not be displayed on the node.


function ShouldCompileReadOnlyVariables¶

inline virtual bool ShouldCompileReadOnlyVariables() const

If a read only graph should be compiled into the blueprint. If false then only the default value is stored.

Reimplemented by: FSMTextGraphProperty::ShouldCompileReadOnlyVariables


function GetVariableDetailsCustomization¶

inline virtual void GetVariableDetailsCustomization(
    FVariableDetailsCustomizationConfiguration & OutCustomizationConfiguration
) const

Called during variable customization when a variable in a node blueprint is selected.

Reimplemented by: FSMTextGraphProperty::GetVariableDetailsCustomization


function GetWidgetInfo¶

inline virtual const FSMNodeWidgetInfo * GetWidgetInfo() const

Return the widget info for this property.

Reimplemented by: FSMGraphProperty::GetWidgetInfo, FSMTextGraphProperty::GetWidgetInfo


function IsEditorThreadSafe¶

inline virtual bool IsEditorThreadSafe() const

If this property is considered thread safe in the editor. Nodes check this during compile and will update the overall editor thread safety of the owning node.

Reimplemented by: FSMTextGraphProperty::IsEditorThreadSafe


function GetGraphClass¶

virtual UClass * GetGraphClass(
    UObject * Outer
) const

Return the editor graph to use. The outer provided will be the editor module so the class can be retrieved.


function GetGraphSchemaClass¶

virtual UClass * GetGraphSchemaClass(
    UObject * Outer
) const

Return the editor graph schema to use. The outer provided will be the editor module so the class can be retrieved.


function GetGraphModuleName¶

virtual const FString & GetGraphModuleName() const

Return the simple name of the editor module to use for looking up the graph classes.


function GetEditorModule¶

virtual UPackage * GetEditorModule() const

Load and return the editor module package. This is what will be passed to GetGraphClass and GetGraphSchemaClass.


function GetPropertyDisplayName¶

virtual const FString & GetPropertyDisplayName() const

The desired name of this property. This may be used at some display points in the editor.


function GetVerticalDisplayOrder¶

inline virtual int32 GetVerticalDisplayOrder() const

The desired vertical location on the graph node for this widget to be displayed.

Deprecated:

Use DisplayOrder metadata for native properties or adjust the blueprint variable order in blueprints.

Reimplemented by: FSMGraphProperty::GetVerticalDisplayOrder, FSMTextGraphProperty::GetVerticalDisplayOrder


function AllowToggleGraphEdit¶

inline virtual bool AllowToggleGraphEdit() const

Should property be able to toggle between edit and view modes.

Reimplemented by: FSMTextGraphProperty::AllowToggleGraphEdit


function ShouldDefaultToEditMode¶

inline virtual bool ShouldDefaultToEditMode() const

Should property default to view or edit mode.

Reimplemented by: FSMTextGraphProperty::ShouldDefaultToEditMode


function GetDisplayName¶

FText GetDisplayName() const

Returns either the property display name or the RealDisplayName.


Public Attributes Documentation¶

variable VariableName¶

FName VariableName;

The node variable name to override.


variable VariableType¶

FEdGraphPinType VariableType;

variable MemberReference¶

FMemberReference MemberReference;

variable bIsInArray¶

bool bIsInArray;

variable bReadOnly¶

bool bReadOnly;

Display the variable as read only on the node.


variable bHidden¶

bool bHidden;

Prevent the variable from being displayed on the node. The property graph is still created and this variable will evaluate with EvaluateGraphProperties regardless of hidden status.


variable RealDisplayName¶

FText RealDisplayName;

Set when loaded in a graph node.


variable ArrayIndex¶

int32 ArrayIndex;

Set when loaded in a graph node in the event this is stored within an array.


Protected Attributes Documentation¶

variable GraphClassName¶

FName GraphClassName;

variable GraphSchemaClassName¶

FName GraphSchemaClassName;

variable GraphModuleClassName¶

FString GraphModuleClassName;

variable CachedGraphClass¶

TObjectPtr< UClass > CachedGraphClass;

variable CachedSchemaClass¶

TObjectPtr< UClass > CachedSchemaClass;

variable GuidUnmodified¶

FGuid GuidUnmodified;

The guid without the template.


variable TemplateGuid¶

FGuid TemplateGuid;

The guid of the template this belongs to.


variable GuidIndex¶

int32 GuidIndex;