TrinityCore
Loading...
Searching...
No Matches
CriteriaMgr Class Reference

#include <CriteriaHandler.h>

Public Member Functions

 CriteriaMgr (CriteriaMgr const &right)=delete
 
 CriteriaMgr (CriteriaMgr &&right)=delete
 
CriteriaMgr & operator= (CriteriaMgr const &right)=delete
 
CriteriaMgr & operator= (CriteriaMgr &&right)=delete
 
CriteriaList const & GetPlayerCriteriaByType (CriteriaType type, uint32 asset) const
 
CriteriaList const & GetGuildCriteriaByType (CriteriaType type) const
 
CriteriaList const & GetScenarioCriteriaByTypeAndScenario (CriteriaType type, uint32 scenarioId) const
 
CriteriaList const & GetQuestObjectiveCriteriaByType (CriteriaType type) const
 
CriteriaTreeList const * GetCriteriaTreesByCriteria (uint32 criteriaId) const
 
CriteriaList const * GetCriteriaByStartEvent (CriteriaStartEvent startEvent, int32 asset) const
 
CriteriaList const * GetCriteriaByFailEvent (CriteriaFailEvent failEvent, int32 asset) const
 
CriteriaDataSet const * GetCriteriaDataSet (Criteria const *criteria) const
 
void LoadCriteriaModifiersTree ()
 
void LoadCriteriaList ()
 
void LoadCriteriaData ()
 
CriteriaTree const * GetCriteriaTree (uint32 criteriaTreeId) const
 
Criteria const * GetCriteria (uint32 criteriaId) const
 
ModifierTreeNode const * GetModifierTree (uint32 modifierTreeId) const
 

Static Public Member Functions

static char const * GetCriteriaTypeString (CriteriaType type)
 
static char const * GetCriteriaTypeString (uint32 type)
 
static CriteriaMgr * Instance ()
 
static bool IsGroupCriteriaType (CriteriaType type)
 
template<typename Func >
static void WalkCriteriaTree (CriteriaTree const *tree, Func const &func)
 
static std::span< CriteriaType const > GetRetroactivelyUpdateableCriteriaTypes ()
 

Private Member Functions

 CriteriaMgr ()
 
 ~CriteriaMgr ()
 

Private Attributes

std::unordered_map< uint32, CriteriaDataSet > _criteriaDataMap
 
std::unordered_map< uint32, CriteriaTree > _criteriaTrees
 
std::unordered_map< uint32, Criteria > _criteria
 
std::unordered_map< uint32, ModifierTreeNode > _criteriaModifiers
 
std::unordered_map< uint32, CriteriaTreeList > _criteriaTreeByCriteria
 
CriteriaList _criteriasByType [size_t(CriteriaType::Count)]
 
std::unordered_map< std::pair< int32, int32 >, CriteriaList > _criteriasByAsset
 
CriteriaList _guildCriteriasByType [size_t(CriteriaType::Count)]
 
std::unordered_map< std::pair< int32, int32 >, CriteriaList > _scenarioCriteriasByTypeAndScenarioId
 
CriteriaList _questObjectiveCriteriasByType [size_t(CriteriaType::Count)]
 
std::unordered_map< std::pair< int32, int32 >, CriteriaList > _criteriasByStartEvent
 
std::unordered_map< std::pair< int32, int32 >, CriteriaList > _criteriasByFailEvent
 

Static Private Attributes

static CriteriaList const EmptyCriteriaList
 

Detailed Description

Definition at line 318 of file CriteriaHandler.h.

Constructor & Destructor Documentation

◆ CriteriaMgr() [1/3]

CriteriaMgr::CriteriaMgr ( )
privatedefault

◆ ~CriteriaMgr()

CriteriaMgr::~CriteriaMgr ( )
privatedefault

◆ CriteriaMgr() [2/3]

CriteriaMgr::CriteriaMgr ( CriteriaMgr const &  right)
delete

◆ CriteriaMgr() [3/3]

CriteriaMgr::CriteriaMgr ( CriteriaMgr &&  right)
delete

Member Function Documentation

◆ GetCriteria()

Criteria const * CriteriaMgr::GetCriteria ( uint32  criteriaId) const

Definition at line 4942 of file CriteriaHandler.cpp.

References _criteria.

Referenced by LoadCriteriaData().

◆ GetCriteriaByFailEvent()

CriteriaList const * CriteriaMgr::GetCriteriaByFailEvent ( CriteriaFailEvent  failEvent,
int32  asset 
) const

◆ GetCriteriaByStartEvent()

CriteriaList const * CriteriaMgr::GetCriteriaByStartEvent ( CriteriaStartEvent  startEvent,
int32  asset 
) const

◆ GetCriteriaDataSet()

