Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzToolsFramework::Prefab::PrefabConversionUtils::EditorOnlyEntityHandler Class Referenceabstract

#include <EditorOnlyEntityHandler.h>

Inherited by AzToolsFramework::Prefab::PrefabConversionUtils::UiEditorOnlyEntityHandler, and AzToolsFramework::Prefab::PrefabConversionUtils::WorldEditorOnlyEntityHandler.

Public Types

using Result = AZ::Outcome< void, AZStd::string >
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (EditorOnlyEntityHandler, AZ::SystemAllocator)
 
 AZ_RTTI (AzToolsFramework::Prefab::PrefabConversionUtils::EditorOnlyEntityHandler, "{C420F65D-18AE-4CAF-BB18-70FA4FE73243}")
 
virtual bool IsEntityUniquelyForThisHandler (AZ::Entity *entity) const =0
 
virtual void AddEditorOnlyEntity (AZ::Entity *editorOnlyEntity, AZStd::unordered_set< AZ::EntityId > &editorOnlyEntities)
 
virtual Result HandleEditorOnlyEntities (const EntityList &, const EntityIdSet &, AZ::SerializeContext &)
 

Static Public Member Functions

static Result ValidateReferences (const EntityList &entities, const EntityIdSet &editorOnlyEntityIds, AZ::SerializeContext &serializeContext)
 

Detailed Description

Callback handler interface for processing prefab prior to stripping of editor-only entities.

Member Function Documentation

◆ AddEditorOnlyEntity()

virtual void AzToolsFramework::Prefab::PrefabConversionUtils::EditorOnlyEntityHandler::AddEditorOnlyEntity ( AZ::Entity *  editorOnlyEntity,
AZStd::unordered_set< AZ::EntityId > &  editorOnlyEntities 
)
virtual

Adds the given entity ID to the set of editor only entities.

Handlers can customize this behavior, such as additionally adding child entities when a parent is marked as editor-only.

Reimplemented in AzToolsFramework::Prefab::PrefabConversionUtils::UiEditorOnlyEntityHandler.

◆ HandleEditorOnlyEntities()

virtual Result AzToolsFramework::Prefab::PrefabConversionUtils::EditorOnlyEntityHandler::HandleEditorOnlyEntities ( const EntityList &  ,
const EntityIdSet &  ,
AZ::SerializeContext &   
)
virtual

This handler is responsible for making any necessary modifications to other entities in the Prefab prior to the removal of all editor-only entities. After this callback returns, editor-only entities will be removed from the Prefab. See WorldEditorOnlyEntityHandler below for an example of processing and validation that occurs for standard world entities.

Parameters
entitiesa list of all entities in the Prefab, including those marked as editor-only.
editorOnlyEntityIdsa precomputed set containing Ids for all entities within the 'entities' list that were marked as editor-only.
serializeContextuseful to inspect entity data for validation purposes.

Reimplemented in AzToolsFramework::Prefab::PrefabConversionUtils::UiEditorOnlyEntityHandler, and AzToolsFramework::Prefab::PrefabConversionUtils::WorldEditorOnlyEntityHandler.


The documentation for this class was generated from the following file: