Navigation
API > API/Plugins > API/Plugins/ActorModifierCore
Abstract base class for all modifier, a modifier must be located in a modifier stack to work properly
| Name | UActorModifierCoreBase |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/ActorModifierCore/Source/ActorModifierCore/Public/Modifiers/ActorModifierCoreBase.h |
| Include Path | #include "Modifiers/ActorModifierCoreBase.h" |
Syntax
UCLASS (MinimalAPI, NotBlueprintable, Abstract, EditInlineNew,
HideCategories=(Tags, AssetUserData, Activation, Collision, Cooking))
class UActorModifierCoreBase : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UActorModifierCoreBase
Derived Classes
UActorModifierCoreBase derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UActorModifierCoreBase() |
Modifiers/ActorModifierCoreBase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bModifierApplied | bool | Is the modifier applied and whether it can be un-applied | Modifiers/ActorModifierCoreBase.h | |
| bModifierDirty | bool | Is the modifier dirty and needs an update | Modifiers/ActorModifierCoreBase.h | |
| bModifierEnabled | bool | Is the modifier enabled or disabled | Modifiers/ActorModifierCoreBase.h |
|
| bModifierExecutionLocked | bool | When marked dirty will not execute and prevent stack from executing | Modifiers/ActorModifierCoreBase.h | |
| bModifierIdle | bool | Is the modifier idle and not running | Modifiers/ActorModifierCoreBase.h | |
| bModifierInitialized | bool | Only initialize a modifier once, after creation or load | Modifiers/ActorModifierCoreBase.h | |
| bModifierOptimized | bool | This modifier is optimized in the stack | Modifiers/ActorModifierCoreBase.h | |
| Metadata | TSharedPtr< FActorModifierCoreMetadata > | This modifier metadata, same metadata for this modifier class | Modifiers/ActorModifierCoreBase.h | |
| ModifiedActor | TWeakObjectPtr< AActor > | Modifiers/ActorModifierCoreBase.h | ||
| ModifierExtensions | TMap< FName, TSharedPtr< FActorModifierCoreExtension, ESPMode::ThreadSafe > > | Map of typed extensions, will follow this modifier lifecycle | Modifiers/ActorModifierCoreBase.h | |
| Profiler | TSharedPtr< FActorModifierCoreProfiler > | This modifier profiler | Modifiers/ActorModifierCoreBase.h | |
| Status | FActorModifierCoreStatus | This modifier last status message | Modifiers/ActorModifierCoreBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ForEachActor
(
TFunctionRef< bool(InActorClass*)> InFunction, |
Helper to lookup actors, by default will loop through this actor direct children, stops when false is returned | Modifiers/ActorModifierCoreBase.h | |
bool ForEachComponent
(
TFunctionRef< bool(InComponentClass*)> InFunction, |
Helper to lookup components type, by default will loop through this actor components, stops when false is returned | Modifiers/ActorModifierCoreBase.h | |
AActor * GetModifiedActor() |
Returns the modified actor for this modifier | Modifiers/ActorModifierCoreBase.h | |
FName GetModifierCategory() |
Returns this modifier category | Modifiers/ActorModifierCoreBase.h | |
UActorModifierCoreComponent * GetModifierComponent() |
Returns the modifier this stack is in | Modifiers/ActorModifierCoreBase.h | |
const FActorModifierCoreStatus & GetModifierLastStatus() |
Gets the modifier last status | Modifiers/ActorModifierCoreBase.h | |
const FActorModifierCoreMetadata & GetModifierMetadata() |
Returns modifier metadata | Modifiers/ActorModifierCoreBase.h | |
FName GetModifierName() |
Returns this modifier unique name | Modifiers/ActorModifierCoreBase.h | |
UActorModifierCoreStack * GetModifierStack() |
Returns the stack this modifier is in | Modifiers/ActorModifierCoreBase.h | |
const UActorModifierCoreBase * GetNextModifier() |
Returns the next modifier found after this one, will recurse upwards, could return a stack | Modifiers/ActorModifierCoreBase.h | |
const UActorModifierCoreBase * GetNextNameModifier
(
const FName& InModifierName |
Returns the first modifier after this one that matches the name, will recurse upwards, could return a stack | Modifiers/ActorModifierCoreBase.h | |
const UActorModifierCoreBase * GetPreviousModifier() |
Returns the previous modifier found before this one, will recurse upwards, could return a stack | Modifiers/ActorModifierCoreBase.h | |
const UActorModifierCoreBase * GetPreviousNameModifier
(
const FName& InModifierName |
Returns the first modifier before this one that matches the name, will recurse upwards, could return a stack | Modifiers/ActorModifierCoreBase.h | |
TSharedPtr< FActorModifierCoreProfiler > GetProfiler() |
Gets the modifier profiler | Modifiers/ActorModifierCoreBase.h | |
UActorModifierCoreStack * GetRootModifierStack() |
Returns the top root stack this modifier is in | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierApplied() |
Whether this modifier is applied and can be restored | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierDirty() |
Whether this modifier is set as dirty | Modifiers/ActorModifierCoreBase.h | |
virtual bool IsModifierEmpty() |
Whether this modifier contains other modifiers | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierEnabled() |
Modifiers/ActorModifierCoreBase.h | ||
bool IsModifierExecutionLocked() |
Is the execution of this modifier locked | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierIdle() |
Whether this modifier is idle and not running | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierInitialized() |
Whether this modifier was initialized and is now ready to operate | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierProfiling() |
Is this modifier in profiling mode | Modifiers/ActorModifierCoreBase.h | |
bool IsModifierStack() |
Whether this modifier is a stack to avoid casting | Modifiers/ActorModifierCoreBase.h | |
void MarkModifierDirty
(
bool bExecute |
Set this modifier as dirty to be able to execute only dirty modifiers | Modifiers/ActorModifierCoreBase.h | |
void ProcessLockFunction
(
TFunctionRef< void()> InFunction |
Locks this modifier execution and process a function before unlocking it | Modifiers/ActorModifierCoreBase.h | |
void SetModifierEnabled
(
bool bInEnabled |
Modifiers/ActorModifierCoreBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
InExtensionClass * AddExtension
(
InArgTypes&&... InArgs |
Adds an extension of a specific type to this modifier with its arguments or gets it if it already exists | Modifiers/ActorModifierCoreBase.h | |
virtual void Apply() |
Override in child classes, apply this modifier on the actual actor, call Next or Fail to complete the modifier execution | Modifiers/ActorModifierCoreBase.h | |
void DeferInitializeModifier() |
Modifiers/ActorModifierCoreBase.h | ||
void Fail
(
const FText& InFailReason |
The modifier failed executing, do not continue and stop here | Modifiers/ActorModifierCoreBase.h | |
InExtensionClass * GetExtension () |
Gets an extension with this type, casted version | Modifiers/ActorModifierCoreBase.h | |
FActorModifierCoreExtension * GetExtension
(
const FName& InExtensionType |
Gets an extension of this specific type | Modifiers/ActorModifierCoreBase.h | |
InSharedClass * GetShared
(
bool bInCreateIfNone |
Get shared object of that specific class or create one if none was found, casted version | Modifiers/ActorModifierCoreBase.h | |
UActorModifierCoreSharedObject * GetShared
(
TSubclassOf< UActorModifierCoreSharedObject > InClass, |
Get shared object of that specific class or create one if none was found | Modifiers/ActorModifierCoreBase.h | |
virtual bool IsModifierDirtyable() |
You can do additional lightweights checks here in case you want to dirty the modifier instead of waiting for an event, tick must be enabled in the metadata | Modifiers/ActorModifierCoreBase.h | |
virtual bool IsModifierReady() |
Checks whether this modifier is ready to run, called before this modifier is executed | Modifiers/ActorModifierCoreBase.h | |
void LogModifier
(
const FString& InLog, |
Logs modifier message if in profiling mode or forced | Modifiers/ActorModifierCoreBase.h | |
void Next() |
The modifier was executed properly, skip to the next one | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifiedActorTransformed() |
Called when modified actor transform is updated if this modifier is enabled | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifierAdded
(
EActorModifierCoreEnableReason InReason |
Called after the modifier was added to a stack and initialized after creation or serialization or duplication | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifierCDOSetup
(
FActorModifierCoreMetadata& InMetadata |
Override metadata for this modifier, called only once before modifier CDO is registered | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifierDisabled
(
EActorModifierCoreDisableReason InReason |
Called when a modifier is disabled | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifierEnabled
(
EActorModifierCoreEnableReason InReason |
Called when a modifier is enabled | Modifiers/ActorModifierCoreBase.h | |
virtual void OnModifierRemoved
(
EActorModifierCoreDisableReason InReason |
Called after the modifier is removed from a stack and uninitialized after actor destruction | Modifiers/ActorModifierCoreBase.h | |
bool ProcessExtension
(
TFunctionRef< void(InExtensionClass*)> InFunction |
Executes the function for that extension if it exists, returns true if execution was successful | Modifiers/ActorModifierCoreBase.h | |
bool RemoveExtension
(
const FName& InExtensionType |
Removes an extension of this type from this modifier | Modifiers/ActorModifierCoreBase.h | |
virtual void RestorePreState() |
Override in child classes, unapply this modified changes and restore the state before this modifier is applied | Modifiers/ActorModifierCoreBase.h | |
virtual void SavePreState() |
Override in child classes, called before applying this modifier | Modifiers/ActorModifierCoreBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostDuplicate
(
EDuplicateMode::Type DuplicateMode |
Modifiers/ActorModifierCoreBase.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& InPropertyChangedEvent |
Modifiers/ActorModifierCoreBase.h | ||
virtual void PostEditImport() |
Modifiers/ActorModifierCoreBase.h | ||
virtual void PostEditUndo() |
Modifiers/ActorModifierCoreBase.h | ||
virtual void PostLoad() |
Modifiers/ActorModifierCoreBase.h | ||
virtual void PreEditUndo() |
Modifiers/ActorModifierCoreBase.h |