Navigation
API > API/Plugins > API/Plugins/RigVM > API/Plugins/RigVM/RigVMCore
Inheritance Hierarchy
- FGCObject
- FRigVMRegistry
References
| Module | RigVM |
| Header | /Engine/Plugins/Runtime/RigVM/Source/RigVM/Public/RigVMCore/RigVMRegistry.h |
| Include | #include "RigVMCore/RigVMRegistry.h" |
Syntax
struct FRigVMRegistry : public FGCObject
Remarks
The FRigVMRegistry is used to manage all known function pointers for use in the RigVM. The Register method is called automatically when the static struct is initially constructed for each USTRUCT hosting a RIGVM_METHOD enabled virtual function.
Inheriting from FGCObject to ensure that all type objects cannot be GCed
Constructors
No constructors are accessible with public or protected access.
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| const FRigVMTemplate * | AddTemplateFromArguments
(
const FName& InName, |
Adds a new template given its arguments. | |
| bool | CanMatchTypes
(
TRigVMTypeIndex InTypeIndexA, |
Returns true if the types can be matched. | |
| bool | ConvertExecuteContextToBaseType
(
TRigVMTypeIndex& InOutTypeIndex |
Converts the given execute context type to the base execute context type. | |
| FRigVMDispatchFactory * | FindDispatchFactory
(
const FName& InFactoryName |
Returns a dispatch factory given its name (or nullptr) | |
| const FRigVMFunction * | FindFunction
(
UScriptStruct* InStruct, |
Returns the function given its backing up struct and method name. | |
| const FRigVMFunction * | FindFunction
(
const TCHAR* InName |
Returns the function given its name (or nullptr) | |
| FRigVMDispatchFactory * | Returns a dispatch factory given its static struct (or nullptr) | ||
| FRigVMDispatchFactory * | FindOrAddDispatchFactory
(
UScriptStruct* InFactoryStruct |
Returns a dispatch factory given its static struct (or nullptr) | |
| FString | Returns a dispatch factory's singleton function name if that exists. | ||
| FString | FindOrAddSingletonDispatchFunction
(
UScriptStruct* InFactoryStruct |
Returns a dispatch factory's singleton function name if that exists. | |
| TRigVMTypeIndex | FindOrAddType
(
const FRigVMTemplateArgumentType& InType |
Adds a type if it doesn't exist yet and returns its index. This function is not thead-safe | |
| const FRigVMTemplate * | FindTemplate
(
const FName& InNotation, |
Returns a template pointer given its notation (or nullptr) | |
| const FRigVMTemplateArgumentType & | FindTypeFromCPPType
(
const FString& InCPPType |
Returns the type given only its cpp type. | |
| FRigVMRegistry & | Get () |
Returns the singleton registry. | |
| int32 | GetArrayDimensionsForType
(
TRigVMTypeIndex InTypeIndex |
Returns the dimensions of the array. | |
| TRigVMTypeIndex | GetArrayTypeFromBaseTypeIndex
(
TRigVMTypeIndex InTypeIndex |
Returns the type index of the array matching the given element type index. | |
| TRigVMTypeIndex | GetBaseTypeFromArrayTypeIndex
(
TRigVMTypeIndex InTypeIndex |
Returns the type index of the element matching the given array type index. | |
| const TArray< TRigVMTypeIndex > & | GetCompatibleTypes
(
TRigVMTypeIndex InTypeIndex |
Returns the list of compatible types for a given type. | |
| const TArray< FRigVMDispatchFactory * > & | GetFactories () |
Returns all dispatch factories. | |
| const TChunkedArray< FRigVMFunction > & | GetFunctions () |
Returns all current rigvm functions. | |
| uint32 | GetHashForEnum
(
const UEnum* InEnum, |
||
| uint32 | GetHashForProperty
(
const FProperty* InProperty |
||
| uint32 | GetHashForScriptStruct
(
const UScriptStruct* InScriptStruct, |
||
| uint32 | GetHashForStruct
(
const UStruct* InStruct |
||
| uint32 | GetHashForType
(
TRigVMTypeIndex InTypeIndex |
Returns a unique hash per type index. | |
| const TArray< UScriptStruct * > & | GetMathTypes () |
||
| const FRigVMTemplate * | GetOrAddTemplateFromArguments
(
const FName& InName, |
Defines and retrieves a template given its arguments. | |
| const TArray< FRigVMFunction > * | GetPredicatesForStruct
(
const FName& InStructName |
Given a struct name, return the predicates. | |
| const TChunkedArray< FRigVMTemplate > & | GetTemplates () |
Returns all current rigvm functions. | |
| const FRigVMTemplateArgumentType & | GetType
(
TRigVMTypeIndex InTypeIndex |
Returns the type given its index. | |
| TRigVMTypeIndex | GetTypeIndex
(
bool bAsArray |
Returns the type index given a struct. | |
| TRigVMTypeIndex | GetTypeIndex
(
bool bAsArray |
Returns the type index given a struct. | |
| TRigVMTypeIndex | GetTypeIndex
(
bool bAsArray |
Returns the type index given an enum. | |
| TRigVMTypeIndex | GetTypeIndex
(
const FRigVMTemplateArgumentType& InType |
Returns the type index given a type. | |
| TRigVMTypeIndex | GetTypeIndex
(
const FName& InCPPType, |
Returns the type index given a cpp type and a type object. | |
| TRigVMTypeIndex | GetTypeIndex
(
bool bAsArray |
Returns the type index given an object. | |
| TRigVMTypeIndex | GetTypeIndexFromCPPType
(
const FString& InCPPType |
Returns the type index given only its cpp type. | |
| const TArray< TRigVMTypeIndex > & | GetTypesForCategory
(
FRigVMTemplateArgument::ETypeCategory InCategory |
Returns all compatible types given a category. | |
| void | Initializes the registry by storing the defaults. | ||
| bool | IsArrayType
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is an array. | |
| bool | IsExecuteType
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is an execute type. | |
| bool | IsWildCardType
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is a wildcard type. | |
| int32 | NumTypes () |
Returns the number of types. | |
| void | OnAnimationAttributeTypesChanged
(
const UScriptStruct* InStruct, |
Update the registry when new types are added to the attribute system so that they can be selected on Attribute Nodes | |
| void | OnAssetRemoved
(
const FAssetData& InAssetData |
Update the registry when old types are removed. | |
| void | OnAssetRenamed
(
const FAssetData& InAssetData, |
Update the registry when types are renamed. | |
| FOnRigVMRegistryChanged & | Notifies other system that types have been added/removed, and template permutations have been updated. | ||
| void | Refreshes the list and finds the function pointers based on the names. | ||
| void | Register
(
const TCHAR* InName, |
Registers a function given its name. | |
| const FRigVMDispatchFactory * | RegisterFactory
(
UScriptStruct* InFactoryStruct |
Registers a dispatch factory given its struct. | |
| void | RegisterPredicate
(
UScriptStruct* InStruct, |
Register a predicate contained in the input struct. | |
| bool | RemoveType
(
const FAssetData& InAssetData |
Removes a type from the registry, and updates all dependent templates which also creates invalid permutations in templates that we should ignore | |
| void | Reset () |
Clear the registry. |
Overridden from FGCObject
| Type | Name | Description | |
|---|---|---|---|
| void | AddReferencedObjects
(
FReferenceCollector& Collector |
Pure virtual that must be overloaded by the inheriting class. | |
| FString | Overload this method to report a name for your referencer |
Typedefs
| Name | Description |
|---|---|
| FOnRigVMRegistryChanged |