![]() |
Skylicht Engine
|
The object class is designed to optimize entity queries. More...
#include <Entity/CEntityGroup.h>
Public Member Functions | |
| CEntityGroup (const u32 *dataTypes, int count) | |
| CEntityGroup (const u32 *dataTypes, int count, CEntityGroup *parentGroup) | |
| virtual void | onQuery (CEntityManager *entityManager, CEntity **entities, int numEntity) |
| CEntity ** | getEntities () |
| int | getEntityCount () |
| void | notifyNeedQuery () |
| bool | needQuery () |
| bool | needValidate () |
| void | finishValidate () |
| bool | haveDataType (u32 type) |
| CEntityGroup * | getParent () |
Protected Attributes | |
| core::array< u32 > | m_dataTypes |
| CEntityGroup * | m_parentGroup |
| bool | m_needQuery |
| bool | m_needValidate |
| CFastArray< CEntity * > | m_entities |
The object class is designed to optimize entity queries.
CGroupEntity will store query results; however, in some cases, it will re-query, such as when an entity is created or destroyed by CEntityManager, or when the notifyNeedQuery method is called.
Example of creating a group, that only queries entities containing CPrimiviteData.
This method also creates a group that queries entities with CPrimiviteData, but only if those entities are visible (visible = true)