23 if (!std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
26 std::get<SmoothPhasingInfoViewerDependent>(
_storage)[seer] = info;
31 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
32 std::get<SmoothPhasingInfoViewerDependent>(
_storage).erase(seer);
42 return std::holds_alternative<SmoothPhasingInfoSingle>(
_storage) && std::get<SmoothPhasingInfoSingle>(
_storage).ReplaceObject == guid;
47 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
49 return !smoothPhasingInfo->Disabled;
56 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
59 return &std::get<SmoothPhasingInfoSingle>(
_storage);
64 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
66 smoothPhasingInfo->Disabled =
true;
void SetSingleInfo(SmoothPhasingInfo const &info)
SmoothPhasingInfo const * GetInfoForSeer(ObjectGuid seer) const
bool IsBeingReplacedForSeer(ObjectGuid seer) const
std::variant< SmoothPhasingInfoSingle, SmoothPhasingInfoViewerDependent > _storage
void SetViewerDependentInfo(ObjectGuid seer, SmoothPhasingInfo const &info)
bool IsReplacing(ObjectGuid guid) const
std::unordered_map< ObjectGuid, SmoothPhasingInfo > SmoothPhasingInfoViewerDependent
void ClearViewerDependentInfo(ObjectGuid seer)
void DisableReplacementForSeer(ObjectGuid seer)
auto MapGetValuePtr(M &map, typename M::key_type const &key)