Add support for Egg Groups.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-08-08 18:41:27 +02:00
parent 2a884a0a8b
commit ca087a7ed8
5 changed files with 41 additions and 22 deletions

View File

@@ -4,9 +4,16 @@ using namespace PkmnLib::Library;
export uint8_t PkmnLib_PokemonSpecies_Construct(const PokemonSpecies*& out, uint16_t id, const char* name,
const PokemonForme* defaultForme, float genderRatio,
const char* growthRate, uint8_t captureRate, uint8_t baseHappiness) {
Try(auto cName = ArbUt::StringView(name); auto cGrowthRate = ArbUt::StringView(growthRate);
out = new PokemonSpecies(id, cName, defaultForme, genderRatio, cGrowthRate, captureRate, baseHappiness);)
const char* growthRate, uint8_t captureRate, uint8_t baseHappiness,
const char* const* eggGroupsRaw, size_t eggGroupsLength) {
Try(
ArbUt::List<ArbUt::StringView> eggGroups(eggGroupsLength);
for (size_t i = 0; i < eggGroupsLength; i++) { eggGroups.Append(ArbUt::StringView(eggGroupsRaw[i])); }
auto cName = ArbUt::StringView(name);
auto cGrowthRate = ArbUt::StringView(growthRate);
out = new PokemonSpecies(id, cName, defaultForme, genderRatio, cGrowthRate, captureRate, baseHappiness,
eggGroups);)
}
export void PkmnLib_PokemonSpecies_Destruct(const PokemonSpecies* p) { delete p; }
@@ -22,4 +29,11 @@ export uint8_t PkmnLib_PokemonSpecies_GetEvolution(const PokemonSpecies* p, size
export uint8_t PkmnLib_PokemonSpecies_GetEvolutions(const PokemonSpecies* p, const EvolutionData* const*& out) {
Try(out = p->GetEvolutions().RawData());
}
export size_t PkmnLib_PokemonSpecies_GetEggGroupCount(const PokemonSpecies* p) {
return p->GetEggGroups().Count();
}
export const char* PkmnLib_PokemonSpecies_GetEggGroup(const PokemonSpecies* p, size_t index){
return p->GetEggGroups()[index].c_str();
}