本文整理汇总了C++中GameObject::GetObjectGuid方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::GetObjectGuid方法的具体用法?C++ GameObject::GetObjectGuid怎么用?C++ GameObject::GetObjectGuid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject::GetObjectGuid方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoFindNewTubber
// Function to search for new tubber in range
void DoFindNewTubber()
{
std::list<GameObject*> lTubbersInRange;
GetGameObjectListWithEntryInGrid(lTubbersInRange, m_creature, GO_BLUELEAF_TUBBER, 40.0f);
if (lTubbersInRange.empty())
return;
lTubbersInRange.sort(ObjectDistanceOrder(m_creature));
GameObject* pNearestTubber = nullptr;
// Always need to find new ones
for (std::list<GameObject*>::const_iterator itr = lTubbersInRange.begin(); itr != lTubbersInRange.end(); ++itr)
{
if (!(*itr)->isSpawned() && (*itr)->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND) && (*itr)->IsWithinLOSInMap(m_creature))
{
pNearestTubber = *itr;
break;
}
}
if (!pNearestTubber)
return;
m_targetTubberGuid = pNearestTubber->GetObjectGuid();
float fX, fY, fZ;
pNearestTubber->GetContactPoint(m_creature, fX, fY, fZ);
m_creature->GetMotionMaster()->MovePoint(1, fX, fY, fZ);
m_bIsMovementActive = true;
}
示例2: HandleQuestgiverStatusMultipleQuery
void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket*/)
{
DEBUG_LOG("WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY");
uint32 count = 0;
WorldPacket data(SMSG_QUESTGIVER_STATUS_MULTIPLE, 4);
data << uint32(count); // placeholder
for(ObjectGuidSet::const_iterator itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr)
{
uint8 dialogStatus = DIALOG_STATUS_NONE;
if (itr->IsAnyTypeCreature())
{
// need also pet quests case support
Creature *questgiver = GetPlayer()->GetMap()->GetAnyTypeCreature(*itr);
if (!questgiver || questgiver->IsHostileTo(_player))
continue;
if (!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
continue;
dialogStatus = sScriptMgr.GetDialogStatus(_player, questgiver);
if (dialogStatus > DIALOG_STATUS_REWARD_REP)
dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE);
data << questgiver->GetObjectGuid();
data << uint8(dialogStatus);
++count;
}
else if (itr->IsGameObject())
{
GameObject *questgiver = GetPlayer()->GetMap()->GetGameObject(*itr);
if (!questgiver)
continue;
if (questgiver->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
continue;
dialogStatus = sScriptMgr.GetDialogStatus(_player, questgiver);
if (dialogStatus > DIALOG_STATUS_REWARD_REP)
dialogStatus = getDialogStatus(_player, questgiver, DIALOG_STATUS_NONE);
data << questgiver->GetObjectGuid();
data << uint8(dialogStatus);
++count;
}
}
data.put<uint32>(0, count); // write real count
SendPacket(&data);
}
示例3: u_check
list<ObjectGuid> NearestGameObjects::Calculate()
{
list<GameObject*> targets;
AnyGameObjectInObjectRangeCheck u_check(bot, range);
GameObjectListSearcher<AnyGameObjectInObjectRangeCheck> searcher(targets, u_check);
Cell::VisitAllObjects((const WorldObject*)bot, searcher, range);
list<ObjectGuid> result;
for(list<GameObject*>::iterator tIter = targets.begin(); tIter != targets.end(); ++tIter)
{
GameObject* go = *tIter;
if(bot->IsWithinLOSInMap(go))
result.push_back(go->GetObjectGuid());
}
return result;
}
示例4: OnCreatureEnterCombat
void OnCreatureEnterCombat(Creature * pCreature)
{
switch (pCreature->GetEntry())
{
case NPC_CAPTAIN_QEEZ:
case NPC_CAPTAIN_TUUBID:
case NPC_CAPTAIN_DRENN:
case NPC_CAPTAIN_XURREM:
case NPC_MAJOR_YEGGETH:
case NPC_MAJOR_PAKKON:
case NPC_COLONEL_ZERRAN:
case NPC_SWARMGUARD_NEEDLER:
case NPC_QIRAJI_WARRIOR:
/** Create Yeggeth list for Rajaxx Shield ability */
if (CreatureGroup* g = pCreature->GetCreatureGroup())
if (g->GetLeaderGuid().GetEntry() == NPC_MAJOR_YEGGETH)
m_lYeggethShieldList.push_back(pCreature->GetGUID());
// If any creature from Rajaxx's wave enters combat, start Rajaxx event.
if (m_auiEncounter[TYPE_RAJAXX] == NOT_STARTED)
SetData(TYPE_RAJAXX, IN_PROGRESS);
m_bRajaxxEventIsToReset = false;
// no break
case NPC_KURINNAXX:
case NPC_RAJAXX:
case NPC_BURU:
case NPC_MOAM:
case NPC_AYAMISS:
case NPC_OSSIRIAN:
if (!m_bIsAQDoorOn)
{
GameObject *pAQDoor = pCreature->SummonGameObject(176149,
-8526,
1507.4f,
49,
4.20662f, 0, 0, 0.861534f, -0.5077f, -1, false);
p_doorGuid = pAQDoor->GetObjectGuid();
m_bIsAQDoorOn = true;
}
break;
default:
break;
}
}