Open 3D Engine AzFramework 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.
AzFramework::SliceGameEntityOwnershipService Class Reference

Inherits AzFramework::SliceEntityOwnershipService, SliceGameEntityOwnershipServiceRequestBus::Handler, and SliceInstantiationResultBus::MultiHandler.

Public Member Functions

 AZ_CLASS_ALLOCATOR (SliceGameEntityOwnershipService, AZ::SystemAllocator)
 
 SliceGameEntityOwnershipService (const EntityContextId &entityContextId, AZ::SerializeContext *serializeContext)
 
void Reset () override
 Destroys all the entities under the root-slice without destroying it fully.
 
SliceInstantiationTicket InstantiateDynamicSlice (const AZ::Data::Asset< AZ::Data::AssetData > &sliceAsset, const AZ::Transform &worldTransform, const AZ::IdUtils::Remapper< AZ::EntityId >::IdMapper &customIdMapper) override
 
void CancelDynamicSliceInstantiation (const SliceInstantiationTicket &ticket) override
 
bool DestroyDynamicSliceByEntity (const AZ::EntityId &) override
 
void OnSlicePreInstantiate (const AZ::Data::AssetId &sliceAssetId, const AZ::SliceComponent::SliceInstanceAddress &instance) override
 
void OnSliceInstantiated (const AZ::Data::AssetId &sliceAssetId, const AZ::SliceComponent::SliceInstanceAddress &instance) override
 
void OnSliceInstantiationFailed (const AZ::Data::AssetId &sliceAssetId) override
 
- Public Member Functions inherited from AzFramework::SliceEntityOwnershipService
 AZ_CLASS_ALLOCATOR (SliceEntityOwnershipService, AZ::SystemAllocator)
 
 SliceEntityOwnershipService (const EntityContextId &entityContextId, AZ::SerializeContext *serializeContext)
 
void Initialize () override
 Creates the root-slice asset under which all entities in the level belong.
 
bool IsInitialized () override
 Returns true if root slice asset is present.
 
void Destroy () override
 Destroys the root-slice asset.
 
void Reset () override
 Destroys all the entities under the root-slice without destroying it fully.
 
void AddEntity (AZ::Entity *entity) override
 
void AddEntities (const EntityList &entities) override
 
bool DestroyEntity (AZ::Entity *entity) override
 
bool DestroyEntityById (AZ::EntityId entityId) override
 
void GetNonPrefabEntities (EntityList &entityList) override
 Gets the entities in entity ownership service that do not belong to a prefab.
 
bool GetAllEntities (EntityList &entityList) override
 
void InstantiateAllPrefabs () override
 Instantiates all the prefabs that are in the entity ownership service.
 
void SetEntitiesAddedCallback (OnEntitiesAddedCallback onEntitiesAddedCallback) override
 
void SetEntitiesRemovedCallback (OnEntitiesRemovedCallback onEntityRemovedCallback) override
 
void SetValidateEntitiesCallback (ValidateEntitiesCallback validateEntitiesCallback) override
 
void HandleEntityBeingDestroyed (const AZ::EntityId &entityId) override
 
void OnAssetError (AZ::Data::Asset< AZ::Data::AssetData > asset) override
 
void OnAssetReady (AZ::Data::Asset< AZ::Data::AssetData > asset) override
 
void OnAssetReloaded (AZ::Data::Asset< AZ::Data::AssetData > asset) override
 
bool LoadFromStream (AZ::IO::GenericStream &stream, bool remapIds, EntityIdToEntityIdMap *idRemapTable=nullptr, const AZ::ObjectStream::FilterDescriptor &filterDesc=AZ::ObjectStream::FilterDescriptor()) override
 
void HandleEntitiesAdded (const EntityList &entities) override
 
virtual void Initialize ()=0
 Initializes all assets/entities/components required for managing entities.
 
virtual bool IsInitialized ()=0
 Returns true if the entity ownership service is initialized.
 
virtual void Destroy ()=0
 Destroys all the assets/entities/components created for managing entities.
 
virtual void Reset ()=0
 Resets the assets/entities/components without fully destroying them for managing entities.
 
virtual void AddEntity (AZ::Entity *entity)=0
 
virtual void AddEntities (const EntityList &entities)=0
 
