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::GameEntityContextComponent Class Reference

#include <GameEntityContextComponent.h>

Inherits AZ::Component, AzFramework::EntityContext, and GameEntityContextRequestBus::Handler.

Public Member Functions

 AZ_COMPONENT (GameEntityContextComponent, "{DA235454-DD9C-468C-AE70-404E415BAA6C}")
 
void Init () override
 
void Activate () override
 
void Deactivate () override
 
AZ::Uuid GetGameEntityContextId () override
 
EntityContextGetGameEntityContextInstance () override
 
void ResetGameContext () override
 
AZ::Entity * CreateGameEntity (const char *name) override
 
BehaviorEntity CreateGameEntityForBehaviorContext (const char *name) override
 
void AddGameEntity (AZ::Entity *entity) override
 
void DestroyGameEntity (const AZ::EntityId &) override
 
void DestroyGameEntityAndDescendants (const AZ::EntityId &) override
 
void ActivateGameEntity (const AZ::EntityId &) override
 
void DeactivateGameEntity (const AZ::EntityId &) override
 
bool LoadFromStream (AZ::IO::GenericStream &stream, bool remapIds) override
 
AZStd::string GetEntityName (const AZ::EntityId &id) override
 
AZ::Entity * CreateEntity (const char *name) override
 
void OnRootEntityReloaded () override
 
void OnContextEntitiesAdded (const EntityList &entities) override
 Entity context derived implementations can conduct specialized actions when internal events occur, such as adds/removals/resets.
 
void OnContextReset () override
 
bool ValidateEntitiesAreValidForContext (const EntityList &entities) override
 
- Public Member Functions inherited from AzFramework::EntityContext
 AZ_TYPE_INFO (EntityContext, "{4F98A6B9-C7B5-450E-8A8A-30EEFC411EF5}")
 
 EntityContext (AZ::SerializeContext *serializeContext=nullptr)
 
 EntityContext (const EntityContextId &contextId, AZ::SerializeContext *serializeContext=nullptr)
 
 EntityContext (const EntityContextId &contextId, AZStd::unique_ptr< EntityOwnershipService > entityOwnershipService, AZ::SerializeContext *serializeContext=nullptr)
 
void InitContext ()
 
void DestroyContext ()
 
const EntityContextIdGetContextId () const
 
AZ::Entity * CreateEntity (const char *name) override
 
void AddEntity (AZ::Entity *entity) override
 
void ActivateEntity (AZ::EntityId entityId) override
 
void DeactivateEntity (AZ::EntityId entityId) override
 
bool DestroyEntity (AZ::Entity *entity) override
 
bool DestroyEntityById (AZ::EntityId entityId) override
 
AZ::Entity * CloneEntity (const AZ::Entity &sourceEntity) override
 
void ResetContext () override
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
static void GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &provided)
 
static void GetIncompatibleServices (AZ::ComponentDescriptor::DependencyArrayType &incompatible)
 
static void GetRequiredServices (AZ::ComponentDescriptor::DependencyArrayType &required)
 
- Static Public Member Functions inherited from AzFramework::EntityContext
static void Reflect (AZ::ReflectContext *context)
 
static AZStd::shared_ptr< SceneFindContainingScene (const EntityContextId &contextId)
 

Additional Inherited Members

- Public Types inherited from AzFramework::EntityContext
using SceneStorageType = EntityContext *
 The type used to store entity in AzFramework::Scene.
 
- Protected Member Functions inherited from AzFramework::EntityContext
EntityContextId GetOwningContextId () override
 
void PrepareForEntityOwnershipServiceReset () override
 
void OnEntityOwnershipServiceReset () override
 
void OnEntitiesReloadedFromStream (const EntityList &entities) override
 
void OnEntityDestruction (const AZ::EntityId &entityId) override
 
void HandleEntitiesAdded (const EntityList &entities)
 
void HandleEntitiesRemoved (const EntityIdList &entityIds)
 
AZ::SerializeContext * GetSerializeContext () const
 
virtual void OnContextEntitiesAdded (const EntityList &)
 Entity context derived implementations can conduct specialized actions when internal events occur, such as adds/removals/resets.
 
virtual void OnContextEntityRemoved (const AZ::EntityId &)
 
virtual void OnRootEntityReloaded ()
 
virtual void PrepareForContextReset ()
 
virtual void OnContextReset ()
 
virtual bool ValidateEntitiesAreValidForContext (const EntityList &entities)
 
bool IsOwnedByThisContext (const AZ::EntityId &entityId)
 
- Protected Attributes inherited from AzFramework::EntityContext
AZ::SerializeContext * m_serializeContext
 
EntityContextId m_contextId
 Id of the context, used to address bus messages.
 
EntityContextEventBus::BusPtr m_eventBusPtr
 Pre-bound event bus for the context.
 
AZStd::unique_ptr< EntityOwnershipServicem_entityOwnershipService
 EntityOwnershipService is responsible for the management of entities used by this context. Such as loading, creation, etc.
 
bool m_contextIsResetting = false
 

Detailed Description

System component responsible for owning the game entity context.

The game entity context owns entities in the game runtime, as well as during play-in-editor. These entities typically own game/runtime components, not inheriting from EditorComponentBase.

Member Function Documentation

◆ OnContextEntitiesAdded()

void AzFramework::GameEntityContextComponent::OnContextEntitiesAdded ( const EntityList &  )
overridevirtual

Entity context derived implementations can conduct specialized actions when internal events occur, such as adds/removals/resets.

Reimplemented from AzFramework::EntityContext.

◆ OnContextReset()

void AzFramework::GameEntityContextComponent::OnContextReset ( )
overridevirtual

Reimplemented from AzFramework::EntityContext.

◆ OnRootEntityReloaded()

void AzFramework::GameEntityContextComponent::OnRootEntityReloaded ( )
overridevirtual

Reimplemented from AzFramework::EntityContext.

◆ ValidateEntitiesAreValidForContext()

bool AzFramework::GameEntityContextComponent::ValidateEntitiesAreValidForContext ( const EntityList &  entities)
overridevirtual

Used to validate that the given list of entities are valid for this context For example they could be non-UI entities being instantiated in a UI context

Reimplemented from AzFramework::EntityContext.


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