Plasma Engine  2.0
Loading...
Searching...
No Matches
plHeightfieldComponentManager Class Reference
Inheritance diagram for plHeightfieldComponentManager:

Public Member Functions

 plHeightfieldComponentManager (plWorld *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 Update (const plWorldModule::UpdateContext &context)
 
void AddToUpdateList (plHeightfieldComponent *pComponent)
 
- Public Member Functions inherited from plComponentManager< plHeightfieldComponent, plBlockStorageType::Compact >
 plComponentManager (plWorld *pWorld)
 Although the constructor is public always use plWorld::CreateComponentManager to create an instance.
 
bool TryGetComponent (const plComponentHandle &hComponent, 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 plComponentHandle &hComponent, 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.
 
plBlockStorage< ComponentType, plInternal::DEFAULT_BLOCK_SIZE, StorageType >::Iterator GetComponents (plUInt32 uiStartIndex=0)
 Returns an iterator over all components.
 
plBlockStorage< ComponentType, plInternal::DEFAULT_BLOCK_SIZE, StorageType >::ConstIterator GetComponents (plUInt32 uiStartIndex=0) const
 Returns an iterator over all components.
 
virtual void CollectAllComponents (plDynamicArray< plComponentHandle > &out_allComponents, bool bOnlyActive) 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 plComponentManagerBase pointer.
 
virtual void CollectAllComponents (plDynamicArray< plComponent * > &out_allComponents, bool bOnlyActive) 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 plComponentManagerBase pointer.
 
- Public Member Functions inherited from plComponentManagerBase
bool IsValidComponent (const plComponentHandle &hComponent) const
 Checks whether the given handle references a valid component.
 
bool TryGetComponent (const plComponentHandle &hComponent, plComponent *&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 plComponentHandle &hComponent, const plComponent *&out_pComponent) const
 Returns if a component with the given handle exists and if so writes out the corresponding pointer to out_pComponent.
 
plUInt32 GetComponentCount () const
 Returns the number of components managed by this manager.
 
plComponentHandle CreateComponent (plGameObject *pOwnerObject)
 Create a new component instance and returns a handle to it.
 
template<typename ComponentType >
plComponentHandle CreateComponent (plGameObject *pOwnerObject, ComponentType *&out_pComponent)
 Create a new component instance and returns a handle to it.
 
void DeleteComponent (const plComponentHandle &hComponent)
 Deletes the given component. Note that the component will be invalidated first and the actual deletion is postponed.
 
void DeleteComponent (plComponent *pComponent)
 Deletes the given component. Note that the component will be invalidated first and the actual deletion is postponed.
 
template<typename ComponentType >
PL_ALWAYS_INLINE plComponentHandle CreateComponent (plGameObject *pOwnerObject, ComponentType *&out_pComponent)
 
- Public Member Functions inherited from plWorldModule
plWorldGetWorld ()
 Returns the corresponding world to this module.
 
const plWorldGetWorld () const
 Returns the corresponding world to this module.
 
plUInt32 GetWorldIndex () const
 Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_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 plComponentManager< plHeightfieldComponent, plBlockStorageType::Compact >
using ComponentType
 
using SUPER
 
- Static Public Member Functions inherited from plComponentManager< plHeightfieldComponent, plBlockStorageType::Compact >
static plWorldModuleTypeId TypeId ()
 Returns the type id corresponding to the component type managed by this manager.
 
- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 
- Protected Types inherited from plWorldModule
using UpdateFunction = plDelegate<void(const UpdateContext&)>
 Update function delegate.
 
- Protected Member Functions inherited from plComponentManager< plHeightfieldComponent, plBlockStorageType::Compact >
virtual plComponentCreateComponentStorage () override
 
virtual void DeleteComponentStorage (plComponent *pComponent, plComponent *&out_pMovedComponent) override
 
void RegisterUpdateFunction (UpdateFunctionDesc &desc)
 
- Protected Member Functions inherited from plComponentManagerBase
 plComponentManagerBase (plWorld *pWorld)
 
- Protected Member Functions inherited from plWorldModule
 plWorldModule (plWorld *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.
 
plAllocatorGetAllocator ()
 Returns the allocator used by the world.
 
plInternal::WorldLargeBlockAllocatorGetBlockAllocator ()
 Returns the block allocator used by the world.
 
bool GetWorldSimulationEnabled () const
 Returns whether the world simulation is enabled.
 
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.
 
virtual void WorldClear ()
 Called by plWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).
 
- Protected Attributes inherited from plComponentManager< plHeightfieldComponent, plBlockStorageType::Compact >
friend ComponentType
 
plBlockStorage< ComponentType, plInternal::DEFAULT_BLOCK_SIZE, StorageType > m_ComponentStorage
 
- Protected Attributes inherited from plComponentManagerBase
plIdTable< plComponentId, plComponent * > m_Components
 
- Protected Attributes inherited from plWorldModule
plWorldm_pWorld
 

Member Function Documentation

◆ Initialize()

void plHeightfieldComponentManager::Initialize ( )
overridevirtual

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.

Reimplemented from plWorldModule.


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