ezEngine  Milestone 7
ezInternal::WorldData Class Reference

Classes

struct  Hierarchy
 
struct  HierarchyType
 
class  ReadMarker
 
struct  RegisteredUpdateFunction
 
struct  UpdateTask
 
class  WriteMarker
 

Public Member Functions

template<typename VISITOR >
EZ_FORCE_INLINE bool TraverseHierarchyLevel (Hierarchy::DataBlockArray &blocks, void *pUserData)
 

Private Types

enum  { GAME_OBJECTS_PER_BLOCK = ezDataBlock<ezGameObject, ezInternal::DEFAULT_BLOCK_SIZE>::CAPACITY, TRANSFORMATION_DATA_PER_BLOCK = ezDataBlock<ezGameObject::TransformationData, ezInternal::DEFAULT_BLOCK_SIZE>::CAPACITY }
 
typedef ezBlockStorage
< ezGameObject,
ezInternal::DEFAULT_BLOCK_SIZE,
true > 
ObjectStorage
 
typedef ezDelegate< bool(ezGameObject *)> VisitorFunc
 
typedef
ezComponentManagerBase::UpdateFunction 
UpdateFunction
 
typedef ezMessageQueue
< QueuedMsgMetaData,
ezLocalAllocatorWrapper
MessageQueue
 

Private Member Functions

 WorldData (const char *szWorldName)
 
ezUInt32 CreateTransformationData (const ezBitflags< ezObjectFlags > &objectFlags, ezUInt32 uiHierarchyLevel, ezGameObject::TransformationData *&out_pData)
 
void DeleteTransformationData (const ezBitflags< ezObjectFlags > &objectFlags, ezUInt32 uiHierarchyLevel, ezUInt32 uiIndex)
 
void TraverseBreadthFirst (VisitorFunc &func)
 
void TraverseDepthFirst (VisitorFunc &func)
 
void UpdateGlobalTransforms ()
 

Static Private Member Functions

template<typename VISITOR >
static bool TraverseHierarchyLevel (Hierarchy::DataBlockArray &blocks, void *pUserData=nullptr)
 
static bool TraverseObjectDepthFirst (ezGameObject *pObject, VisitorFunc &func)
 
static void UpdateGlobalTransform (ezGameObject::TransformationData *pData, float fInvDeltaSeconds)
 
static void UpdateGlobalTransformWithParent (ezGameObject::TransformationData *pData, float fInvDeltaSeconds)
 

Private Attributes

ezHashedString m_sName
 
ezProxyAllocator m_Allocator
 
ezLocalAllocatorWrapper m_AllocatorWrapper
 
ezInternal::WorldLargeBlockAllocator m_BlockAllocator
 
ezIdTable< ezGameObjectId,
ObjectStorage::Entry,
ezLocalAllocatorWrapper
m_Objects
 
ObjectStorage m_ObjectStorage
 
ezDynamicArray
< ObjectStorage::Entry,
ezLocalAllocatorWrapper
m_DeadObjects
 
Hierarchy m_Hierarchies [HierarchyType::COUNT]
 
ezDynamicArray
< ezComponentManagerBase
*, ezLocalAllocatorWrapper
m_ComponentManagers
 
ezDynamicArray
< ezComponentManagerBase::ComponentStorageEntry,
ezLocalAllocatorWrapper
m_DeadComponents
 
ezDynamicArray
< RegisteredUpdateFunction,
ezLocalAllocatorWrapper
m_UpdateFunctions [ezComponentManagerBase::UpdateFunctionDesc::PHASE_COUNT]
 
ezDynamicArray
< ezComponentManagerBase::UpdateFunctionDesc,
ezLocalAllocatorWrapper
m_UnresolvedUpdateFunctions
 
ezDynamicArray< UpdateTask
*, ezLocalAllocatorWrapper
m_UpdateTasks
 
ezUniquePtr
< ezCoordinateSystemProvider
m_pCoordinateSystemProvider
 
MessageQueue m_MessageQueues [ezObjectMsgQueueType::COUNT]
 
MessageQueue m_TimedMessageQueues [ezObjectMsgQueueType::COUNT]
 
ezThreadID m_WriteThreadID
 
ezInt32 m_iWriteCounter
 
ezAtomicInteger32 m_iReadCounter
 
ReadMarker m_ReadMarker
 
WriteMarker m_WriteMarker
 
void * m_pUserData
 

Friends

class ::ezWorld
 
class ::ezComponentManagerBase
 

Class Documentation

struct ezInternal::WorldData::QueuedMsgMetaData
Class Members
ezTime m_Due
ezGameObjectHandle m_ReceiverObject
Enum m_Routing

Member Data Documentation

ezDynamicArray<ezComponentManagerBase*, ezLocalAllocatorWrapper> ezInternal::WorldData::m_ComponentManagers
private

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