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; } }