aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AuctionHouse
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-04-26 15:27:48 +0200
committerShauren <shauren.trinity@gmail.com>2020-04-26 15:27:48 +0200
commit0763844fb604075580e1c84672cb2e4a4fe19cde (patch)
treef25e720cce02ac894345a77ff87cfa9fce29ad3c /src/server/game/AuctionHouse
parentd994707ba1dba71e65a87b6e3ff8a8630c7cc215 (diff)
Core/Misc: Improve enum flags with type safe operators
Diffstat (limited to 'src/server/game/AuctionHouse')
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp2
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h8
2 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index e6a33a15a07..421c701089c 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -1147,7 +1147,7 @@ void AuctionHouseObject::Update()
}
void AuctionHouseObject::BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,
- std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumClassFlag<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
+ std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag_t<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
uint8 const* knownPetBits, std::size_t knownPetBitsCount, uint8 maxKnownPetLevel, uint32 offset, WorldPackets::AuctionHouse::AuctionSortDef const* sorts, std::size_t sortCount)
{
std::unordered_set<uint32> knownAppearanceIds;
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h
index 22f9dce7c7f..86e311a67af 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -21,7 +21,7 @@
#include "Define.h"
#include "DatabaseEnvFwd.h"
#include "Duration.h"
-#include "EnumClassFlag.h"
+#include "EnumFlag.h"
#include "ItemTemplate.h"
#include "ObjectGuid.h"
#include "Optional.h"
@@ -111,6 +111,8 @@ enum class AuctionHouseFilterMask : uint32
ArtifactQuality = 0x400,
};
+namespace EnumFlag { template<> struct IsFlag<AuctionHouseFilterMask> : std::true_type { }; }
+
enum class AuctionHouseSortOrder : uint8
{
Price = 0,
@@ -204,7 +206,7 @@ struct AuctionsBucketData
uint8 ItemClass = 0;
uint8 ItemSubClass = 0;
uint8 InventoryType = 0;
- EnumClassFlag<AuctionHouseFilterMask> QualityMask = AuctionHouseFilterMask::None;
+ AuctionHouseFilterMask QualityMask = AuctionHouseFilterMask::None;
std::array<uint32, MAX_ITEM_QUALITY> QualityCounts = { };
uint64 MinPrice = 0; // for sort
std::array<std::pair<uint32, uint32>, 4> ItemModifiedAppearanceId = { }; // for uncollected search
@@ -293,7 +295,7 @@ public:
void Update();
void BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,
- std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumClassFlag<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
+ std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag_t<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
uint8 const* knownPetBits, std::size_t knownPetBitsCount, uint8 maxKnownPetLevel,
uint32 offset, WorldPackets::AuctionHouse::AuctionSortDef const* sorts, std::size_t sortCount);
void BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,