Include string value effect parameters

This commit is contained in:
Deukhoofd 2022-02-12 19:15:42 +01:00
parent e2edf6129d
commit efca5ca06d
Signed by: Deukhoofd
GPG Key ID: F63E044490819F6F
3 changed files with 20 additions and 4 deletions

View File

@ -1,6 +1,6 @@
#include "BuildAbilities.hpp"
#include "json.hpp"
#include <fstream>
#include "json.hpp"
using json = nlohmann::json;
@ -51,6 +51,11 @@ CreatureLib::Library::TalentLibrary* BuildAbilities::Build(const std::string& pa
case json::value_t::number_float:
realParameters.Append(new CreatureLib::Library::EffectParameter(p.get<float>()));
break;
case json::value_t ::string: {
auto s = p.get<std::string>();
realParameters.Append(new CreatureLib::Library::EffectParameter(ArbUt::StringView(s.c_str(), s.length())));
break;
}
default: continue;
}
}

View File

@ -83,6 +83,11 @@ PkmnLib::Library::ItemLibrary* BuildItems::Build(const std::string& path) {
case json::value_t::number_float:
parameters.Append(new CreatureLib::Library::EffectParameter(p.get<float>()));
break;
case json::value_t ::string: {
auto s = p.get<std::string>();
parameters.Append(new CreatureLib::Library::EffectParameter(ArbUt::StringView(s.c_str(), s.length())));
break;
}
default: continue;
}
}

View File

@ -5,11 +5,11 @@
using json = nlohmann::json;
#define GET(o, objectKey, key) \
auto& _##objectKey = o[#objectKey]; \
auto& _##objectKey = o[#objectKey]; \
if (_##objectKey.is_null()) { \
auto errorKeyFunc = [=]() { return key; }; \
std::cout << "Failed to retrieve key '" << #objectKey << "' for object with key '" << errorKeyFunc() \
<< path << "'\n"; \
std::cout << "Failed to retrieve key '" << #objectKey << "' for object with key '" << errorKeyFunc() << path \
<< "'\n"; \
return nullptr; \
}
@ -89,6 +89,12 @@ PkmnLib::Library::MoveLibrary* BuildMoves::Build(const std::string& path,
case json::value_t::number_float:
parameters.Append(new CreatureLib::Library::EffectParameter(p.get<float>()));
break;
case json::value_t ::string: {
auto s = p.get<std::string>();
parameters.Append(new CreatureLib::Library::EffectParameter(
ArbUt::StringView(s.c_str(), s.length())));
break;
}
default: continue;
}
}