53 lines
3.4 KiB
C++
53 lines
3.4 KiB
C++
#include "RegisterStaticLibraryTypes.hpp"
|
|
#include <cassert>
|
|
#include "../../../../Library/PokemonLibrary.hpp"
|
|
#include "../HelperFile.hpp"
|
|
|
|
void RegisterStaticLibraryTypes::Register(asIScriptEngine* engine) {
|
|
RegisterLibrarySettingsType(engine);
|
|
RegisterLibraryType(engine);
|
|
}
|
|
|
|
void RegisterStaticLibraryTypes::RegisterLibrarySettingsType(asIScriptEngine* engine) {
|
|
[[maybe_unused]] int r = engine->RegisterObjectType("LibrarySettings", 0, asOBJ_REF | asOBJ_NOCOUNT);
|
|
r = engine->RegisterObjectMethod("LibrarySettings", "uint8 get_MaximalLevel() const property",
|
|
asMETHOD(PkmnLib::Library::LibrarySettings, GetMaximalLevel), asCALL_THISCALL);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("LibrarySettings", "uint8 get_MaximalMoves() const property",
|
|
asMETHOD(PkmnLib::Library::LibrarySettings, GetMaximalMoves), asCALL_THISCALL);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("LibrarySettings", "uint16 get_ShinyRate() const property",
|
|
asMETHOD(PkmnLib::Library::LibrarySettings, GetShinyRate), asCALL_THISCALL);
|
|
assert(r >= 0);
|
|
}
|
|
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const PkmnLib::Library::LibrarySettings, GetSettings);
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const PkmnLib::Library::SpeciesLibrary, GetSpeciesLibrary);
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const PkmnLib::Library::MoveLibrary, GetMoveLibrary);
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const PkmnLib::Library::ItemLibrary, GetItemLibrary);
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const CreatureLib::Library::GrowthRateLibrary, GetGrowthRates);
|
|
UNIQUE_PTR_GETTER_FUNC(PkmnLib::Library::PokemonLibrary, const CreatureLib::Library::TypeLibrary, GetTypeLibrary);
|
|
|
|
void RegisterStaticLibraryTypes::RegisterLibraryType(asIScriptEngine* engine) {
|
|
[[maybe_unused]] int r = engine->RegisterObjectType("StaticLibrary", 0, asOBJ_REF | asOBJ_NOCOUNT);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const LibrarySettings@ get_Settings() const property",
|
|
asFUNCTION(GetSettingsWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const SpeciesLibrary@ get_SpeciesLibrary() const property",
|
|
asFUNCTION(GetSpeciesLibraryWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const MoveLibrary@ get_MoveLibrary() const property",
|
|
asFUNCTION(GetMoveLibraryWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const ItemLibrary@ get_ItemLibrary() const property",
|
|
asFUNCTION(GetItemLibraryWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const GrowthRateLibrary@ get_GrowthRateLibrary() const property",
|
|
asFUNCTION(GetGrowthRatesWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
r = engine->RegisterObjectMethod("StaticLibrary", "const TypeLibrary@ get_TypeLibrary() const property",
|
|
asFUNCTION(GetTypeLibraryWrapper), asCALL_CDECL_OBJLAST);
|
|
assert(r >= 0);
|
|
}
|