Adds convenience functions to abilities.

This commit is contained in:
2023-04-25 11:31:21 -07:00
parent ec67dd7645
commit ac2c397982
2 changed files with 25 additions and 0 deletions

View File

@@ -29,6 +29,16 @@ void FillAbilities(vector<AbilityType>& abilities) {
abilities.push_back(kAbilityGroupKnowledges);
}
vector<string> GetAbilityGroupPluralLabels() {
vector<string> labels;
for (int id = 1; id <= kAbilitiesCount; id++) {
labels.push_back(GetAbility(id).plural);
}
return labels;
}
void FillAbilitiesForAbilityGroup(vector<string>& abilities, int id) {
abilities.clear();
int numAbilities = GetNumItemsForAbilityGroup(id);
@@ -51,6 +61,17 @@ void FillAbilitiesForAbilityGroup(vector<string>& abilities, int id) {
}
}
vector<string> GetAbilityLabelsForAbilityGroup(int group_id) {
vector<string> labels;
int count = GetNumItemsForAbilityGroup(group_id);
for (int id = 1; id <= count; id++) {
labels.push_back(GetAbilityLabel(group_id, id));
}
return labels;
}
void FillAbilityLabels(vector<string>& labels, int id) {
labels.clear();
switch (id) {

View File

@@ -189,12 +189,16 @@ bool operator!=(const AbilityType& left, const AbilityType& right);
/// @param abilities The vector to fill.
void FillAbilities(std::vector<AbilityType>& abilities);
std::vector<std::string> GetAbilityGroupPluralLabels();
/// @brief Fills the provided vector with all of the ability labels in the specified group. It will be cleared before
/// filling.
/// @param abilities The vector to fill.
/// @param id The id of the ability group to fill for.
void FillAbilitiesForAbilityGroup(std::vector<std::string>& abilities, int id);
std::vector<std::string> GetAbilityLabelsForAbilityGroup(int group_id);
/// @brief Fills the provided vector with all of the ability labels in the specified group. It will be cleared before
/// filling.
/// @param labels The vector to fill.