ezEngine  Milestone 9
ezComponentManagerSimple< ComponentType, UpdateType, StorageType > Class Template Reference

Simple component manager implementation that calls an update method on all components every frame. More...

#include <ComponentManager.h>

Inheritance diagram for ezComponentManagerSimple< ComponentType, UpdateType, StorageType >:

Public Member Functions

 ezComponentManagerSimple (ezWorld *pWorld)
 
virtual void Initialize () override
 This method is called after the constructor. A derived type can override this method to do initialization work. Typically this is the method where updates function are registered.
 
void SimpleUpdate (const ezWorldModule::UpdateContext &context)
 A simple update function that iterates over all components and calls Update() on every component.
 
- Public Member Functions inherited from ezComponentManager< ComponentType, StorageType >
 ezComponentManager (ezWorld *pWorld)
 Although the constructor is public always use ezWorld::CreateComponentManager to create an instance.
 
bool TryGetComponent (const ezComponentHandle &component, ComponentType *&out_pComponent)
 Returns if a component with the given handle exists and if so writes out the corresponding pointer to out_pComponent.
 
bool TryGetComponent (const ezComponentHandle &component, const ComponentType *&out_pComponent) const
 Returns if a component with the given handle exists and if so writes out the corresponding pointer to out_pComponent.
 
ezBlockStorage< ComponentType, ezInternal::DEFAULT_BLOCK_SIZE, StorageType >::Iterator GetComponents ()
 Returns an iterator over all components.
 
ezBlockStorage< ComponentType, ezInternal::DEFAULT_BLOCK_SIZE, StorageType >::ConstIterator GetComponents () const
 Returns an iterator over all components.
 
virtual void CollectAllComponents (ezDynamicArray< ezComponentHandle > &out_AllComponents) override
 Adds all components that this manager handles to the given array (array is not cleared). Prefer to use more efficient methods on derived classes, only use this if you need to go through a ezComponentManagerBase pointer.
 
virtual void CollectAllComponents (ezDynamicArray< ezComponent * > &out_AllComponents) override
 Adds all components that this manager handles to the given array (array is not cleared). Prefer to use more efficient methods on derived classes, only use this if you need to go through a ezComponentManagerBase pointer.
 
- Public Member Functions inherited from ezComponentManagerBase
bool IsValidComponent (const ezComponentHandle &component) const
 Checks whether the given handle references a valid component.
 
bool TryGetComponent (const ezComponentHandle &component, ezComponent *&out_pComponent)
 Returns if a component with the given handle exists and if so writes out the corresponding pointer to out_pComponent.
 
bool TryGetComponent (const ezComponentHandle &component, const ezComponent *&out_pComponent) const
 Returns if a component with the given handle exists and if so writes out the corresponding pointer to out_pComponent.
 
ezUInt32 GetComponentCount () const
 Returns the number of components managed by this manager.
 
ezComponentHandle CreateComponent (ezGameObject *pOwnerObject)
 Create a new component instance and returns a handle to it.
 
template<typename ComponentType >
ezComponentHandle CreateComponent (ezGameObject *pOwnerObject, ComponentType *&out_pComponent)
 Create a new component instance and returns a handle to it.
 
void DeleteComponent (const ezComponentHandle &component)
 Deletes the given component. Note that the component will be invalidated first and the actual deletion is postponed.
 
- Public Member Functions inherited from ezWorldModule
ezWorldGetWorld ()
 Returns the corresponding world to this module.
 
const ezWorldGetWorld () const
 Returns the corresponding world to this module.
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
EZ_ALWAYS_INLINE bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Public Types inherited from ezComponentManager< ComponentType, StorageType >
typedef ComponentType ComponentType
 
- Static Public Member Functions inherited from ezComponentManager< ComponentType, StorageType >
static ezUInt16 TypeId ()
 Returns the type id corresponding to the component type managed by this manager.
 
- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 
- Protected Types inherited from ezWorldModule
typedef ezDelegate< void(const UpdateContext &)> UpdateFunction
 Update function delegate.
 
- Protected Member Functions inherited from ezComponentManager< ComponentType, StorageType >
virtual ezComponentCreateComponentStorage () override
 
virtual void DeleteComponentStorage (ezComponent *pComponent, ezComponent *&out_pMovedComponent) override
 
void RegisterUpdateFunction (UpdateFunctionDesc &desc)
 
- Protected Member Functions inherited from ezComponentManagerBase
 ezComponentManagerBase (ezWorld *pWorld)
 
- Protected Member Functions inherited from ezWorldModule
 ezWorldModule (ezWorld *pWorld)
 
void RegisterUpdateFunction (const UpdateFunctionDesc &desc)
 Registers the given update function at the world.
 
void DeregisterUpdateFunction (const UpdateFunctionDesc &desc)
 De-registers the given update function from the world. Note that only the m_Function and the m_Phase of the description have to be valid for de-registration.
 
ezAllocatorBaseGetAllocator ()
 Returns the allocator used by the world.
 
ezInternal::WorldLargeBlockAllocatorGetBlockAllocator ()
 Returns the block allocator used by the world.
 
bool GetWorldSimulationEnabled () const
 Returns whether the world simulation is enabled.
 
virtual void InitializeInternal ()
 Internal methods called by the world.
 
virtual void DeinitializeInternal ()
 
virtual void Deinitialize ()
 This method is called before the destructor. A derived type can override this method to do deinitialization work.
 
virtual void OnSimulationStarted ()
 This method is called at the start of the next world update when the world is simulated. This method will be called after the initialization method.
 
- Protected Attributes inherited from ezComponentManager< ComponentType, StorageType >
friend ComponentType
 
ezBlockStorage< ComponentType, ezInternal::DEFAULT_BLOCK_SIZE, StorageType > m_ComponentStorage
 
- Protected Attributes inherited from ezWorldModule
ezWorldm_pWorld
 

Detailed Description

template<typename ComponentType, ezComponentUpdateType::Enum UpdateType, ezBlockStorageType::Enum StorageType = ezBlockStorageType::FreeList>
class ezComponentManagerSimple< ComponentType, UpdateType, StorageType >

Simple component manager implementation that calls an update method on all components every frame.


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