aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-05-25 22:07:47 +0200
committerShauren <shauren.trinity@gmail.com>2022-05-25 22:07:47 +0200
commit3031fbb63bfb2df2aa041bd9c04c5c42b0c07c05 (patch)
tree0c54d226b247db2719233f178b74a50da0993481 /src/server/game/Grids
parentaa592e431b945800928f2e43b3812cfa240fada1 (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.cpp22
-rw-r--r--src/server/game/Grids/ObjectGridLoader.h4
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; }