XII Release 0.1.0
Loading...
Searching...
No Matches
xiiWorldModule Class Reference
Inheritance diagram for xiiWorldModule:
[legend]

Classes

struct  UpdateContext
 
struct  UpdateFunctionDesc
 Description of an update function that can be registered at the world. More...
 

Public Member Functions

xiiWorldGetWorld ()
 Returns the corresponding world to this module.
 
const xiiWorldGetWorld () const
 Returns the corresponding world to this module.
 
xiiUInt32 GetWorldIndex () const
 Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Types

using UpdateFunction = xiiDelegate<void(const UpdateContext&)>
 Update function delegate.
 

Protected Member Functions

 xiiWorldModule (xiiWorld *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.
 
xiiAllocatorBaseGetAllocator ()
 Returns the allocator used by the world.
 
xiiInternal::WorldLargeBlockAllocatorGetBlockAllocator ()
 Returns the block allocator used by the world.
 
bool GetWorldSimulationEnabled () const
 Returns whether the world simulation is enabled.
 
virtual void Initialize ()
 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.
 
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 xiiWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).
 

Protected Attributes

xiiWorldm_pWorld
 

Friends

class xiiWorld
 
class xiiInternal::WorldData
 
class xiiMemoryUtils
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Deinitialize()

virtual void xiiWorldModule::Deinitialize ( )
inlineprotectedvirtual

This method is called before the destructor. A derived type can override this method to do deinitialization work.

Reimplemented in xiiAnimationControllerComponentManager, xiiBakedProbesComponentManager, xiiBakedProbesWorldModule, xiiCameraComponentManager, and xiiInstancedMeshComponentManager.

◆ Initialize()

virtual void xiiWorldModule::Initialize ( )
inlineprotectedvirtual

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 in xiiAnimatedMeshComponentManager, xiiAnimationControllerComponentManager, xiiAreaDamageComponentManager, xiiBakedProbesComponentManager, xiiBakedProbesWorldModule, xiiCameraComponentManager, xiiClothSheetComponentManager, xiiComponentManagerSimple< ComponentType, UpdateType, StorageType, UpdatePhase >, xiiComponentManagerSimple< class xiiBeamComponent, xiiComponentUpdateType::Always >, xiiComponentManagerSimple< class xiiBeamComponent, xiiComponentUpdateType::Always >, xiiComponentManagerSimple< class xiiCameraShakeComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiCameraShakeComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiColorAnimationComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiColorAnimationComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiCreatureCrawlComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiCreatureCrawlComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiDeviceTrackingComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiDeviceTrackingComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiFollowPathComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiFollowPathComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiHeadBoneComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiHeadBoneComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiInputComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiInputComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiMoveToComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiMoveToComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiProjectileComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiProjectileComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiPropertyAnimComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiPropertyAnimComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiRotorComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiRotorComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSimpleAnimationComponent, xiiComponentUpdateType::WhenSimulating, xiiBlockStorageType::FreeList >, xiiComponentManagerSimple< class xiiSimpleAnimationComponent, xiiComponentUpdateType::WhenSimulating, xiiBlockStorageType::FreeList >, xiiComponentManagerSimple< class xiiSimpleWindComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSimpleWindComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSkeletonComponent, xiiComponentUpdateType::Always, xiiBlockStorageType::Compact >, xiiComponentManagerSimple< class xiiSkeletonComponent, xiiComponentUpdateType::Always, xiiBlockStorageType::Compact >, xiiComponentManagerSimple< class xiiSliderComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSliderComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSpatialAnchorComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiSpatialAnchorComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiVisualizeHandComponent, xiiComponentUpdateType::WhenSimulating >, xiiComponentManagerSimple< class xiiVisualizeHandComponent, xiiComponentUpdateType::WhenSimulating >, xiiDecalComponentManager, xiiFakeRopeComponentManager, xiiHeightfieldComponentManager, xiiInstancedMeshComponentManager, xiiLineToComponentManager, xiiLodAnimatedMeshComponentManager, xiiPathComponentManager, xiiPostProcessingComponentManager, xiiPrefabReferenceComponentManager, xiiRaycastComponentManager, xiiScriptWorldModule, xiiSensorWorldModule, xiiSkeletonPoseComponentManager, and xiiStateMachineComponentManager.

◆ WorldClear()

virtual void xiiWorldModule::WorldClear ( )
inlineprotectedvirtual

Called by xiiWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).

Reimplemented in xiiScriptWorldModule.


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