aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Phasing
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-04-27 09:06:49 +0200
committerShauren <shauren.trinity@gmail.com>2020-04-27 09:06:49 +0200
commitec87d048b4ebbb326158bc05512d1cc5ecbe8271 (patch)
treee5b2e066c61cb65f1c042ba061b0460f2a7a4dbb /src/server/game/Phasing
parent6f7ff9a3efd10cd4f776a67540109e7bb774f1c5 (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.cpp2
-rw-r--r--src/server/game/Phasing/PhaseShift.h11
-rw-r--r--src/server/game/Phasing/PhasingHandler.cpp2
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)