本文整理汇总了C++中playermaptype::iterator类的典型用法代码示例。如果您正苦于以下问题:C++ iterator类的具体用法?C++ iterator怎么用?C++ iterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了iterator类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Visit
void DelayedUnitRelocation::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
Player* player = iter->getSource();
WorldObject const* viewPoint = player->_seer;
if (!viewPoint->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
continue;
if (player != viewPoint && !viewPoint->IsPositionValid())
continue;
CellCoord pair2(SkyFire::ComputeCellCoord(viewPoint->GetPositionX(), viewPoint->GetPositionY()));
Cell cell2(pair2);
//cell.SetNoCreate(); need load cells around viewPoint or player, that's why its commented
PlayerRelocationNotifier relocate(*player);
TypeContainerVisitor<PlayerRelocationNotifier, WorldTypeMapContainer > c2world_relocation(relocate);
TypeContainerVisitor<PlayerRelocationNotifier, GridTypeMapContainer > c2grid_relocation(relocate);
cell2.Visit(pair2, c2world_relocation, i_map, *viewPoint, i_radius);
cell2.Visit(pair2, c2grid_relocation, i_map, *viewPoint, i_radius);
relocate.SendToSelf();
}
}
开发者ID:AtVirus,项目名称:SkyFireEMU,代码行数:27,代码来源:GridNotifiers.cpp
示例2: SendPacket
void
MessageDistDeliverer::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
Player *target = iter->getSource();
if (!target->InSamePhase(i_phaseMask))
continue;
if (target->GetExactDist2dSq(i_source) > i_distSq)
continue;
// Send packet to all who are sharing the player's vision
if (!target->GetSharedVisionList().empty())
{
SharedVisionList::const_iterator i = target->GetSharedVisionList().begin();
for (; i != target->GetSharedVisionList().end(); ++i)
if ((*i)->m_seer == target)
SendPacket(*i);
}
if (target->m_seer == target || target->GetVehicle())
SendPacket(target);
}
}
开发者ID:Enturion,项目名称:EnturionEMU,代码行数:25,代码来源:GridNotifiers.cpp
示例3:
void
ObjectAccessor::WorldObjectChangeAccumulator::Visit(PlayerMapType &m)
{
for(PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
if(iter->getSource()->HaveAtClient(&i_object))
ObjectAccessor::_buildPacket(iter->getSource(), &i_object, i_updateDatas);
}
开发者ID:Augustusak,项目名称:mangos,代码行数:7,代码来源:ObjectAccessor.cpp
示例4: Visit
void PlayerRelocationNotifier::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
Player* player = iter->GetSource();
vis_guids.erase(player->GetGUID());
i_player.UpdateVisibilityOf(player, i_data, i_visibleNow);
player->UpdateVisibilityOf(&i_player); // this notifier with different Visit(PlayerMapType&) than VisibleNotifier is needed to update visibility of self for other players when we move (eg. stealth detection changes)
}
}
开发者ID:Keader,项目名称:Sunwell,代码行数:10,代码来源:GridNotifiers.cpp
示例5: Visit
void CreatureRelocationNotifier::Visit(PlayerMapType &m) {
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter) {
Player * pl = iter->getSource();
if (!pl->m_seer->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
pl->UpdateVisibilityOf(&i_creature);
CreatureUnitRelocationWorker(&i_creature, pl);
}
}
开发者ID:BlueSellafield,项目名称:ArkCORE,代码行数:10,代码来源:GridNotifiers.cpp
示例6: Visit
void MessageDelivererExcept::Visit(PlayerMapType &m)
{
for(PlayerMapType::iterator it = m.begin(); it!= m.end(); ++it)
{
Player* player = it->getSource();
if(!player->InSamePhase(i_phaseMask) || player == i_skipped_receiver)
continue;
if (WorldSession* session = player->GetSession())
session->SendPacket(i_message);
}
}
开发者ID:Nny,项目名称:Core,代码行数:12,代码来源:GridNotifiers.cpp
示例7: BuildPacket
void
ObjectAccessor::WorldObjectChangeAccumulator::Visit(PlayerMapType &m)
{
for(PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
BuildPacket(iter->getSource());
if (!iter->getSource()->GetSharedVisionList().empty())
{
SharedVisionList::const_iterator it = iter->getSource()->GetSharedVisionList().begin();
for ( ; it != iter->getSource()->GetSharedVisionList().end(); ++it)
BuildPacket(*it);
}
}
}
开发者ID:MilchBuby,项目名称:riboncore,代码行数:14,代码来源:ObjectAccessor.cpp
示例8: Visit
void DelayedUnitRelocation::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
Player* player = iter->GetSource();
WorldObject const* viewPoint = player->m_seer;
if (!viewPoint->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
continue;
if (player != viewPoint && !viewPoint->IsPositionValid())
continue;
PlayerRelocationNotifier relocate(*player);
Cell::VisitAllObjects(viewPoint, relocate, i_radius, false);
relocate.SendToSelf();
}
}
开发者ID:m-uu,项目名称:ElunaTrinityWotlk,代码行数:18,代码来源:GridNotifiers.cpp
示例9: Visit
void PlayerRelocationNotifier::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
Player* player = iter->getSource();
vis_guids.erase(player->GetGUID());
i_player.UpdateVisibilityOf(player, i_data, i_visibleNow);
if (i_data.IsFull())
{
WorldPacket packet;
i_data.BuildPacket(&packet);
i_player.GetSession()->SendPacket(&packet);
i_data = UpdateData(i_player.GetMapId());
}
if (player->m_seer->isNeedNotify(NOTIFY_VISIBILITY_CHANGED))
continue;
player->UpdateVisibilityOf(&i_player);
}
}
开发者ID:Adeer,项目名称:Patchs,代码行数:24,代码来源:GridNotifiers.cpp
示例10: SendPacket
void
Deliverer::Visit(PlayerMapType &m)
{
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
{
if (!i_dist || iter->getSource()->GetDistance(&i_source) <= i_dist)
{
// Send packet to all who are sharing the player's vision
if (!iter->getSource()->GetSharedVisionList().empty())
{
SharedVisionList::const_iterator it = iter->getSource()->GetSharedVisionList().begin();
for (; it != iter->getSource()->GetSharedVisionList().end(); ++it)
SendPacket(*it);
}
VisitObject(iter->getSource());
}
}
}
开发者ID:Zekom,项目名称:NeoCore,代码行数:19,代码来源:GridNotifiers.cpp
示例11: Visit
void DynamicObjectUpdater::Visit(PlayerMapType& m)
{
for (PlayerMapType::iterator itr = m.begin(); itr != m.end(); ++itr)
VisitHelper(itr->GetSource());
}
开发者ID:Mystiko,项目名称:OregonCore,代码行数:5,代码来源:GridNotifiers.cpp
注:本文中的playermaptype::iterator类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论