diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-07-13 13:40:31 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-07-13 13:40:31 +0200 |
commit | 5de252ae8471cea021944d2f404a7793f39a8d0d (patch) | |
tree | 013165f80f8315e6bfe907af32fa193dee4264cb /src/server/game/Achievements | |
parent | 8fad176f5f83f741107d06a9cbe0243da89f8b30 (diff) |
Core/Misc: Move large functions out of header files
Diffstat (limited to 'src/server/game/Achievements')
-rw-r--r-- | src/server/game/Achievements/AchievementMgr.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.h | 12 |
3 files changed, 22 insertions, 17 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 3323e9c7212..8cdc4bc2f46 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -38,7 +38,6 @@ #include "StringConvert.h" #include "World.h" #include "WorldSession.h" -#include <sstream> struct VisibleAchievementCheck { @@ -794,7 +793,6 @@ void GuildAchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, Prep void GuildAchievementMgr::SaveToDB(CharacterDatabaseTransaction trans) { CharacterDatabasePreparedStatement* stmt; - std::ostringstream guidstr; for (std::pair<uint32 const, CompletedAchievementData>& completedAchievement : _completedAchievements) { if (!completedAchievement.second.Changed) @@ -809,14 +807,19 @@ void GuildAchievementMgr::SaveToDB(CharacterDatabaseTransaction trans) stmt->setUInt64(0, _owner->GetId()); stmt->setUInt32(1, completedAchievement.first); stmt->setInt64(2, completedAchievement.second.Date); - for (ObjectGuid memberGuid : completedAchievement.second.CompletingPlayers) - guidstr << memberGuid.GetCounter() << ','; + std::string guidstr; + auto completersItr = completedAchievement.second.CompletingPlayers.begin(); + auto completersEnd = completedAchievement.second.CompletingPlayers.end(); + if (completersItr != completersEnd) + { + Trinity::StringFormatTo(std::back_inserter(guidstr), "{}", completersItr->GetCounter()); + while (++completersItr != completersEnd) + Trinity::StringFormatTo(std::back_inserter(guidstr), ",{}", completersItr->GetCounter()); + } - stmt->setString(3, guidstr.str()); + stmt->setString(3, std::move(guidstr)); trans->Append(stmt); - guidstr.str(""); - completedAchievement.second.Changed = false; } diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 1c3df7302cb..eacc492e97a 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -4634,6 +4634,11 @@ CriteriaList const& CriteriaMgr::GetScenarioCriteriaByTypeAndScenario(CriteriaTy return EmptyCriteriaList; } +CriteriaTreeList const* CriteriaMgr::GetCriteriaTreesByCriteria(uint32 criteriaId) const +{ + return Trinity::Containers::MapGetValuePtr(_criteriaTreeByCriteria, criteriaId); +} + std::unordered_map<int32, CriteriaList> const& CriteriaMgr::GetCriteriaByStartEvent(CriteriaStartEvent startEvent) const { return _criteriasByStartEvent[size_t(startEvent)]; @@ -4654,6 +4659,11 @@ CriteriaList const* CriteriaMgr::GetCriteriaByFailEvent(CriteriaFailEvent failEv return Trinity::Containers::MapGetValuePtr(_criteriasByFailEvent[size_t(failEvent)], asset); } +CriteriaDataSet const* CriteriaMgr::GetCriteriaDataSet(Criteria const* criteria) const +{ + return Trinity::Containers::MapGetValuePtr(_criteriaDataMap, criteria->ID); +} + CriteriaMgr::CriteriaMgr() = default; //========================================================== diff --git a/src/server/game/Achievements/CriteriaHandler.h b/src/server/game/Achievements/CriteriaHandler.h index 067566d0bde..7057d1c5b79 100644 --- a/src/server/game/Achievements/CriteriaHandler.h +++ b/src/server/game/Achievements/CriteriaHandler.h @@ -345,11 +345,7 @@ public: return _questObjectiveCriteriasByType[size_t(type)]; } - CriteriaTreeList const* GetCriteriaTreesByCriteria(uint32 criteriaId) const - { - auto itr = _criteriaTreeByCriteria.find(criteriaId); - return itr != _criteriaTreeByCriteria.end() ? &itr->second : nullptr; - } + CriteriaTreeList const* GetCriteriaTreesByCriteria(uint32 criteriaId) const; std::unordered_map<int32, CriteriaList> const& GetCriteriaByStartEvent(CriteriaStartEvent startEvent) const; CriteriaList const* GetCriteriaByStartEvent(CriteriaStartEvent startEvent, int32 asset) const; @@ -357,11 +353,7 @@ public: std::unordered_map<int32, CriteriaList> const& GetCriteriaByFailEvent(CriteriaFailEvent failEvent) const; CriteriaList const* GetCriteriaByFailEvent(CriteriaFailEvent failEvent, int32 asset) const; - CriteriaDataSet const* GetCriteriaDataSet(Criteria const* Criteria) const - { - auto iter = _criteriaDataMap.find(Criteria->ID); - return iter != _criteriaDataMap.end() ? &iter->second : nullptr; - } + CriteriaDataSet const* GetCriteriaDataSet(Criteria const* criteria) const; static bool IsGroupCriteriaType(CriteriaType type) { |