Navigation
API > API/Plugins > API/Plugins/ExampleCharacterFXEditor
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- USubsystem
- UDynamicSubsystem
- UEditorSubsystem
- UExampleCharacterFXEditorSubsystem
References
| Module | ExampleCharacterFXEditor |
| Header | /Engine/Plugins/Experimental/CharacterFXEditor/ExampleCharacterFXEditor/Source/ExampleCharacterFXEditor/Public/ExampleCharacterFXEditorSubsystem.h |
| Include | #include "ExampleCharacterFXEditorSubsystem.h" |
Syntax
UCLASS&40;&41;
class UExampleCharacterFXEditorSubsystem : public UEditorSubsystem
Remarks
Typically an Editor's Subsystem would be where the actual Asset editing happens when the user presses a button in the Editor, the Subsystem would apply the change to the Asset. In this example editor, however, we are using the InteractiveToolsFramework for much of this machinery.
This class still is useful if the Editor is not the default editor for a particular asset type. In this case, having an EditorSubsystem enables spawning the Editor for prescribed asset types (e.g. StaticMesh, SkeletalMesh).
It's included here as an example, but if the concrete AssetEditor is associated with an asset type this class may not be necessary.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TMap< TObjectPtr< UObject >, TObjectPtr< UExampleCharacterFXEditor > > | OpenedEditorInstances | Manage instances of the editor. | |
| TObjectPtr< UToolTargetManager > | ToolTargetManager | Used to let the subsystem figure out whether targets are valid. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AreAssetsValidTargets
(
const TArray< FAssetData >& InAssets |
Checks that all of the assets are valid targets for an editor session. | |
| bool | AreObjectsValidTargets
(
const TArray< UObject* >& InObjects |
Checks that all of the objects are valid targets for an editor session. | |
| void | BuildTargets
(
const TArray< TObjectPtr< UObject >>& ObjectsIn, |
Tries to build the core targets that provide meshes for tools to work on. | |
| void | CreateToolTargetFactories
(
TArray< TObjectPtr< UToolTargetFactory >>& Factories |
Create tool target factories based on what type of tool targets are supported | |
| void | NotifyThatExampleCharacterFXEditorClosed
(
TArray< TObjectPtr< UObject >> ObjectsItWasEditing |
Needs to be called when an editor instance is closed so that the subsystem knows to create a new one for these objects if they are opened again. | |
| void | StartExampleCharacterFXEditor
(
TArray< TObjectPtr< UObject >> ObjectsToEdit |
Either brings to the front an existing editor instance that is editing one of these objects, if one exists, or starts up a new instance editing all of these objects. |
Overridden from USubsystem
| Type | Name | Description | |
|---|---|---|---|
| void | Deinitialize () |
Implement this for deinitialization of instances of the system | |
| void | Initialize
(
FSubsystemCollectionBase& Collection |
Implement this for initialization of instances of the system |