Open 3D Engine AzCore 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.
AZ::SliceEntityHierarchyInterface Class Reference

#include <SliceBus.h>

Inherits AZ::ComponentBus.

Public Member Functions

 AZ_RTTI (SliceEntityHierarchyInterface, "{E5D09F26-217F-4182-8B1D-BB08E4859F12}")
 
virtual ~SliceEntityHierarchyInterface ()
 
virtual EntityId GetSliceEntityParentId ()
 
virtual AZStd::vector< AZ::EntityIdGetSliceEntityChildren ()
 
- Public Member Functions inherited from AZ::ComponentBus
virtual ~ComponentBus ()=default
 

Static Public Attributes

static const EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Single
 
- Static Public Attributes inherited from AZ::ComponentBus
static const EBusAddressPolicy AddressPolicy = EBusAddressPolicy::ById
 
- Static Public Attributes inherited from AZ::EBusTraits
static constexpr EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Multiple
 
static constexpr EBusAddressPolicy AddressPolicy = EBusAddressPolicy::Single
 
static constexpr bool EnableEventQueue = false
 
static constexpr bool EventQueueingActiveByDefault = true
 
static constexpr bool EnableQueuedReferences = false
 
static constexpr bool LocklessDispatch = false
 

Additional Inherited Members

- Public Types inherited from AZ::ComponentBus
typedef EntityId BusIdType
 
- Public Types inherited from AZ::EBusTraits
using AllocatorType = AZ::Internal::EBusEnvironmentAllocator
 
using BusIdType = NullBusId
 
using BusIdOrderCompare = NullBusIdCompare
 
using BusHandlerOrderCompare = BusHandlerCompareDefault
 
using MutexType = NullMutex
 
using EventQueueMutexType = NullMutex
 
template<class Bus >
using ConnectionPolicy = EBusConnectionPolicy< Bus >
 
template<class Context >
using StoragePolicy = EBusEnvironmentStoragePolicy< Context >
 
template<class Bus >
using RouterPolicy = EBusRouterPolicy< Bus >
 
using EventProcessingPolicy = EBusEventProcessingPolicy
 
template<typename DispatchMutex , bool IsLocklessDispatch>
using DispatchLockGuard = AZStd::conditional_t< IsLocklessDispatch, AZ::Internal::NullLockGuard< DispatchMutex >, AZStd::scoped_lock< DispatchMutex > >
 
template<typename ContextMutex >
using ConnectLockGuard = AZStd::conditional_t< AZStd::is_same_v< ContextMutex, AZ::NullMutex >, AZ::Internal::NullLockGuard< ContextMutex >, AZStd::unique_lock< ContextMutex > >
 
template<typename ContextMutex >
using BindLockGuard = AZStd::scoped_lock< ContextMutex >
 
template<typename ContextMutex >
using CallstackTrackerLockGuard = AZStd::conditional_t< AZStd::is_same_v< ContextMutex, AZ::NullMutex >, AZ::Internal::NullLockGuard< ContextMutex >, AZStd::unique_lock< ContextMutex > >
 
- Protected Member Functions inherited from AZ::EBusTraits
 ~EBusTraits ()=default
 

Detailed Description

Interface for AZ::SliceEntityHierarchyRequestBus, which is an EBus that provides hierarchical entity information for use in slice tools.

This is necessary because different types of entities can have different ways of implementing who their parent or children are - for example, normal world entities use the TransformComponent for tracking parent/child relationships, while UI entities use UiElementComponent (which is separate from the 2D transform component for UI entities). For different entity types, the component keeping parent/child hierarchy information should implement the AZ::SliceEntityHierarchyRequestBus so things like Slice Save widget and SliceTransactions work.

Hierarchy information is used for internal logic like "if I'm adding an entity to a slice, its parent also needs to be added/already in the slice".

Constructor & Destructor Documentation

◆ ~SliceEntityHierarchyInterface()

virtual AZ::SliceEntityHierarchyInterface::~SliceEntityHierarchyInterface ( )
inlinevirtual

Destroys the instance of the class.

Member Function Documentation

◆ GetSliceEntityChildren()

virtual AZStd::vector< AZ::EntityId > AZ::SliceEntityHierarchyInterface::GetSliceEntityChildren ( )
inlinevirtual

Returns the entity IDs of the entity's immediate children.

Returns
A vector that contains the entity IDs of the entity's immediate children.

◆ GetSliceEntityParentId()

virtual EntityId AZ::SliceEntityHierarchyInterface::GetSliceEntityParentId ( )
inlinevirtual

Returns the entity ID of the entity's parent.

Returns
The entity ID of the parent. The entity ID is invalid if the entity does not have a parent with a valid entity ID.

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