aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-07-13 13:40:31 +0200
committerShauren <shauren.trinity@gmail.com>2025-07-13 13:40:31 +0200
commit5de252ae8471cea021944d2f404a7793f39a8d0d (patch)
tree013165f80f8315e6bfe907af32fa193dee4264cb /src/server/game/Globals/ObjectMgr.cpp
parent8fad176f5f83f741107d06a9cbe0243da89f8b30 (diff)
Core/Misc: Move large functions out of header files
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp42
1 files changed, 26 insertions, 16 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index ba7f7d79edc..bb0e73e04e6 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -8584,30 +8584,40 @@ void ObjectMgr::LoadNPCSpellClickSpells()
TC_LOG_INFO("server.loading", ">> Loaded {} spellclick definitions in {} ms", count, GetMSTimeDiffToNow(oldMSTime));
}
-void ObjectMgr::DeleteCreatureData(ObjectGuid::LowType guid)
+CreatureData& ObjectMgr::NewOrExistCreatureData(ObjectGuid::LowType spawnId)
+{
+ return _creatureDataStore[spawnId];
+}
+
+void ObjectMgr::DeleteCreatureData(ObjectGuid::LowType spawnId)
{
// remove mapid*cellid -> guid_set map
- CreatureData const* data = GetCreatureData(guid);
- if (data)
- {
- RemoveCreatureFromGrid(data);
- OnDeleteSpawnData(data);
- }
+ auto itr = _creatureDataStore.find(spawnId);
+ if (itr == _creatureDataStore.end())
+ return;
+
+ RemoveCreatureFromGrid(&itr->second);
+ OnDeleteSpawnData(&itr->second);
- _creatureDataStore.erase(guid);
+ _creatureDataStore.erase(itr);
}
-void ObjectMgr::DeleteGameObjectData(ObjectGuid::LowType guid)
+GameObjectData& ObjectMgr::NewOrExistGameObjectData(ObjectGuid::LowType spawnId)
+{
+ return _gameObjectDataStore[spawnId];
+}
+
+void ObjectMgr::DeleteGameObjectData(ObjectGuid::LowType spawnId)
{
// remove mapid*cellid -> guid_set map
- GameObjectData const* data = GetGameObjectData(guid);
- if (data)
- {
- RemoveGameobjectFromGrid(data);
- OnDeleteSpawnData(data);
- }
+ auto itr = _gameObjectDataStore.find(spawnId);
+ if (itr == _gameObjectDataStore.end())
+ return;
+
+ RemoveGameobjectFromGrid(&itr->second);
+ OnDeleteSpawnData(&itr->second);
- _gameObjectDataStore.erase(guid);
+ _gameObjectDataStore.erase(itr);
}
void ObjectMgr::LoadQuestRelationsHelper(QuestRelations& map, QuestRelationsReverse* reverseMap, std::string const& table)