本文整理汇总了C++中t_mapEntitiesFromRoot类的典型用法代码示例。如果您正苦于以下问题:C++ t_mapEntitiesFromRoot类的具体用法?C++ t_mapEntitiesFromRoot怎么用?C++ t_mapEntitiesFromRoot使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了t_mapEntitiesFromRoot类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: _GetEntitiesFromRoot
void CClientEntity::_GetEntitiesFromRoot ( unsigned int uiTypeHash, std::map < CClientEntity*, int >& mapResults )
{
t_mapEntitiesFromRoot::iterator find = ms_mapEntitiesFromRoot.find ( uiTypeHash );
if ( find != ms_mapEntitiesFromRoot.end () )
{
CFromRootListType& listEntities = find->second;
CClientEntity* pEntity;
unsigned int uiIndex = 0;
for ( CFromRootListType::const_reverse_iterator i = listEntities.rbegin ();
i != listEntities.rend ();
++i )
{
pEntity = *i;
assert ( pEntity );
ElementID ID = pEntity->GetID ();
assert ( ID != INVALID_ELEMENT_ID );
assert ( pEntity == CElementIDs::GetElement ( ID ) );
if ( pEntity->IsBeingDeleted () )
OutputDebugString ( SString ( "Client: 0x%08x %s is flagged as IsBeingDeleted() but is still in GetEntitiesFromRoot\n", pEntity, pEntity->GetTypeName () ) );
assert ( mapResults.find ( pEntity ) == mapResults.end () );
mapResults [ pEntity ] = 1;
}
}
}
开发者ID:qaisjp,项目名称:green-candy,代码行数:27,代码来源:CClientEntity.cpp
示例2: _CheckEntitiesFromRoot
void CClientEntity::GetEntitiesFromRoot ( unsigned int uiTypeHash, lua_State* luaVM, bool bStreamedIn )
{
#if CHECK_ENTITIES_FROM_ROOT
_CheckEntitiesFromRoot ( uiTypeHash );
#endif
t_mapEntitiesFromRoot::iterator find = ms_mapEntitiesFromRoot.find ( uiTypeHash );
if ( find != ms_mapEntitiesFromRoot.end () )
{
CFromRootListType& listEntities = find->second;
CClientEntity* pEntity;
unsigned int uiIndex = 0;
for ( CFromRootListType::reverse_iterator i = listEntities.rbegin ();
i != listEntities.rend ();
++i )
{
pEntity = *i;
// Only streamed in elements?
if ( !bStreamedIn || !pEntity->IsStreamingCompatibleClass() ||
reinterpret_cast < CClientStreamElement* > ( pEntity )->IsStreamedIn() )
{
// Add it to the table
lua_pushnumber ( luaVM, ++uiIndex );
pEntity->PushStack( luaVM );
lua_settable ( luaVM, -3 );
}
}
}
}
开发者ID:qaisjp,项目名称:green-candy,代码行数:31,代码来源:CClientEntity.cpp
示例3: _CheckEntitiesFromRoot
void CElement::GetEntitiesFromRoot ( unsigned int uiTypeHash, lua_State* pLua )
{
#if CHECK_ENTITIES_FROM_ROOT
_CheckEntitiesFromRoot ( uiTypeHash );
#endif
t_mapEntitiesFromRoot::iterator find = ms_mapEntitiesFromRoot.find ( uiTypeHash );
if ( find != ms_mapEntitiesFromRoot.end () )
{
CFromRootListType& listEntities = find->second;
CElement* pEntity;
unsigned int uiIndex = 0;
for ( CChildListType::const_reverse_iterator i = listEntities.rbegin ();
i != listEntities.rend ();
++i )
{
pEntity = *i;
// Add it to the table
lua_pushnumber ( pLua, ++uiIndex );
lua_pushelement ( pLua, pEntity );
lua_settable ( pLua, -3 );
}
}
}
开发者ID:Bargas,项目名称:mtasa-blue,代码行数:26,代码来源:CElement.cpp
示例4: RemoveEntityFromRoot
void CClientEntity::RemoveEntityFromRoot ( unsigned int uiTypeHash, CClientEntity* pEntity )
{
// Remove from list
t_mapEntitiesFromRoot::iterator find = ms_mapEntitiesFromRoot.find ( uiTypeHash );
if ( find != ms_mapEntitiesFromRoot.end () )
{
CFromRootListType& listEntities = find->second;
listEntities.remove ( pEntity );
if ( listEntities.size () == 0 )
ms_mapEntitiesFromRoot.erase ( find );
}
// Apply to child elements as well
CChildListType ::const_iterator iter = pEntity->IterBegin ();
for ( ; iter != pEntity->IterEnd (); iter++ )
CClientEntity::RemoveEntityFromRoot ( (*iter)->GetTypeHash (), *iter );
}
开发者ID:qaisjp,项目名称:green-candy,代码行数:17,代码来源:CClientEntity.cpp
示例5: _CheckEntitiesFromRoot
void CElement::GetEntitiesFromRoot(unsigned int uiTypeHash, std::vector<CElement*>& outResult)
{
#if CHECK_ENTITIES_FROM_ROOT
_CheckEntitiesFromRoot(uiTypeHash);
#endif
t_mapEntitiesFromRoot::iterator find = ms_mapEntitiesFromRoot.find(uiTypeHash);
if (find != ms_mapEntitiesFromRoot.end())
{
CFromRootListType& listEntities = find->second;
CElement* pEntity;
for (CChildListType::const_reverse_iterator i = listEntities.rbegin(); i != listEntities.rend(); ++i)
{
pEntity = *i;
// Add it to the result
outResult.push_back(pEntity);
}
}
}
开发者ID:Necktrox,项目名称:mtasa-blue,代码行数:21,代码来源:CElement.cpp
示例6: StartupEntitiesFromRoot
void CClientEntity::StartupEntitiesFromRoot ()
{
if ( !ms_bEntitiesFromRootInitialized )
{
ms_mapEntitiesFromRoot.set_deleted_key ( (unsigned int)0x00000000 );
ms_mapEntitiesFromRoot.set_empty_key ( (unsigned int)0xFFFFFFFF );
ms_bEntitiesFromRootInitialized = true;
}
}
开发者ID:qaisjp,项目名称:green-candy,代码行数:9,代码来源:CClientEntity.cpp
注:本文中的t_mapEntitiesFromRoot类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论