本文整理汇总了C++中GameObject::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::Delete方法的具体用法?C++ GameObject::Delete怎么用?C++ GameObject::Delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject::Delete方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RespawnFlagAfterDrop
void BattleGroundWS::RespawnFlagAfterDrop(uint32 team)
{
if (GetStatus() != STATUS_IN_PROGRESS)
return;
RespawnFlag(team,false);
if (team == ALLIANCE)
{
SpawnBGObject(BG_WS_OBJECT_A_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(GetTrinityString(LANG_BG_WS_ALLIANCE_FLAG_RESPAWNED));
}
else
{
SpawnBGObject(BG_WS_OBJECT_H_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(GetTrinityString(LANG_BG_WS_HORDE_FLAG_RESPAWNED));
}
PlaySoundToAll(BG_WS_SOUND_FLAGS_RESPAWNED);
Map * tmpMap = GetMap();
if (!tmpMap)
return;
GameObject *obj = tmpMap->GetGameObject(GetDroppedFlagGUID(team));
if (obj)
obj->Delete();
else
sLog.outLog(LOG_DEFAULT, "ERROR: unknown droped flag bg, guid: %u",GUID_LOPART(GetDroppedFlagGUID(team)));
SetDroppedFlagGUID(0,team);
m_BothFlagsKept = false;
}
示例2: RespawnFlagAfterDrop
void BattleGroundWS::RespawnFlagAfterDrop(uint32 team)
{
if (GetStatus() != STATUS_IN_PROGRESS)
return;
RespawnFlag(team,false);
if (team == ALLIANCE)
{
SpawnBGObject(BG_WS_OBJECT_A_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(LANG_BG_WS_ALLIANCE_FLAG_RESPAWNED, CHAT_MSG_BG_SYSTEM_NEUTRAL);
}
else
{
SpawnBGObject(BG_WS_OBJECT_H_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(LANG_BG_WS_HORDE_FLAG_RESPAWNED, CHAT_MSG_BG_SYSTEM_NEUTRAL);
}
PlaySoundToAll(BG_WS_SOUND_FLAGS_RESPAWNED);
GameObject *obj = HashMapHolder<GameObject>::Find(GetDroppedFlagGUID(team));
if (obj)
obj->Delete();
else
sLog.outError("unknown droped flag bg, guid: %u",GUID_LOPART(GetDroppedFlagGUID(team)));
SetDroppedFlagGUID(0,team);
}
示例3: HandleDelObjectCommand
bool ChatHandler::HandleDelObjectCommand(const char* args)
{
if(!*args)
return false;
uint32 lowguid = atoi((char*)args);
if(!lowguid)
return false;
GameObject* obj = ObjectAccessor::Instance().GetGameObject(*m_session->GetPlayer(), MAKE_GUID(lowguid, HIGHGUID_GAMEOBJECT));
if(!obj)
{
PSendSysMessage("Game Object (GUID: %u) not found", lowguid);
return true;
}
if(obj->isReferenced())
{
PSendSysMessage("Game Object (GUID: %u) have references in some Unit GO list, can't be deleted.", obj->GetGUIDLow());
return true;
}
obj->Delete();
obj->DeleteFromDB();
PSendSysMessage("Game Object (GUID: %u) removed", obj->GetGUIDLow());
return true;
}
示例4: RespawnFlagAfterDrop
void BattlegroundTP::RespawnFlagAfterDrop(uint32 team)
{
if (GetStatus() != STATUS_IN_PROGRESS)
return;
RespawnFlag(team, false);
if (team == ALLIANCE)
{
SpawnBGObject(BG_TP_OBJECT_A_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(LANG_BG_TP_ALLIANCE_FLAG_RESPAWNED, CHAT_MSG_BG_SYSTEM_NEUTRAL);
}
else
{
SpawnBGObject(BG_TP_OBJECT_H_FLAG, RESPAWN_IMMEDIATELY);
SendMessageToAll(LANG_BG_TP_HORDE_FLAG_RESPAWNED, CHAT_MSG_BG_SYSTEM_NEUTRAL);
}
PlaySoundToAll(BG_TP_SOUND_FLAGS_RESPAWNED);
GameObject *obj = GetBgMap()->GetGameObject(GetDroppedFlagGUID(team));
if (obj)
obj->Delete();
else
sLog->outError("unknown droped flag bg, guid: %u", GUID_LOPART(GetDroppedFlagGUID(team)));
SetDroppedFlagGUID(0, team);
m_BothFlagsKept = false;
}
示例5: DelObject
bool OPvPCapturePoint::DelObject(uint32 type)
{
if (!m_Objects[type])
return false;
if (!m_PvP->GetMap())
{
sLog.outLog(LOG_DEFAULT, "ERROR: opvp capture point couldn't get map to find creature");
return false;
}
GameObject *obj = m_PvP->GetMap()->GetGameObject(m_Objects[type]);
if (!obj)
{
m_Objects[type] = 0;
return false;
}
uint32 guid = obj->GetDBTableGUIDLow();
obj->SetRespawnTime(0); // not save respawn time
obj->Delete();
sObjectMgr.DeleteGOData(guid);
m_ObjectTypes[m_Objects[type]] = 0;
m_Objects[type] = 0;
return true;
}
示例6: DelObject
bool OPvPCapturePoint::DelObject(uint32 type)
{
if(!m_Objects[type])
return false;
Map* map = sMapMgr.FindMap(530);
if(!map)
{
m_Objects[type] = 0;
return false;
}
GameObject *obj = map->GetGameObject(m_Objects[type]);
if(!obj)
{
m_Objects[type] = 0;
return false;
}
uint32 guid = obj->GetDBTableGUIDLow();
obj->SetRespawnTime(0); // not save respawn time
obj->Delete();
sObjectMgr.DeleteGOData(guid);
m_ObjectTypes[m_Objects[type]] = 0;
m_Objects[type] = 0;
return true;
}
示例7: DespawnBGObject
void BattleGroundDS::DespawnBGObject(uint64 const& guid)
{
Map* map = GetBgMap();
GameObject *obj = map->GetGameObject(guid);
if(obj)
obj->Delete();
}
示例8: CallDelete
void GameObject::CallDelete(ObjectMaster *obj)
{
GameObject *cgo = (GameObject *)obj->Data2;
cgo->Delete();
obj->Data2 = nullptr;
cgo->objData = nullptr;
if (cgo->initFromObj)
delete cgo;
}
示例9: SpawnObjects
void SpawnObjects(MapMgr *pmgr)
{
if(pmgr->GetMapId() != 530)
return;
const static sgodata godata[] = {
{ 182173, -290.016f, 3702.42f, 56.6729f, 0.0349066f, 0, 0, 0.0174524f, 0.999848f, 1, 32, 0, 1 }, // stadium
{ 182174, -184.889f, 3476.93f, 38.205f, -0.0174535f, 0, 0, 0.00872664f, -0.999962f, 1, 32, 0, 1 }, // overlook
{ 182175, -471.462f, 3451.09f, 34.6432f, 0.174533f, 0, 0, 0.0871557f, 0.996195f, 1, 32, 0, 1 }, // brokenhill
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};
const static sgodata godata_banner[] = {
{ 183515, -289.61f, 3696.83f, 75.9447f, 3.12414f, 0, 0, 0.999962f, 0.00872656f, 1, 32, 1375, 1 }, // stadium
{ 182525, -187.887f, 3459.38f, 60.0403f, -3.12414f, 0, 0, 0.999962f, -0.00872653f, 1, 32, 1375, 1 }, // overlook
{ 183514, -467.078f, 3528.17f, 64.7121f, 3.14159f, 0, 0, 1, -4.37114E-8f, 1, 32, 1375, 1 }, // brokenhill
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};
for(uint32 i = 0; i < 3; ++i)
{
GameObject *pGo = pmgr->GetInterface()->SpawnGameObject(godata[i].entry, godata[i].posx, godata[i].posy, godata[i].posz, godata[i].facing, false, 0, 0);
if(pGo == NULL)
continue;
GameObject *pGo2 = pmgr->GetInterface()->SpawnGameObject(godata_banner[i].entry, godata_banner[i].posx, godata_banner[i].posy, godata_banner[i].posz, godata_banner[i].facing, false, 0, 0);
if(pGo2 == NULL)
{
pGo->Delete();
continue;
}
pGo->SetUInt32Value(GAMEOBJECT_STATE, godata[i].state);
pGo->SetUInt32Value(GAMEOBJECT_FLAGS, godata[i].flags);
pGo->SetUInt32Value(GAMEOBJECT_FACTION, godata[i].faction);
pGo2->SetUInt32Value(GAMEOBJECT_STATE, godata_banner[i].state);
pGo2->SetUInt32Value(GAMEOBJECT_FLAGS, godata_banner[i].flags);
pGo2->SetUInt32Value(GAMEOBJECT_FACTION, godata_banner[i].faction);
for(uint32 j = 0; j < 4; ++j)
{
pGo->SetFloatValue(GAMEOBJECT_ROTATION + j, godata[i].orientation[j]);
pGo2->SetFloatValue(GAMEOBJECT_ROTATION + j, godata_banner[i].orientation[j]);
}
// now make his script
pGo->SetScript(new HellfirePeninsulaBannerAI(pGo));
dynamic_cast<HellfirePeninsulaBannerAI*>(pGo->GetScript())->pBanner = pGo2;
pGo->AddToWorld(pmgr);
pGo2->AddToWorld(pmgr);
dynamic_cast<HellfirePeninsulaBannerAI*>(pGo->GetScript())->SetupGo(pmgr);
}
}
示例10: RewardReached
bool RewardReached(GameObject *reward)
{
GameObject *target = FindGameObject(GO_LOOT_BOX, 10, me);
if(target)
{
me->CastSpell(me, SPELL_SMASH, false); // CHECKME: should do some emote that he is opening chest
target->Delete();
}
return true;
}
示例11: RespawnFlagAfterDrop
void BattlegroundEY::RespawnFlagAfterDrop()
{
RespawnFlag(true);
GameObject* obj = HashMapHolder<GameObject>::Find(GetDroppedFlagGUID());
if (obj)
obj->Delete();
else
TC_LOG_ERROR("bg.battleground", "BattlegroundEY: Unknown dropped flag guid: %s", GetDroppedFlagGUID().ToString().c_str());
SetDroppedFlagGUID(ObjectGuid::Empty);
}
示例12: RespawnFlagAfterDrop
void BattlegroundEY::RespawnFlagAfterDrop()
{
RespawnFlag(true);
GameObject* obj = HashMapHolder<GameObject>::Find(GetDroppedFlagGUID());
if (obj)
obj->Delete();
else
TC_LOG_ERROR(LOG_FILTER_BATTLEGROUND, "BattlegroundEY: Unknown dropped flag guid: %u", GUID_LOPART(GetDroppedFlagGUID()));
SetDroppedFlagGUID(0);
}
示例13: MovementInform
void MovementInform(uint32 /*type*/, uint32 id)
{
if(id == 1)
{
GameObject* Keg = me->FindNearestGameObject(GO_KEG, 20);
if(Keg)
Keg->Delete();
me->HandleEmoteCommand(7);
me->SetReactState(REACT_AGGRESSIVE);
me->GetMotionMaster()->MoveTargetedHome();
}
}
示例14: RespawnFlagAfterDrop
void BattleGroundEY::RespawnFlagAfterDrop()
{
RespawnFlag(true);
GameObject *obj = GetBgMap()->GetGameObject(GetDroppedFlagGUID());
if (obj)
obj->Delete();
else
sLog.outError("BattleGroundEY: Unknown dropped flag guid: %u",GUID_LOPART(GetDroppedFlagGUID()));
SetDroppedFlagGUID(0);
}
示例15: RespawnFlagAfterDrop
void BattlegroundEY::RespawnFlagAfterDrop()
{
RespawnFlag(true);
GameObject* obj = GetBgMap()->GetGameObject(GetDroppedFlagGUID());
if (obj)
obj->Delete();
else
TC_LOG_ERROR("bg.battleground", "BattlegroundEY: Unknown dropped flag (%s).", GetDroppedFlagGUID().ToString().c_str());
SetDroppedFlagGUID(ObjectGuid::Empty);
}