diff options
author | megamage <none@none> | 2009-08-11 11:11:22 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-11 11:11:22 -0500 |
commit | d4165ac36e9bc91081e192065b9ab1854096e9f6 (patch) | |
tree | cd963ca7b665788caad4b91f4e5d75a4515903fd /src/game/ObjectGridLoader.cpp | |
parent | a51cc015fab928fe349c68c502002abd74595943 (diff) |
*Use unified function in loadhelper.
--HG--
branch : trunk
Diffstat (limited to 'src/game/ObjectGridLoader.cpp')
-rw-r--r-- | src/game/ObjectGridLoader.cpp | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/src/game/ObjectGridLoader.cpp b/src/game/ObjectGridLoader.cpp index de549cd32b8..c55bf0106b0 100644 --- a/src/game/ObjectGridLoader.cpp +++ b/src/game/ObjectGridLoader.cpp @@ -110,6 +110,18 @@ template<> void addUnitState(Creature *obj, CellPair const& cell_pair) } template <class T> +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; +} + +template <class T> void LoadHelper(CellGuidSet const& guid_set, CellPair &cell, GridRefManager<T> &m, uint32 &count, Map* map) { for(CellGuidSet::const_iterator i_guid = guid_set.begin(); i_guid != guid_set.end(); ++i_guid) @@ -123,14 +135,7 @@ void LoadHelper(CellGuidSet const& guid_set, CellPair &cell, GridRefManager<T> & continue; } - obj->GetGridRef().link(&m, obj); - addUnitState(obj,cell); - obj->AddToWorld(); - if(obj->isActiveObject()) - map->AddToActive(obj); - - ++count; - + AddObjectHelper(cell, m, count, map, obj); } } @@ -152,14 +157,7 @@ void LoadHelper(CellGuidSet const& guid_set, CellPair &cell, CreatureMapType &m, } } - obj->GetGridRef().link(&m, obj); - addUnitState(obj,cell); - obj->AddToWorld(); - if(obj->isActiveObject()) - map->AddToActive(obj); - - ++count; - + AddObjectHelper(cell, m, count, map, obj); } } @@ -179,13 +177,7 @@ void LoadHelper(CellCorpseSet const& cell_corpses, CellPair &cell, CorpseMapType if(!obj) continue; - obj->GetGridRef().link(&m, obj); - addUnitState(obj,cell); - obj->AddToWorld(); - if(obj->isActiveObject()) - map->AddToActive(obj); - - ++count; + AddObjectHelper(cell, m, count, map, obj); } } |