diff --git a/sbf-cpp/Abilities.cpp b/sbf-cpp/Abilities.cpp index 11fd8a4..f8acefa 100644 --- a/sbf-cpp/Abilities.cpp +++ b/sbf-cpp/Abilities.cpp @@ -29,6 +29,16 @@ void FillAbilities(vector& abilities) { abilities.push_back(kAbilityGroupKnowledges); } +vector GetAbilityGroupPluralLabels() { + vector labels; + + for (int id = 1; id <= kAbilitiesCount; id++) { + labels.push_back(GetAbility(id).plural); + } + + return labels; +} + void FillAbilitiesForAbilityGroup(vector& abilities, int id) { abilities.clear(); int numAbilities = GetNumItemsForAbilityGroup(id); @@ -51,6 +61,17 @@ void FillAbilitiesForAbilityGroup(vector& abilities, int id) { } } +vector GetAbilityLabelsForAbilityGroup(int group_id) { + vector 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& labels, int id) { labels.clear(); switch (id) { diff --git a/sbf-cpp/Abilities.h b/sbf-cpp/Abilities.h index 4a9b799..0d6709d 100644 --- a/sbf-cpp/Abilities.h +++ b/sbf-cpp/Abilities.h @@ -189,12 +189,16 @@ bool operator!=(const AbilityType& left, const AbilityType& right); /// @param abilities The vector to fill. void FillAbilities(std::vector& abilities); +std::vector 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& abilities, int id); +std::vector 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.