CriteriaDataSet const * CriteriaMgr::GetCriteriaDataSet ( Criteria const *  criteria) const

◆ GetCriteriaTree()

CriteriaTree const * CriteriaMgr::GetCriteriaTree ( uint32  criteriaTreeId) const

Definition at line 4933 of file CriteriaHandler.cpp.

References _criteriaTrees.

◆ GetCriteriaTreesByCriteria()

CriteriaTreeList const * CriteriaMgr::GetCriteriaTreesByCriteria ( uint32  criteriaId) const

◆ GetCriteriaTypeString() [1/2]

char const * CriteriaMgr::GetCriteriaTypeString ( CriteriaType  type)
static

Definition at line 4056 of file CriteriaHandler.cpp.

References AbandonAnyQuest, AbandonedLFGDungeon, AbandonedLFRDungeon, AcceptSummon, AccountHonorLevelReached, AccountKnownPet, AccountObtainPetThroughBattle, AchieveSkillStep, AcquireGarrison, AcquireItem, ActivateAnyGarrisonBuilding, ActivateGarrisonBuilding, ActivelyEarnPetLevel, ActivelyReachLevel, AnyArtifactPowerRankPurchased, AnyoneTriggerGameEventScenario, ArtifactPowerRankPurchased, AuctionsWon, AzeriteLevelReached, BankSlotsPurchased, BankTabPurchased, BattlePetAchievementPointsEarned, BattlePetReachLevel, BeSpellTarget, BuyItemsFromVendors, BuyTaxi, CastSpell, CatchFishInFishingHole, ChooseAnyRelicTalent, ChooseRelicTalent, CollectGarrisonShipment, CollectTransmogSetFromGroup, CompleteAnyBattleground, CompleteAnyChallengeMode, CompleteAnyDailyQuestPerDay, CompleteAnyGuildChallenge, CompleteAnyReplayQuest, CompleteAnyResearchProject, CompleteAnyScenario, CompleteAnyWorldQuest, CompleteChallengeMode, CompleteDailyQuest, CompletedLFGDungeon, CompletedLFGDungeonWithStrangers, CompletedLFRDungeon, CompleteGuildChallenge, CompleteInternalCriteria, CompleteQuest, CompleteQuestsCount, CompleteQuestsCountForGuild, CompleteQuestsCountOnAccount, CompleteQuestsInSort, CompleteQuestsInZone, CompleteResearchAnyGarrisonTalent, CompleteResearchGarrisonTalent, CompleteResearchProject, CompleteScenario, CompleteTrackingQuest, CreatedItemsByCastingSpell, CreatedItemsByCastingSpellWithLimit, CurrencyGained, DamageDealt, DefeatDungeonEncounter, DefeatDungeonEncounterWhileElegibleForLoot, DeliveredKillingBlow, DeliverKillingBlowToClass, DeliverKillingBlowToRace, DieAnywhere, DieFromEnviromentalDamage, DieInInstance, DieOnMap, DoEmote, EarnAchievement, EarnAchievementPoints, EarnArtifactXP, EarnArtifactXPForAzeriteItem, EarnBattlegroundRating, EarnChallengeModeMedal, EarnExpansionLevel, EarnGuildAchievementPoints, EarnHonorableKill, EarnLicense, EarnPersonalArenaRating, EarnTeamArenaRating, EarnTitle, EnterArea, EnterAreaTriggerWithActionSet, EnterTopLevelArea, EquipItem, EquipItemInSlot, ExhaustAnyResearchSite, FindResearchObject, FishInAnyPool, FulfillAnyCraftingOrder, FulfillCraftingOrderType, GainAura, GainLevels, GetLootByType, GotHaircut, GroupedTankLeftEarlyInLFGDungeon, GroupedTankLeftEarlyInLFRDungeon, GuildAttainedLevel, GuildBankTabsPurchased, GuildTabardCreated, HealingDone, HighestAuctionBid, HighestAuctionSale, HighestDamageDone, HighestDamageTaken, HighestHealCast, HighestHealReceived, HonorableKills, HonorableKillsForGuild, HonorLevelIncrease, ItemLevelChangedForGarrisonFollower, ItemsPostedAtAuction, KickInitiatorInLFGDungeon, KickInitiatorInLFRDungeon, KickTargetInLFGDungeon, KickTargetInLFRDungeon, KickVoterInLFGDungeon, KickVoterInLFRDungeon, KillAnyCreature, KillAnyCreatureForGuild, KillCreature, KillCreatureScenario, KilledAllUnitsInSpawnRegion, KilledByCreature, KilledByPlayer, KillPlayer, LandTargetedSpellOnTarget, LearnAnyGarrisonBlueprint, LearnAnyGarrisonSpecialization, LearnAnyHeirloom, LearnAnyToy, LearnAnyTransmog, LearnAnyTransmogIllusion, LearnAnyTransmogInSlot, LearnedNewPet, LearnGarrisonBlueprint, LearnGarrisonSpecialization, LearnHeirloom, LearnOrKnowSpell, LearnSpellFromSkillLine, LearnTaxiNode, LearnToy, LearnTradeskillSkillLine, LearnTransmog, LearnTransmogIllusion, LeaveArea, LeaveAreaTriggerWithActionSet, LeaveTopLevelArea, LevelChangedForGarrisonFollower, Login, LootAnyItem, LootItem, LoseDuel, LosePetBattle, MarkedAFKInBattleground, MarkedSomeoneAFKInBattleground, MaxDistFallenWithoutDying, MemorizeSpell, MoneyEarnedFromAuctions, MoneyEarnedFromQuesting, MoneyEarnedFromSales, MoneyLootedFromCreatures, MoneySpentAtBarberShop, MoneySpentOnGuildRepair, MoneySpentOnPostage, MoneySpentOnRespecs, MoneySpentOnTaxis, MostMoneyOwned, MythicPlusCompleted, MythicPlusDisplaySeasonEnded, MythicPlusRatingAttained, ObtainAnyItem, ObtainAnyItemWithCurrencyValue, ParagonLevelIncreaseWithFaction, ParticipateInAnyBattleground, ParticipateInArena, ParticipateInBattleground, ParticipateInRatedSoloShuffleRound, PerksProgramMonthComplete, PlaceAnyGarrisonBuilding, PlaceGarrisonBuilding, PlayerHasEarnedHonor, PlayerObtainPetThroughBattle, PlayerTriggerGameEvent, PrestigeLevelIncrease, PVPKillInArea, QualityUpgradedForGarrisonFollower, ReachLevel, ReachMaxLevel, ReachRenownLevel, RecruitAnyGarrisonFollower, RecruitAnyGarrisonTroop, RecruitGarrisonFollower, ReleasedSpirit, RemovedAFKInBattleground, ReputationAmountGained, ReputationGained, RevealWorldMapOverlay, RollAnyDisenchant, RollAnyGreed, RollAnyNeed, RollDisenchant, RollGreed, RollNeed, RunInstance, ScenarioGroupCompleted, SellItemsToVendors, SkillRaised, SocketAnySoulbindConduit, SocketGarrisonTalent, SpentTalentPoint, StartAnyBattleground, StartAnyGarrisonMissionWithFollowerType, StartGarrisonMission, StartResearchAnyGarrisonTalent, StartResearchGarrisonTalent, SucceedAnyGarrisonMissionWithFollowerType, SucceedGarrisonMission, TotalDamageTaken, TotalExaltedFactions, TotalFactionsEncountered, TotalHealReceived, TotalHonoredFactions, TotalRespecs, TotalReveredFactions, TrackedWorldStateUIModified, UniquePetsOwned, UpgradeGarrison, UseGameobject, UseItem, WinAnyBattleground, WinAnyRankedArena, WinArena, WinBattleground, WinDuel, WinPetBattle, and WinRatedSoloShuffleRound.

