diff --git a/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.cpp b/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.cpp index f85cab5..63701fb 100644 --- a/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.cpp +++ b/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.cpp @@ -1,11 +1,13 @@ #include "RegisterMoveTypes.hpp" #include #include "../../../Library/Moves/MoveData.hpp" +#include "../../../Library/Moves/MoveLibrary.hpp" void RegisterMoveTypes::Register(asIScriptEngine* engine) { RegisterMoveCategory(engine); RegisterMoveTarget(engine); RegisterMoveType(engine); + RegisterMoveLibrary(engine); } #define REGISTER_ENUM_VALUE(asName, cName, valueName) \ @@ -68,5 +70,13 @@ void RegisterMoveTypes::RegisterMoveType(asIScriptEngine* engine) { asMETHOD(PkmnLib::Library::MoveData, HasFlag), asCALL_THISCALL); assert(r >= 0); } +void RegisterMoveTypes::RegisterMoveLibrary(asIScriptEngine* engine) { + [[maybe_unused]] int r = engine->RegisterObjectType("MoveLibrary", 0, asOBJ_REF | asOBJ_NOCOUNT); + assert(r >= 0); + r = engine->RegisterObjectMethod("MoveLibrary", "const MoveData@ GetMove(const string &in flag) const", + asMETHOD(PkmnLib::Library::MoveLibrary, GetMove), asCALL_THISCALL); + assert(r >= 0); + +} #undef REGISTER_ENUM_VALUE \ No newline at end of file diff --git a/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.hpp b/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.hpp index b683b7f..75e0eaf 100644 --- a/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.hpp +++ b/src/AngelScript/TypeRegistry/Library/RegisterMoveTypes.hpp @@ -6,6 +6,7 @@ class RegisterMoveTypes { static void RegisterMoveCategory(asIScriptEngine* engine); static void RegisterMoveTarget(asIScriptEngine* engine); static void RegisterMoveType(asIScriptEngine* engine); + static void RegisterMoveLibrary(asIScriptEngine* engine); public: static void Register(asIScriptEngine* engine); };