Changeset 233 for trunk/src/game/Map.cpp
- Timestamp:
- 11/19/08 13:49:07 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/Map.cpp
r229 r233 316 316 CellPair pair = Trinity::ComputeCellPair(obj->GetPositionX(), obj->GetPositionY()); 317 317 Cell cell(pair); 318 NGridType *grid = getNGrid(cell.GridX(), cell.GridY()); 318 NGridType *ngrid = getNGrid(cell.GridX(), cell.GridY()); 319 GridType &grid = (*ngrid)(cell.CellX(), cell.CellY()); 319 320 320 321 if (active) 321 322 { 322 (*grid)(cell.CellX(), cell.CellY()).RemoveGridObject<T>(obj, obj->GetGUID()); 323 (*grid)(cell.CellX(), cell.CellY()).AddWorldObject<T>(obj, obj->GetGUID()); 323 if (!grid.GetWorldObject(obj->GetGUID(), obj)) 324 { 325 grid.RemoveGridObject<T>(obj, obj->GetGUID()); 326 grid.AddWorldObject<T>(obj, obj->GetGUID()); 327 } 324 328 } else 325 329 { 326 (*grid)(cell.CellX(), cell.CellY()).RemoveWorldObject<T>(obj, obj->GetGUID()); 327 (*grid)(cell.CellX(), cell.CellY()).AddGridObject<T>(obj, obj->GetGUID()); 330 if (!grid.GetGridObject(obj->GetGUID(), obj)) 331 { 332 grid.RemoveWorldObject<T>(obj, obj->GetGUID()); 333 grid.AddGridObject<T>(obj, obj->GetGUID()); 334 } 328 335 } 329 336 } … … 331 338 template void Map::SwitchGridContainers(Creature *, bool); 332 339 template void Map::SwitchGridContainers(Corpse *, bool); 340 template void Map::SwitchGridContainers(DynamicObject *, bool); 333 341 334 342 template<class T>