Referenced by CriteriaHandler::CanUpdateCriteria(), CriteriaHandler::CanUpdateCriteriaTree(), AchievementMgr::CanUpdateCriteriaTree(), QuestObjectiveCriteriaMgr::CanUpdateCriteriaTree(), GetCriteriaTypeString(), and CriteriaHandler::UpdateCriteria().

◆ GetCriteriaTypeString() [2/2]

char const * CriteriaMgr::GetCriteriaTypeString ( uint32  type)
static

Definition at line 4051 of file CriteriaHandler.cpp.

References GetCriteriaTypeString().

◆ GetGuildCriteriaByType()

CriteriaList const & CriteriaMgr::GetGuildCriteriaByType ( CriteriaType  type) const
inline

Definition at line 336 of file CriteriaHandler.h.

◆ GetModifierTree()

ModifierTreeNode const * CriteriaMgr::GetModifierTree ( uint32  modifierTreeId) const

Definition at line 4951 of file CriteriaHandler.cpp.

References _criteriaModifiers.

◆ GetPlayerCriteriaByType()

CriteriaList const & CriteriaMgr::GetPlayerCriteriaByType ( CriteriaType  type,
uint32  asset 
) const

Definition at line 4602 of file CriteriaHandler.cpp.

References _criteriasByAsset, _criteriasByType, and EmptyCriteriaList.

◆ GetQuestObjectiveCriteriaByType()

CriteriaList const & CriteriaMgr::GetQuestObjectiveCriteriaByType ( CriteriaType  type) const
inline

Definition at line 343 of file CriteriaHandler.h.

