本文整理汇总了C++中SystemEntity::IsClient方法的典型用法代码示例。如果您正苦于以下问题:C++ SystemEntity::IsClient方法的具体用法?C++ SystemEntity::IsClient怎么用?C++ SystemEntity::IsClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SystemEntity
的用法示例。
在下文中一共展示了SystemEntity::IsClient方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Killed
void DroneEntity::Killed(Damage &fatal_blow)
{
m_destiny->Stop();
DynamicSystemEntity::Killed(fatal_blow);
SystemEntity *killer = fatal_blow.source;
Client* client = m_services.entity_list.FindByShip( killer->Item()->ownerID() );
if( !killer->IsClient() )
{
if( client != NULL )
{
killer = static_cast<SystemEntity*>(client);
}
}
else
{
client = killer->CastToClient();
}
//TODO: award status changes. (entitySecurityStatusKillBonus)
client->GetChar()->addSecurityRating( m_self->GetAttribute(AttrEntitySecurityStatusKillBonus).get_float() );
m_system->RemoveEntity(this);
}
示例2:
SystemManager::~SystemManager() {
//we mustn't delete clients because they are owned by the entity list.
std::map<uint32, SystemEntity *>::iterator cur, end, tmp;
cur = m_entities.begin();
end = m_entities.end();
while(cur != end) {
SystemEntity *se = cur->second;
cur++;
if(!se->IsClient())
delete se;
}
//must be deleted AFTER all the NPCs which it spawn have been, since
//they will call back to their spawning spawn entries.
delete m_spawnManager;
bubbles.clear();
}
示例3: while
SystemManager::~SystemManager() {
//we mustn't delete clients because they are owned by the entity list.
std::map<uint32, SystemEntity *>::iterator cur, end, tmp;
cur = m_entities.begin();
end = m_entities.end();
while(cur != end) {
SystemEntity *se = cur->second;
cur++;
// If entity is an NPC, save its data to DB for persietence across server restarts:
if(se->IsNPC())
se->CastToNPC()->SaveNPC();
if(!se->IsClient())
delete se;
}
//must be deleted AFTER all the NPCs which it spawn have been, since
//they will call back to their spawning spawn entries.
delete m_spawnManager;
bubbles.clear();
}