Fixes Pokemon::get_Nickname in angelscript.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
728bc13ac1
commit
3a5fa268dd
|
@ -159,4 +159,10 @@ namespace PkmnLib::Battling {
|
|||
_allowedExperienceGain = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CreatePokemon& CreatePokemon::WithNickname(const std::string& nickname) {
|
||||
_nickname = nickname;
|
||||
return *this;
|
||||
}
|
||||
|
||||
}
|
|
@ -9,7 +9,7 @@ namespace PkmnLib::Battling {
|
|||
ArbUt::StringView _species = ""_cnc;
|
||||
ArbUt::StringView _forme = "default"_cnc;
|
||||
level_int_t _level;
|
||||
std::string _nickname = "";
|
||||
std::optional<std::string> _nickname = "";
|
||||
|
||||
ArbUt::StringView _ability = ""_cnc;
|
||||
ArbUt::StringView _nature;
|
||||
|
@ -66,6 +66,8 @@ namespace PkmnLib::Battling {
|
|||
|
||||
CreatePokemon& WithNature(const ArbUt::StringView& nature);
|
||||
CreatePokemon& IsAllowedExperienceGain(bool value);
|
||||
CreatePokemon& WithNickname(const std::string& nickname);
|
||||
|
||||
|
||||
Pokemon* Build() {
|
||||
auto rand = ArbUt::Random();
|
||||
|
|
|
@ -143,7 +143,7 @@ void RegisterPokemonClass::RegisterPokemonType(asIScriptEngine* engine) {
|
|||
r = engine->RegisterObjectMethod("Pokemon", "uint32 get_CurrentHealth() const property",
|
||||
asMETHOD(PkmnLib::Battling::Pokemon, GetCurrentHealth), asCALL_THISCALL);
|
||||
Ensure(r >= 0);
|
||||
r = engine->RegisterObjectMethod("Pokemon", "const string& get_Nickname() const property",
|
||||
r = engine->RegisterObjectMethod("Pokemon", "string get_Nickname() const property",
|
||||
asFUNCTION(NicknameWrapper), asCALL_CDECL_OBJFIRST);
|
||||
Ensure(r >= 0);
|
||||
r = engine->RegisterObjectMethod("Pokemon", "const constString& get_ActiveAbility() const property",
|
||||
|
|
|
@ -187,20 +187,21 @@ TEST_CASE("Validate Pokemon CurrentHealth in Script") {
|
|||
}
|
||||
|
||||
TEST_CASE("Validate Pokemon Nickname in Script") {
|
||||
// auto mainLib = TestLibrary::GetLibrary();
|
||||
// auto data = GetScript(mainLib, "testNickname"_cnc);
|
||||
//
|
||||
// auto mon = PkmnLib::Battling::CreatePokemon(mainLib, "testSpecies"_cnc, 30)
|
||||
// .WithForme("default"_cnc)
|
||||
// .WithGender(CreatureLib::Library::Gender::Male)
|
||||
// .Build();
|
||||
// data.Context->SetArgObject(0, (void*)mon);
|
||||
// auto name = std::string(mon->GetNickname());
|
||||
// data.Context->SetArgAddress(1, &name);
|
||||
//
|
||||
// REQUIRE(data.Context->Execute() == asEXECUTION_FINISHED);
|
||||
// REQUIRE((bool)data.Context->GetReturnWord());
|
||||
// delete mon;
|
||||
auto mainLib = TestLibrary::GetLibrary();
|
||||
auto data = GetScript(mainLib, "testNickname"_cnc);
|
||||
|
||||
auto mon = PkmnLib::Battling::CreatePokemon(mainLib, "testSpecies"_cnc, 30)
|
||||
.WithForme("default"_cnc)
|
||||
.WithGender(CreatureLib::Library::Gender::Male)
|
||||
.WithNickname("foobar")
|
||||
.Build();
|
||||
data.Context->SetArgObject(0, (void*)mon);
|
||||
auto name = std::string(mon->GetNickname().value());
|
||||
data.Context->SetArgAddress(1, &name);
|
||||
|
||||
REQUIRE(data.Context->Execute() == asEXECUTION_FINISHED);
|
||||
REQUIRE((bool)data.Context->GetReturnWord());
|
||||
delete mon;
|
||||
}
|
||||
|
||||
TEST_CASE("Validate Pokemon Active Ability in Script") {
|
||||
|
|
Loading…
Reference in New Issue