◆ GetRetroactivelyUpdateableCriteriaTypes()

◆ GetScenarioCriteriaByTypeAndScenario()

CriteriaList const & CriteriaMgr::GetScenarioCriteriaByTypeAndScenario ( CriteriaType  type,
uint32  scenarioId 
) const

◆ Instance()

CriteriaMgr * CriteriaMgr::Instance ( )
static

Definition at line 4547 of file CriteriaHandler.cpp.

◆ IsGroupCriteriaType()

static bool CriteriaMgr::IsGroupCriteriaType ( CriteriaType  type)
inlinestatic

◆ LoadCriteriaData()

◆ LoadCriteriaList()

◆ LoadCriteriaModifiersTree()

◆ operator=() [1/2]

CriteriaMgr & CriteriaMgr::operator= ( CriteriaMgr &&  right)
delete

◆ operator=() [2/2]

CriteriaMgr & CriteriaMgr::operator= ( CriteriaMgr const &  right)
delete

◆ WalkCriteriaTree()

template<typename Func >
static void CriteriaMgr::WalkCriteriaTree ( CriteriaTree const *  tree,
Func const &  func 
)
inlinestatic

Member Data Documentation

◆ _criteria

std::unordered_map<uint32, Criteria> CriteriaMgr::_criteria
private

Definition at line 396 of file CriteriaHandler.h.

Referenced by GetCriteria(), and LoadCriteriaList().

◆ _criteriaDataMap

std::unordered_map<uint32, CriteriaDataSet> CriteriaMgr::_criteriaDataMap
private

Definition at line 393 of file CriteriaHandler.h.

Referenced by GetCriteriaDataSet(), and LoadCriteriaData().

◆ _criteriaModifiers

std::unordered_map<uint32, ModifierTreeNode> CriteriaMgr::_criteriaModifiers
private

Definition at line 397 of file CriteriaHandler.h.

Referenced by GetModifierTree(), LoadCriteriaList(), and LoadCriteriaModifiersTree().

◆ _criteriasByAsset

std::unordered_map<std::pair<int32, int32>, CriteriaList> CriteriaMgr::_criteriasByAsset
private

Definition at line 404 of file CriteriaHandler.h.

Referenced by GetPlayerCriteriaByType(), and LoadCriteriaList().

◆ _criteriasByFailEvent

std::unordered_map<std::pair<int32, int32>, CriteriaList> CriteriaMgr::_criteriasByFailEvent
private

Definition at line 410 of file CriteriaHandler.h.

Referenced by GetCriteriaByFailEvent(), and LoadCriteriaList().

◆ _criteriasByStartEvent

std::unordered_map<std::pair<int32, int32>, CriteriaList> CriteriaMgr::_criteriasByStartEvent
private

Definition at line 409 of file CriteriaHandler.h.

Referenced by GetCriteriaByStartEvent(), and LoadCriteriaList().

◆ _criteriasByType

CriteriaList CriteriaMgr::_criteriasByType[size_t(CriteriaType::Count)]
private

Definition at line 403 of file CriteriaHandler.h.

Referenced by GetPlayerCriteriaByType(), and LoadCriteriaList().

◆ _criteriaTreeByCriteria

std::unordered_map<uint32, CriteriaTreeList> CriteriaMgr::_criteriaTreeByCriteria
private

Definition at line 399 of file CriteriaHandler.h.

Referenced by GetCriteriaTreesByCriteria(), and LoadCriteriaList().

◆ _criteriaTrees

std::unordered_map<uint32, CriteriaTree> CriteriaMgr::_criteriaTrees
private

Definition at line 395 of file CriteriaHandler.h.

Referenced by GetCriteriaTree(), and LoadCriteriaList().

◆ _guildCriteriasByType

CriteriaList CriteriaMgr::_guildCriteriasByType[size_t(CriteriaType::Count)]
private

Definition at line 405 of file CriteriaHandler.h.

Referenced by LoadCriteriaList().

◆ _questObjectiveCriteriasByType

CriteriaList CriteriaMgr::_questObjectiveCriteriasByType[size_t(CriteriaType::Count)]
private

Definition at line 407 of file CriteriaHandler.h.

Referenced by LoadCriteriaList().

◆ _scenarioCriteriasByTypeAndScenarioId

std::unordered_map<std::pair<int32, int32>, CriteriaList> CriteriaMgr::_scenarioCriteriasByTypeAndScenarioId
private

Definition at line 406 of file CriteriaHandler.h.

Referenced by GetScenarioCriteriaByTypeAndScenario(), and LoadCriteriaList().

◆ EmptyCriteriaList

CriteriaList const CriteriaMgr::EmptyCriteriaList
staticprivate

The documentation for this class was generated from the following files: