Navigation
API > API/Plugins > API/Plugins/ClonerEffector
Base class for layouts available in the cloner actor Steps to add a new layout :
Create a new system that extends from NS_ClonerBase and expose all the parent parameters (examples can be found in Content)
Extend this layout class and give it a unique name with the newly created system path
Expose all new system specific parameters in the layout extended class and update them when required Your new layout is ready and will be available in the cloner in the layout dropdown
| Name | UCEClonerLayoutBase |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/ClonerEffector/Source/ClonerEffector/Public/Cloner/Layouts/CEClonerLayoutBase.h |
| Include Path | #include "Cloner/Layouts/CEClonerLayoutBase.h" |
Syntax
UCLASS (MinimalAPI, Abstract, BlueprintType, AutoExpandCategories=("Layout"))
class UCEClonerLayoutBase : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UCEClonerLayoutBase
Derived Classes
UCEClonerLayoutBase derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Cloner/Layouts/CEClonerLayoutBase.h | |||
UCEClonerLayoutBase
(
const FName& InLayoutName, |
Cloner/Layouts/CEClonerLayoutBase.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnClonerLayoutLoaded | TMulticastDelegate_TwoParams< void, UCEClonerLayoutBase *, bool > | Cloner/Layouts/CEClonerLayoutBase.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| LayoutBaseAssetPath | TCHAR | Cloner/Layouts/CEClonerLayoutBase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CachedSystemHash | FString | Hash of the cached system for diffs | Cloner/Layouts/CEClonerLayoutBase.h |
|
| LayoutAssetPath | FString | Niagara System asset path for this layout | Cloner/Layouts/CEClonerLayoutBase.h |
|
| LayoutName | FName | Layout name to display in layout options | Cloner/Layouts/CEClonerLayoutBase.h |
|
| LayoutStatus | ECEClonerSystemStatus | Status for this layout | Cloner/Layouts/CEClonerLayoutBase.h | |
| LoadRequestIdentifier | int32 | Id for the load request initiated | Cloner/Layouts/CEClonerLayoutBase.h | |
| MeshRenderer | TObjectPtr< UNiagaraMeshRendererProperties > | Mesh renderer in this niagara system | Cloner/Layouts/CEClonerLayoutBase.h |
|
| NiagaraSystem | TObjectPtr< UNiagaraSystem > | Niagara system used for this layout, cached to save some time | Cloner/Layouts/CEClonerLayoutBase.h |
|
| OnClonerLayoutLoadedDelegate | FOnClonerLayoutLoaded | Cloner/Layouts/CEClonerLayoutBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool ActivateLayout() |
Activate this layout system on the cloner, must be loaded first | Cloner/Layouts/CEClonerLayoutBase.h | |
bool DeactivateLayout() |
Deactivate this layout system if active | Cloner/Layouts/CEClonerLayoutBase.h | |
AActor * GetClonerActor() |
Get the actor using this layout | Cloner/Layouts/CEClonerLayoutBase.h | |
UCEClonerComponent * GetClonerComponent() |
Get the cloner component using this layout | Cloner/Layouts/CEClonerLayoutBase.h | |
FString GetLayoutAssetPath() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
FName GetLayoutName() |
Cloner/Layouts/CEClonerLayoutBase.h |
|
|
UNiagaraMeshRendererProperties * GetMeshRenderer() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
TSet< TSubclassOf< UCEClonerExtensionBase > > GetSupportedExtensions() |
Gets the cloner extensions supported by this layout | Cloner/Layouts/CEClonerLayoutBase.h | |
UNiagaraSystem * GetSystem() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
virtual bool IsExtensionSupported
(
const UCEClonerExtensionBase* InExtension |
Filter supported extension for this layout | Cloner/Layouts/CEClonerLayoutBase.h | |
bool IsLayoutActive() |
Is this layout system in use within the cloner | Cloner/Layouts/CEClonerLayoutBase.h |
|
bool IsLayoutDirty() |
Is the cloner not up to date with layout parameters | Cloner/Layouts/CEClonerLayoutBase.h | |
bool IsLayoutLoaded() |
Is this layout system cached and ready to be used | Cloner/Layouts/CEClonerLayoutBase.h | |
bool IsLayoutValid() |
Checks if the niagara system asset is valid and usable with the cloner | Cloner/Layouts/CEClonerLayoutBase.h | |
void LoadLayout() |
Load this layout system if not already loaded | Cloner/Layouts/CEClonerLayoutBase.h | |
void MarkLayoutDirty
(
bool bInUpdateCloner |
Request refresh layout next tick | Cloner/Layouts/CEClonerLayoutBase.h | |
FOnClonerLayoutLoaded::RegistrationType & OnLayoutLoadedDelegate() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
bool UnloadLayout() |
Free the loaded system and return to idle state | Cloner/Layouts/CEClonerLayoutBase.h | |
void UpdateLayoutParameters() |
Updates all parameters handled by this layout | Cloner/Layouts/CEClonerLayoutBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnLayoutActive() |
Called after layout becomes active | Cloner/Layouts/CEClonerLayoutBase.h | |
virtual void OnLayoutInactive() |
Called after layout becomes inactive | Cloner/Layouts/CEClonerLayoutBase.h | |
virtual void OnLayoutLoaded() |
Called once after layout is loaded | Cloner/Layouts/CEClonerLayoutBase.h | |
virtual void OnLayoutParametersChanged
(
UCEClonerComponent* InComponent |
Called to reapply layout parameters | Cloner/Layouts/CEClonerLayoutBase.h | |
void OnLayoutPropertyChanged() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
virtual void OnLayoutUnloaded() |
Called once after layout is unloaded | Cloner/Layouts/CEClonerLayoutBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditImport() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
virtual void PostEditUndo() |
Cloner/Layouts/CEClonerLayoutBase.h | ||
virtual void PostLoad() |
Cloner/Layouts/CEClonerLayoutBase.h |