diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-12-17 14:05:01 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-12-17 14:23:43 +0100 |
| commit | e8b3dda4a0cbbea0236ec607265fe80236c17a74 (patch) | |
| tree | 63eadf6097808d98235a1a33329e02e811cc8206 /src/server/game/BattlePets | |
| parent | 446997cdf2bf24163141d7dcaa80bb6ef891f933 (diff) | |
Core/BattlePets: Wrap battle pet related code in a separate namespace
Diffstat (limited to 'src/server/game/BattlePets')
| -rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.cpp | 20 | ||||
| -rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.h | 30 |
2 files changed, 26 insertions, 24 deletions
diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp index dbb408325dc..c9166d86a02 100644 --- a/src/server/game/BattlePets/BattlePetMgr.cpp +++ b/src/server/game/BattlePets/BattlePetMgr.cpp @@ -31,7 +31,17 @@ #include "World.h" #include "WorldSession.h" -void BattlePetMgr::BattlePet::CalculateStats() +namespace BattlePets +{ +namespace +{ +std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetBreedStates; +std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetSpeciesStates; +std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> _availableBreedsPerSpecies; +std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> _defaultQualityPerSpecies; +} + +void BattlePet::CalculateStats() { float health = 0.0f; float power = 0.0f; @@ -80,11 +90,6 @@ void BattlePetMgr::BattlePet::CalculateStats() PacketInfo.Speed = uint32(round(speed / 100)); } -std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> BattlePetMgr::_battlePetBreedStates; -std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> BattlePetMgr::_battlePetSpeciesStates; -std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> BattlePetMgr::_availableBreedsPerSpecies; -std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> BattlePetMgr::_defaultQualityPerSpecies; - void BattlePetMgr::Initialize() { if (QueryResult result = LoginDatabase.Query("SELECT MAX(guid) FROM battle_pets")) @@ -414,7 +419,7 @@ void BattlePetMgr::SaveToDB(LoginDatabaseTransaction& trans) } } -BattlePetMgr::BattlePet* BattlePetMgr::GetPet(ObjectGuid guid) +BattlePet* BattlePetMgr::GetPet(ObjectGuid guid) { return Trinity::Containers::MapGetValuePtr(_pets, guid.GetCounter()); } @@ -741,3 +746,4 @@ bool BattlePetMgr::IsJournalLockAcquired() const { return sWorld->IsBattlePetJournalLockAcquired(_owner->GetBattlenetAccountGUID()); } +} diff --git a/src/server/game/BattlePets/BattlePetMgr.h b/src/server/game/BattlePets/BattlePetMgr.h index 6fa7f588863..7a80e82aee8 100644 --- a/src/server/game/BattlePets/BattlePetMgr.h +++ b/src/server/game/BattlePets/BattlePetMgr.h @@ -25,6 +25,8 @@ struct BattlePetSpeciesEntry; +namespace BattlePets +{ enum BattlePetMisc { DEFAULT_MAX_BATTLE_PETS_PER_SPECIES = 3, @@ -123,19 +125,19 @@ enum BattlePetSaveInfo BATTLE_PET_REMOVED = 3 }; -class BattlePetMgr +struct BattlePet { -public: - struct BattlePet - { - void CalculateStats(); + void CalculateStats(); - WorldPackets::BattlePet::BattlePet PacketInfo; - time_t NameTimestamp = time_t(0); - std::unique_ptr<::DeclinedName> DeclinedName; - BattlePetSaveInfo SaveInfo = BATTLE_PET_UNCHANGED; - }; + WorldPackets::BattlePet::BattlePet PacketInfo; + time_t NameTimestamp = time_t(0); + std::unique_ptr<::DeclinedName> DeclinedName; + BattlePetSaveInfo SaveInfo = BATTLE_PET_UNCHANGED; +}; +class BattlePetMgr +{ +public: explicit BattlePetMgr(WorldSession* owner); static void Initialize(); @@ -193,12 +195,6 @@ private: static void LoadAvailablePetBreeds(); static void LoadDefaultPetQualities(); - - // hash no longer required in C++14 - static std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetBreedStates; - static std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetSpeciesStates; - static std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> _availableBreedsPerSpecies; - static std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> _defaultQualityPerSpecies; }; - +} #endif // BattlePetMgr_h__ |
