void LoadHelper(CellCorpseSet const& cell_corpses, CellPair& cell, CorpseMapType& /*m*/, uint32& count, Map* map, GridType& grid) { if (cell_corpses.empty()) return; for (CellCorpseSet::const_iterator itr = cell_corpses.begin(); itr != cell_corpses.end(); ++itr) { if (itr->second != map->GetInstanceId()) continue; uint32 player_lowguid = itr->first; Corpse* obj = sObjectAccessor.GetCorpseForPlayerGUID(ObjectGuid(HIGHGUID_PLAYER, player_lowguid)); if (!obj) continue; grid.AddWorldObject(obj); addUnitState(obj, cell); obj->SetMap(map); obj->AddToWorld(); if (obj->isActiveObject()) map->AddToActive(obj); ++count; } }
void LoadHelper(CellGuidSet const& guid_set, CellPair& cell, GridRefManager<T>& /*m*/, uint32& count, Map* map, GridType& grid) { BattleGround* bg = map->IsBattleGroundOrArena() ? ((BattleGroundMap*)map)->GetBG() : NULL; for (CellGuidSet::const_iterator i_guid = guid_set.begin(); i_guid != guid_set.end(); ++i_guid) { uint32 guid = *i_guid; T* obj = new T; // sLog.outString("DEBUG: LoadHelper from table: %s for (guid: %u) Loading",table,guid); if (!obj->LoadFromDB(guid, map)) { delete obj; continue; } grid.AddGridObject(obj); addUnitState(obj, cell); obj->SetMap(map); obj->AddToWorld(); if (obj->isActiveObject()) map->AddToActive(obj); obj->GetViewPoint().Event_AddedToWorld(&grid); if (bg) bg->OnObjectDBLoad(obj); ++count; } }
void AddObjectHelper(CellPair &cell, GridRefManager<T> &m, uint32 &count, Map* map, T *obj) { obj->GetGridRef().link(&m, obj); addUnitState(obj,cell); obj->AddToWorld(); if (obj->isActiveObject()) map->AddToActive(obj); ++count; }