18#ifndef TRINITYCORE_COLLECTION_MGR_H
19#define TRINITYCORE_COLLECTION_MGR_H
26#include <boost/dynamic_bitset_fwd.hpp>
28#include <unordered_map>
29#include <unordered_set>
118 static void LoadMountDefinitions();
119 static void LoadWarbandSceneDefinitions();
121 void LoadCharacterData();
128 void ToySetFavorite(
uint32 itemId,
bool favorite);
129 void ToyClearFanfare(
uint32 itemId);
131 bool AddToy(
uint32 itemId,
bool isFavourite,
bool hasFanfare);
132 bool UpdateAccountToys(
uint32 itemId,
bool isFavourite,
bool hasFanfare);
137 void OnItemAdded(
Item* item);
140 void LoadHeirlooms();
145 void UpgradeHeirloom(
uint32 itemId,
int32 castItem);
146 void CheckHeirloomUpgrades(
Item* item);
157 void MountSetFavorite(
uint32 spellId,
bool favorite);
158 void SendSingleMountUpdate(std::pair<uint32, MountStatusFlags> mount);
162 void LoadItemAppearances();
165 void AddItemAppearance(
Item* item);
166 void AddItemAppearance(
uint32 itemId,
uint32 appearanceModId = 0);
167 void AddTransmogSet(
uint32 transmogSetId);
168 bool IsSetCompleted(
uint32 transmogSetId)
const;
169 void RemoveTemporaryAppearance(
Item* item);
171 std::pair<bool, bool> HasItemAppearance(
uint32 itemModifiedAppearanceId)
const;
172 std::unordered_set<ObjectGuid> GetItemsProvidingTemporaryAppearance(
uint32 itemModifiedAppearanceId)
const;
174 std::unordered_set<uint32> GetAppearanceIds()
const;
176 void SetAppearanceIsFavorite(
uint32 itemModifiedAppearanceId,
bool apply);
177 void SendFavoriteAppearances()
const;
180 void LoadTransmogIllusions();
183 void AddTransmogIllusion(
uint32 transmogIllusionId);
184 bool HasTransmogIllusion(
uint32 transmogIllusionId)
const;
186 void LoadTransmogOutfits();
189 void AddTransmogOutfit(
int32 transmogOutfitId);
190 bool HasTransmogOutfit(
int32 transmogOutfitId)
const;
193 void LoadWarbandScenes();
196 void AddWarbandScene(
uint32 warbandSceneId);
197 bool HasWarbandScene(
uint32 warbandSceneId)
const;
198 void SetWarbandSceneIsFavorite(
uint32 warbandSceneId,
bool apply);
201 void SendWarbandSceneCollectionData()
const;
@ HEIRLOOM_ITEM_FLAG_SHOW_ONLY_IF_KNOWN
@ HEIRLOOM_ITEM_FLAG_NONE
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, WarbandSceneCollectionItem > WarbandSceneCollectionContainer
std::map< uint32, EnumFlag< ToyFlags > > ToyBoxContainer
std::map< uint32, MountStatusFlags > MountContainer
std::unordered_map< uint32, uint32 > MountDefinitionMap
WarbandSceneCollectionFlags
SQLTransaction< LoginDatabaseConnection > LoginDatabaseTransaction
std::shared_ptr< PreparedResultSet > PreparedQueryResult
#define DEFINE_ENUM_FLAG(enumType)
static void SaveToDB(QuestPool const &pool, CharacterDatabaseTransaction trans)
CollectionMgr & operator=(CollectionMgr const &)=delete
CollectionMgr(CollectionMgr const &)=delete
HeirloomContainer const & GetAccountHeirlooms() const
bool HasToy(uint32 itemId) const
HeirloomContainer _heirlooms
std::unordered_map< uint32, std::unordered_set< ObjectGuid > > _temporaryAppearances
std::unordered_map< uint32, CollectionItemState > _favoriteAppearances
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
WarbandSceneCollectionContainer _warbandScenes
Trinity::Containers::FlatSet< int32 > _transmogOutfits
CollectionMgr(CollectionMgr &&)=delete
CollectionMgr & operator=(CollectionMgr &&)=delete
WarbandSceneCollectionContainer const & GetWarbandScenes() const
Player session in the World.
HeirloomData(uint32 _flags=0, uint32 _bonusId=0)
CollectionItemState State
EnumFlag< WarbandSceneCollectionFlags > Flags