diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-04-26 15:27:48 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-04-26 15:27:48 +0200 |
commit | 0763844fb604075580e1c84672cb2e4a4fe19cde (patch) | |
tree | f25e720cce02ac894345a77ff87cfa9fce29ad3c /src/server/game/AuctionHouse | |
parent | d994707ba1dba71e65a87b6e3ff8a8630c7cc215 (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.cpp | 2 | ||||
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.h | 8 |
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, |