diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-05-25 22:07:47 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-05-25 22:07:47 +0200 |
| commit | 3031fbb63bfb2df2aa041bd9c04c5c42b0c07c05 (patch) | |
| tree | 0c54d226b247db2719233f178b74a50da0993481 /src/server/game/Grids | |
| parent | aa592e431b945800928f2e43b3812cfa240fada1 (diff) | |
Core/Objects: Remove restriction on what object types can be set as active
Diffstat (limited to 'src/server/game/Grids')
| -rw-r--r-- | src/server/game/Grids/ObjectGridLoader.cpp | 22 | ||||
| -rw-r--r-- | src/server/game/Grids/ObjectGridLoader.h | 4 |
2 files changed, 4 insertions, 22 deletions
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index a6e3d5e52ce..82195be53bb 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -82,32 +82,14 @@ class ObjectWorldLoader uint32& i_corpses; }; -template<class T> -void ObjectGridLoaderBase::SetObjectCell(T* /*obj*/, CellCoord const& /*cellCoord*/) { } - -template<> void ObjectGridLoaderBase::SetObjectCell(Creature* obj, CellCoord const& cellCoord) -{ - Cell cell(cellCoord); - obj->SetCurrentCell(cell); -} - -template<> void ObjectGridLoaderBase::SetObjectCell(GameObject* obj, CellCoord const& cellCoord) +void ObjectGridLoaderBase::SetObjectCell(MapObject* obj, CellCoord const& cellCoord) { Cell cell(cellCoord); obj->SetCurrentCell(cell); } template <class T> -void AddObjectHelper(CellCoord &cell, GridRefManager<T> &m, uint32 &count, Map* /*map*/, T *obj) -{ - obj->AddToGrid(m); - ObjectGridLoader::SetObjectCell(obj, cell); - obj->AddToWorld(); - ++count; -} - -template <> -void AddObjectHelper(CellCoord &cell, CreatureMapType &m, uint32 &count, Map* map, Creature *obj) +void AddObjectHelper(CellCoord &cell, GridRefManager<T> &m, uint32 &count, Map* map, T *obj) { obj->AddToGrid(m); ObjectGridLoader::SetObjectCell(obj, cell); diff --git a/src/server/game/Grids/ObjectGridLoader.h b/src/server/game/Grids/ObjectGridLoader.h index 472efbaac5f..68c90c31f0e 100644 --- a/src/server/game/Grids/ObjectGridLoader.h +++ b/src/server/game/Grids/ObjectGridLoader.h @@ -22,6 +22,7 @@ #include "GridDefines.h" #include "Cell.h" +class MapObject; class ObjectGuid; class ObjectWorldLoader; @@ -32,8 +33,7 @@ class TC_GAME_API ObjectGridLoaderBase : i_cell(cell), i_grid(grid), i_map(map), i_gameObjects(0), i_creatures(0), i_corpses(0), i_areaTriggers(0) { } - template<class T> - static void SetObjectCell(T* obj, CellCoord const& cellCoord); + static void SetObjectCell(MapObject* obj, CellCoord const& cellCoord); uint32 GetLoadedCreatures() const { return i_creatures; } uint32 GetLoadedGameObjects() const { return i_gameObjects; } |
