18#ifndef GarrisonMgr_h__
19#define GarrisonMgr_h__
26#include <unordered_map>
27#include <unordered_set>
48 std::unordered_set<GarrAbilityEntry const*>
Counters;
49 std::unordered_set<GarrAbilityEntry const*>
Traits;
60 std::vector<GarrSiteLevelPlotInstEntry const*>
const* GetGarrPlotInstForSiteLevel(
uint32 garrSiteLevelId)
const;
62 bool IsPlotMatchingBuilding(
uint32 garrPlotId,
uint32 garrBuildingId)
const;
63 uint32 GetGarrBuildingPlotInst(
uint32 garrBuildingId,
uint32 garrSiteLevelPlotInstId)
const;
66 uint64 GenerateFollowerDbId();
68 std::list<GarrAbilityEntry const*> GetClassSpecAbilities(
GarrFollowerEntry const* follower,
uint32 faction)
const;
71 void InitializeDbIdSequences();
72 void LoadPlotFinalizeGOInfo();
73 void LoadFollowerClassSpecAbilities();
88#define sGarrisonMgr GarrisonMgr::Instance()
std::unordered_map< uint32, std::vector< uint32 > > _garrisonBuildingsByType
std::set< GarrAbilityEntry const * > _garrisonFollowerRandomTraits
std::unordered_map< uint32, FinalizeGarrisonPlotGOInfo > _finalizePlotGOInfo
std::unordered_map< uint32, std::unordered_map< uint32, GameObjectsEntry const * > > _garrisonPlots
std::unordered_map< uint32, std::list< GarrAbilityEntry const * > > _garrisonFollowerClassSpecAbilities
std::unordered_map< uint32, std::unordered_set< uint32 > > _garrisonBuildingsByPlot
std::unordered_map< uint32, std::vector< GarrSiteLevelPlotInstEntry const * > > _garrisonPlotInstBySiteLevel
std::unordered_map< std::pair< uint32, uint32 >, uint32 > _garrisonBuildingPlotInstances
struct FinalizeGarrisonPlotGOInfo::@283 FactionInfo[2]
std::unordered_set< GarrAbilityEntry const * > Traits
std::unordered_set< GarrAbilityEntry const * > Counters