diff options
| author | Shauren <shauren.trinity@gmail.com> | 2020-04-27 09:06:49 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-04-27 09:06:49 +0200 |
| commit | ec87d048b4ebbb326158bc05512d1cc5ecbe8271 (patch) | |
| tree | e5b2e066c61cb65f1c042ba061b0460f2a7a4dbb /src/server/game/Phasing | |
| parent | 6f7ff9a3efd10cd4f776a67540109e7bb774f1c5 (diff) | |
Core/Misc: Enum flag v3 - allow enabling flag operations directly after enum definition when inside namespaces
Diffstat (limited to 'src/server/game/Phasing')
| -rw-r--r-- | src/server/game/Phasing/PhaseShift.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Phasing/PhaseShift.h | 11 | ||||
| -rw-r--r-- | src/server/game/Phasing/PhasingHandler.cpp | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Phasing/PhaseShift.cpp b/src/server/game/Phasing/PhaseShift.cpp index a93101c5687..16ed9aaa5e8 100644 --- a/src/server/game/Phasing/PhaseShift.cpp +++ b/src/server/game/Phasing/PhaseShift.cpp @@ -169,7 +169,7 @@ void PhaseShift::ModifyPhasesReferences(PhaseContainer::iterator itr, int32 refe void PhaseShift::UpdateUnphasedFlag() { - EnumFlag_t<PhaseShiftFlags> unphasedFlag = !Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::Unphased : PhaseShiftFlags::InverseUnphased; + EnumFlag<PhaseShiftFlags> unphasedFlag = !Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::Unphased : PhaseShiftFlags::InverseUnphased; Flags &= ~(!Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::InverseUnphased : PhaseShiftFlags::Unphased); if (NonCosmeticReferences && !DefaultReferences) Flags &= ~unphasedFlag; diff --git a/src/server/game/Phasing/PhaseShift.h b/src/server/game/Phasing/PhaseShift.h index dc77665e3e6..0fadbcc42df 100644 --- a/src/server/game/Phasing/PhaseShift.h +++ b/src/server/game/Phasing/PhaseShift.h @@ -48,11 +48,8 @@ enum class PhaseFlags : uint16 Personal = 0x2 }; -namespace EnumFlag -{ - template<> struct IsFlag<PhaseShiftFlags> : std::true_type { }; - template<> struct IsFlag<PhaseFlags> : std::true_type { }; -} +DEFINE_ENUM_FLAG(PhaseShiftFlags); +DEFINE_ENUM_FLAG(PhaseFlags); class TC_GAME_API PhaseShift { @@ -63,7 +60,7 @@ public: : Id(id), Flags(flags), References(0), AreaConditions(conditions) { } uint16 Id; - EnumFlag_t<PhaseFlags> Flags; + EnumFlag<PhaseFlags> Flags; int32 References; std::vector<Condition*> const* AreaConditions; bool operator<(PhaseRef const& right) const { return Id < right.Id; } @@ -113,7 +110,7 @@ public: protected: friend class PhasingHandler; - EnumFlag_t<PhaseShiftFlags> Flags; + EnumFlag<PhaseShiftFlags> Flags; ObjectGuid PersonalGuid; PhaseContainer Phases; VisibleMapIdContainer VisibleMapIds; diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp index aefaecc57d7..edb176de644 100644 --- a/src/server/game/Phasing/PhasingHandler.cpp +++ b/src/server/game/Phasing/PhasingHandler.cpp @@ -438,7 +438,7 @@ void PhasingHandler::InitDbPhaseShift(PhaseShift& phaseShift, uint8 phaseUseFlag phaseShift.ClearPhases(); phaseShift.IsDbPhaseShift = true; - EnumFlag_t<PhaseShiftFlags> flags = PhaseShiftFlags::None; + EnumFlag<PhaseShiftFlags> flags = PhaseShiftFlags::None; if (phaseUseFlags & PHASE_USE_FLAGS_ALWAYS_VISIBLE) flags |= PhaseShiftFlags::AlwaysVisible | PhaseShiftFlags::Unphased; if (phaseUseFlags & PHASE_USE_FLAGS_INVERSE) |
