18#ifndef CollectionMgr_h__
19#define CollectionMgr_h__
25#include <boost/dynamic_bitset_fwd.hpp>
27#include <unordered_map>
28#include <unordered_set>
88 static void LoadMountDefinitions();
94 void ToySetFavorite(
uint32 itemId,
bool favorite);
95 void ToyClearFanfare(
uint32 itemId);
97 bool AddToy(
uint32 itemId,
bool isFavourite,
bool hasFanfare);
98 bool UpdateAccountToys(
uint32 itemId,
bool isFavourite,
bool hasFanfare);
99 bool HasToy(
uint32 itemId)
const {
return _toys.count(itemId) > 0; }
103 void OnItemAdded(
Item* item);
106 void LoadHeirlooms();
111 void UpgradeHeirloom(
uint32 itemId,
int32 castItem);
112 void CheckHeirloomUpgrades(
Item* item);
123 void MountSetFavorite(
uint32 spellId,
bool favorite);
124 void SendSingleMountUpdate(std::pair<uint32, MountStatusFlags> mount);
128 void LoadItemAppearances();
131 void AddItemAppearance(
Item* item);
132 void AddItemAppearance(
uint32 itemId,
uint32 appearanceModId = 0);
133 void AddTransmogSet(
uint32 transmogSetId);
134 bool IsSetCompleted(
uint32 transmogSetId)
const;
135 void RemoveTemporaryAppearance(
Item* item);
137 std::pair<bool, bool> HasItemAppearance(
uint32 itemModifiedAppearanceId)
const;
138 std::unordered_set<ObjectGuid> GetItemsProvidingTemporaryAppearance(
uint32 itemModifiedAppearanceId)
const;
140 std::unordered_set<uint32> GetAppearanceIds()
const;
143 void LoadTransmogIllusions();
146 void AddTransmogIllusion(
uint32 transmogIllusionId);
147 bool HasTransmogIllusion(
uint32 transmogIllusionId)
const;
156 void SetAppearanceIsFavorite(
uint32 itemModifiedAppearanceId,
bool apply);
157 void SendFavoriteAppearances()
const;
@ HEIRLOOM_ITEM_FLAG_SHOW_ONLY_IF_KNOWN
@ HEIRLOOM_ITEM_FLAG_NONE
DEFINE_ENUM_FLAG(ToyFlags)
std::map< uint32, HeirloomData > HeirloomContainer
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_2
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_6
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_3
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_5
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_1
@ HEIRLOOM_FLAG_UPGRADE_LEVEL_4
std::map< uint32, EnumFlag< ToyFlags > > ToyBoxContainer
std::map< uint32, MountStatusFlags > MountContainer
std::unordered_map< uint32, uint32 > MountDefinitionMap
SQLTransaction< LoginDatabaseConnection > LoginDatabaseTransaction
std::shared_ptr< PreparedResultSet > PreparedQueryResult
std::unordered_map< uint32, FavoriteAppearanceState > _favoriteAppearances
HeirloomContainer const & GetAccountHeirlooms() const
bool HasToy(uint32 itemId) const
HeirloomContainer _heirlooms
std::unordered_map< uint32, std::unordered_set< ObjectGuid > > _temporaryAppearances
std::unique_ptr< boost::dynamic_bitset< uint32 > > _appearances
ToyBoxContainer const & GetAccountToys() const
std::unique_ptr< boost::dynamic_bitset< uint32 > > _transmogIllusions
bool HasHeirloom(uint32 itemId) const
MountContainer const & GetAccountMounts() const
Player session in the World.
HeirloomData(uint32 _flags=0, uint32 _bonusId=0)