virtual bool DestroyEntity (AZ::Entity *entity)=0
 
virtual bool DestroyEntityById (AZ::EntityId entityId)=0
 
virtual void GetNonPrefabEntities (EntityList &entityList)=0
 
virtual bool GetAllEntities (EntityList &entityList)=0
 
virtual void InstantiateAllPrefabs ()=0
 
virtual void HandleEntitiesAdded (const EntityList &entities)=0
 
virtual bool LoadFromStream (AZ::IO::GenericStream &stream, bool remapIds, EntityIdToEntityIdMap *idRemapTable=nullptr, const AZ::ObjectStream::FilterDescriptor &filterDesc=AZ::ObjectStream::FilterDescriptor())=0
 
virtual void SetEntitiesAddedCallback (OnEntitiesAddedCallback onEntitiesAddedCallback)=0
 
virtual void SetEntitiesRemovedCallback (OnEntitiesRemovedCallback onEntitiesRemovedCallback)=0
 
virtual void SetValidateEntitiesCallback (ValidateEntitiesCallback validateEntitiesCallback)=0
 
virtual void HandleEntityBeingDestroyed (const AZ::EntityId &entityId)=0
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from AzFramework::SliceEntityOwnershipService
static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

void CreateRootSlice () override
 
- Protected Member Functions inherited from AzFramework::SliceEntityOwnershipService
AZ::SliceComponent::SliceInstanceAddress GetOwningSlice () override
 
AZ::Data::AssetId CurrentlyInstantiatingSlice () override
 
bool HandleRootEntityReloadedFromStream (AZ::Entity *rootEntity, bool remapIds, AZ::SliceComponent::EntityIdToEntityIdMap *idRemapTable=nullptr) override
 
AZ::SliceComponent * GetRootSlice () override
 
const AZ::SliceComponent::EntityIdToEntityIdMap & GetLoadedEntityIdMap () override
 
AZ::EntityId FindLoadedEntityIdMapping (const AZ::EntityId &staticId) const override
 
SliceInstantiationTicket InstantiateSlice (const AZ::Data::Asset< AZ::Data::AssetData > &asset, const AZ::IdUtils::Remapper< AZ::EntityId >::IdMapper &customIdMapper=nullptr, const AZ::Data::AssetFilterCB &assetLoadFilter=nullptr) override
 
AZ::SliceComponent::SliceInstanceAddress CloneSliceInstance (AZ::SliceComponent::SliceInstanceAddress sourceInstance, AZ::SliceComponent::EntityIdToEntityIdMap &sourceToCloneEntityIdMap) override
 
void CancelSliceInstantiation (const SliceInstantiationTicket &ticket) override
 
SliceInstantiationTicket GenerateSliceInstantiationTicket () override
 
void SetIsDynamic (bool isDynamic) override
 
const RootSliceAsset & GetRootAsset () const override
 
AZ::SliceComponent::SliceInstanceAddress GetOwningSlice (AZ::EntityId entityId)
 
AZ::SerializeContext * GetSerializeContext ()
 
virtual void CreateRootSlice ()
 
void CreateRootSlice (AZ::SliceAsset *rootSliceAsset)
 
virtual void HandleNewMetadataEntitiesCreated (AZ::SliceComponent &)
 

Additional Inherited Members

- Public Types inherited from AzFramework::EntityOwnershipService
using EntityIdToEntityIdMap = AZStd::unordered_map< AZ::EntityId, AZ::EntityId >
 
- Public Attributes inherited from AzFramework::EntityOwnershipService
bool m_shouldAssertForLegacySlicesUsage = false
 
- Protected Attributes inherited from AzFramework::EntityOwnershipService
OnEntitiesAddedCallback m_entitiesAddedCallback
 
OnEntitiesRemovedCallback m_entitiesRemovedCallback
 
ValidateEntitiesCallback m_validateEntitiesCallback
 

Member Function Documentation

◆ CreateRootSlice()

void AzFramework::SliceGameEntityOwnershipService::CreateRootSlice ( )
overrideprotectedvirtual

◆ Reset()

void AzFramework::SliceGameEntityOwnershipService::Reset ( )
overridevirtual

Destroys all the entities under the root-slice without destroying it fully.

Reimplemented from AzFramework::SliceEntityOwnershipService.


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