本文整理汇总了C++中CreatureObject::isOnline方法的典型用法代码示例。如果您正苦于以下问题:C++ CreatureObject::isOnline方法的具体用法?C++ CreatureObject::isOnline怎么用?C++ CreatureObject::isOnline使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreatureObject
的用法示例。
在下文中一共展示了CreatureObject::isOnline方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeLeader
void GroupManager::makeLeader(GroupObject* group, CreatureObject* player, CreatureObject* newLeader) {
// Pre: player locked
// Post: player locked
player->unlock();
try {
group->wlock();
if (group->getLeader() != player) {
player->sendSystemMessage("@group:must_be_leader");
group->unlock();
player->wlock();
return;
}
if (!group->hasMember(newLeader) || !newLeader->isPlayerCreature()) {
group->unlock();
player->wlock();
return;
}
group->makeLeader(newLeader);
String firstNameLeader;
firstNameLeader = "[Offline player]";
if (newLeader->isPlayerCreature()) {
CreatureObject* playerLeader = cast<CreatureObject*>( newLeader);
if (playerLeader->isOnline())
firstNameLeader= playerLeader->getFirstName();
}
StringIdChatParameter message;
message.setStringId("group", "new_leader"); // %TU is now the group leader.
message.setTU(newLeader);
for (int i = 0; i < group->getGroupSize(); i++) {
Reference<CreatureObject*> play = ( group->getGroupMember(i)).castTo<CreatureObject*>();
if (play->isPlayerCreature())
play->sendSystemMessage(message);
}
group->unlock();
} catch (...) {
group->unlock();
player->wlock();
throw;
}
player->wlock();
}