30 if (!std::holds_alternative<SmoothPhasingInfoViewerDependent>(_storage))
33 std::get<SmoothPhasingInfoViewerDependent>(_storage)[seer] = info;
38 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
39 std::get<SmoothPhasingInfoViewerDependent>(
_storage).erase(seer);
54 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
56 return !smoothPhasingInfo->Disabled;
63 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
66 return &std::get<SmoothPhasingInfoSingle>(
_storage);
71 if (std::holds_alternative<SmoothPhasingInfoViewerDependent>(
_storage))
73 smoothPhasingInfo->Disabled =
true;
void SetSingleInfo(SmoothPhasingInfo const &info)
SmoothPhasingInfo const * GetInfoForSeer(ObjectGuid seer) const
bool IsBeingReplacedForSeer(ObjectGuid seer) const
std::variant< SmoothPhasingInfoSingle, SmoothPhasingInfoViewerDependent > _storage
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)
Optional< ObjectGuid > ReplaceObject