aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-06-01 22:17:49 +0200
committerShauren <shauren.trinity@gmail.com>2021-06-01 22:17:49 +0200
commit239cf1b005bc849a3949fdc2e5474b56851b26ea (patch)
treeb44119d5278d0ca58109bac15df56118af76f807 /src
parent5543908e52bec8d62aca33b4f04171dc19dfe275 (diff)
Core/Criteria: Refactor CriteriaTreeOperator as enum class
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp18
-rw-r--r--src/server/game/DataStores/DBCEnums.h20
2 files changed, 19 insertions, 19 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index b920220dbc3..645aded2749 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -1026,18 +1026,18 @@ bool CriteriaHandler::IsCompletedCriteriaTree(CriteriaTree const* tree)
return false;
uint64 requiredCount = tree->Entry->Amount;
- switch (tree->Entry->Operator)
+ switch (CriteriaTreeOperator(tree->Entry->Operator))
{
- case CRITERIA_TREE_OPERATOR_SINGLE:
+ case CriteriaTreeOperator::Complete:
return tree->Criteria && IsCompletedCriteria(tree->Criteria, requiredCount);
- case CRITERIA_TREE_OPERATOR_SINGLE_NOT_COMPLETED:
+ case CriteriaTreeOperator::NotComplete:
return !tree->Criteria || !IsCompletedCriteria(tree->Criteria, requiredCount);
- case CRITERIA_TREE_OPERATOR_ALL:
+ case CriteriaTreeOperator::CompleteAll:
for (CriteriaTree const* node : tree->Children)
if (!IsCompletedCriteriaTree(node))
return false;
return true;
- case CRITERIA_TREE_OPERAROR_SUM_CHILDREN:
+ case CriteriaTreeOperator::Sum:
{
uint64 progress = 0;
CriteriaMgr::WalkCriteriaTree(tree, [this, &progress](CriteriaTree const* criteriaTree)
@@ -1048,7 +1048,7 @@ bool CriteriaHandler::IsCompletedCriteriaTree(CriteriaTree const* tree)
});
return progress >= requiredCount;
}
- case CRITERIA_TREE_OPERATOR_MAX_CHILD:
+ case CriteriaTreeOperator::Highest:
{
uint64 progress = 0;
CriteriaMgr::WalkCriteriaTree(tree, [this, &progress](CriteriaTree const* criteriaTree)
@@ -1060,7 +1060,7 @@ bool CriteriaHandler::IsCompletedCriteriaTree(CriteriaTree const* tree)
});
return progress >= requiredCount;
}
- case CRITERIA_TREE_OPERATOR_COUNT_DIRECT_CHILDREN:
+ case CriteriaTreeOperator::StartedAtLeast:
{
uint64 progress = 0;
for (CriteriaTree const* node : tree->Children)
@@ -1072,7 +1072,7 @@ bool CriteriaHandler::IsCompletedCriteriaTree(CriteriaTree const* tree)
return false;
}
- case CRITERIA_TREE_OPERATOR_ANY:
+ case CriteriaTreeOperator::CompleteAtLeast:
{
uint64 progress = 0;
for (CriteriaTree const* node : tree->Children)
@@ -1082,7 +1082,7 @@ bool CriteriaHandler::IsCompletedCriteriaTree(CriteriaTree const* tree)
return false;
}
- case CRITERIA_TREE_OPERATOR_SUM_CHILDREN_WEIGHT:
+ case CriteriaTreeOperator::ProgressBar:
{
uint64 progress = 0;
CriteriaMgr::WalkCriteriaTree(tree, [this, &progress](CriteriaTree const* criteriaTree)
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 91d07db213c..eae6227809c 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -862,16 +862,16 @@ enum class CriteriaTreeFlags : uint16
DEFINE_ENUM_FLAG(CriteriaTreeFlags);
-enum CriteriaTreeOperator : uint8
-{
- CRITERIA_TREE_OPERATOR_SINGLE = 0,
- CRITERIA_TREE_OPERATOR_SINGLE_NOT_COMPLETED = 1,
- CRITERIA_TREE_OPERATOR_ALL = 4,
- CRITERIA_TREE_OPERAROR_SUM_CHILDREN = 5,
- CRITERIA_TREE_OPERATOR_MAX_CHILD = 6,
- CRITERIA_TREE_OPERATOR_COUNT_DIRECT_CHILDREN = 7,
- CRITERIA_TREE_OPERATOR_ANY = 8,
- CRITERIA_TREE_OPERATOR_SUM_CHILDREN_WEIGHT = 9
+enum class CriteriaTreeOperator : uint8
+{
+ Complete = 0, // Complete
+ NotComplete = 1, // Not Complete
+ CompleteAll = 4, // Complete All
+ Sum = 5, // Sum Of Criteria Is
+ Highest = 6, // Highest Criteria Is
+ StartedAtLeast = 7, // Started At Least
+ CompleteAtLeast = 8, // Complete At Least
+ ProgressBar = 9 // Progress Bar
};
enum class ChrCustomizationOptionFlag : int32