diff options
| author | Shauren <shauren.trinity@gmail.com> | 2018-04-11 00:05:59 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-09-25 15:36:50 +0200 |
| commit | 52de393f10dae4b21b84bd02aadf929b2283d8fe (patch) | |
| tree | bf1b48c4e01685515f1de0ef73d8d2c179d42781 /src/server/game/Cache | |
| parent | 47630708f07b726cf8090c84cfa1d87b634609a0 (diff) | |
Core/Players: Greatly simplifiy fdb2b90685ebc3852740c424170101a196c29ebb
(cherry picked from commit 9617778336556cd9b19c77e037fb64344021d9cc)
Diffstat (limited to 'src/server/game/Cache')
| -rw-r--r-- | src/server/game/Cache/CharacterCache.cpp | 16 | ||||
| -rw-r--r-- | src/server/game/Cache/CharacterCache.h | 2 |
2 files changed, 1 insertions, 17 deletions
diff --git a/src/server/game/Cache/CharacterCache.cpp b/src/server/game/Cache/CharacterCache.cpp index 27b5dab47b6..a078c502e40 100644 --- a/src/server/game/Cache/CharacterCache.cpp +++ b/src/server/game/Cache/CharacterCache.cpp @@ -30,7 +30,6 @@ namespace { std::unordered_map<ObjectGuid, CharacterCacheEntry> _characterCacheStore; std::unordered_map<std::string, CharacterCacheEntry*> _characterCacheByNameStore; - std::unordered_set<std::string> _characterCreationNameStore; } CharacterCache::CharacterCache() @@ -226,21 +225,6 @@ CharacterCacheEntry const* CharacterCache::GetCharacterCacheByName(std::string c return nullptr; } -std::shared_ptr<std::string const> CharacterCache::TryCreateCharacterWithName(std::string const& name) const -{ - auto itr = _characterCacheByNameStore.find(name); - if (itr != _characterCacheByNameStore.end()) - return nullptr; - - auto insertResult = _characterCreationNameStore.insert(name); - if (!insertResult.second) - return nullptr; - - // shared_ptr with custom deleter that erases its held value from _characterCreationNameStore instead of deleting it (points to value inside the container) - return std::shared_ptr<std::string const>(&(*insertResult.first), - [this](std::string const* storedName) { _characterCreationNameStore.erase(*storedName); }); -} - ObjectGuid CharacterCache::GetCharacterGuidByName(std::string const& name) const { auto itr = _characterCacheByNameStore.find(name); diff --git a/src/server/game/Cache/CharacterCache.h b/src/server/game/Cache/CharacterCache.h index 3f8a49dc861..a9a872da837 100644 --- a/src/server/game/Cache/CharacterCache.h +++ b/src/server/game/Cache/CharacterCache.h @@ -58,7 +58,7 @@ class TC_GAME_API CharacterCache bool HasCharacterCacheEntry(ObjectGuid const& guid) const; CharacterCacheEntry const* GetCharacterCacheByGuid(ObjectGuid const& guid) const; CharacterCacheEntry const* GetCharacterCacheByName(std::string const& name) const; - std::shared_ptr<std::string const> TryCreateCharacterWithName(std::string const& name) const; + ObjectGuid GetCharacterGuidByName(std::string const& name) const; bool GetCharacterNameByGuid(ObjectGuid guid, std::string& name) const; uint32 GetCharacterTeamByGuid(ObjectGuid guid) const; |
