#include "GrowthRatesBuilder.hpp" #include #include #include "json.hpp" using json = nlohmann::json; CreatureLib::Library::GrowthRateLibrary* GrowthRatesBuilder::Build(const std::string& path) { std::ifstream fileStream(path.c_str()); if (fileStream.fail()) { std::cout << "Failed to load Pokemon data file at '" << path << "'\n"; return nullptr; } auto lib = new CreatureLib::Library::GrowthRateLibrary(); json j; fileStream >> j; for (const auto& i : j.items()) { const auto& name = i.key(); auto values = i.value(); lib->AddGrowthRate(ArbUt::StringView(name.c_str()), new LookupGrowthRate(values.get>())); } return lib; }