本文整理汇总了C++中LPENTITY::EncodeRemovePacket方法的典型用法代码示例。如果您正苦于以下问题:C++ LPENTITY::EncodeRemovePacket方法的具体用法?C++ LPENTITY::EncodeRemovePacket怎么用?C++ LPENTITY::EncodeRemovePacket使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LPENTITY
的用法示例。
在下文中一共展示了LPENTITY::EncodeRemovePacket方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ViewRemove
void CEntity::ViewRemove(LPENTITY entity, bool recursive)
{
ENTITY_MAP::iterator it = m_map_view.find(entity);
if (it == m_map_view.end())
return;
m_map_view.erase(it);
if (!entity->m_bIsObserver)
entity->EncodeRemovePacket(this);
if (recursive)
entity->ViewRemove(this, false);
}
示例2: UpdateSectree
void CEntity::UpdateSectree()
{
if (!GetSectree())
{
if (IsType(ENTITY_CHARACTER))
{
LPCHARACTER tch = (LPCHARACTER) this;
sys_err("null sectree name: %s %d %d", tch->GetName(), GetX(), GetY());
}
return;
}
++m_iViewAge;
CFuncViewInsert f(this); // 나를 섹트리에 있는 사람들에게 추가
GetSectree()->ForEachAround(f);
ENTITY_MAP::iterator it, this_it;
//
// m_map_view에서 필요 없는 녀석들 지우기
//
if (m_bObserverModeChange)
{
if (m_bIsObserver)
{
it = m_map_view.begin();
while (it != m_map_view.end())
{
this_it = it++;
if (this_it->second < m_iViewAge)
{
LPENTITY ent = this_it->first;
// 나로 부터 상대방을 지운다.
ent->EncodeRemovePacket(this);
m_map_view.erase(this_it);
// 상대로 부터 나를 지운다.
ent->ViewRemove(this, false);
}
else
{
LPENTITY ent = this_it->first;
// 나로 부터 상대방을 지운다.
//ent->EncodeRemovePacket(this);
//m_map_view.erase(this_it);
// 상대로 부터 나를 지운다.
//ent->ViewRemove(this, false);
EncodeRemovePacket(ent);
}
}
}
else
{
it = m_map_view.begin();
while (it != m_map_view.end())
{
this_it = it++;
if (this_it->second < m_iViewAge)
{
LPENTITY ent = this_it->first;
// 나로 부터 상대방을 지운다.
ent->EncodeRemovePacket(this);
m_map_view.erase(this_it);
// 상대로 부터 나를 지운다.
ent->ViewRemove(this, false);
}
else
{
LPENTITY ent = this_it->first;
ent->EncodeInsertPacket(this);
EncodeInsertPacket(ent);
ent->ViewInsert(this, true);
}
}
}
m_bObserverModeChange = false;
}
else
{
if (!m_bIsObserver)
{
it = m_map_view.begin();
while (it != m_map_view.end())
{
this_it = it++;
//.........这里部分代码省略.........