22 lines
1.0 KiB
C++
22 lines
1.0 KiB
C++
#include "RegisterTypeLibrary.hpp"
|
|
#include <CreatureLib/Library/TypeLibrary.hpp>
|
|
|
|
void RegisterTypeLibrary::Register(asIScriptEngine* engine) { RegisterTypeLibraryType(engine); }
|
|
|
|
static bool GetTypeId(const CreatureLib::Library::TypeLibrary* obj, const ArbUt::StringView& str) {
|
|
return obj->GetTypeId(str);
|
|
}
|
|
|
|
void RegisterTypeLibrary::RegisterTypeLibraryType(asIScriptEngine* engine) {
|
|
[[maybe_unused]] int r = engine->RegisterObjectType("TypeLibrary", 0, asOBJ_REF | asOBJ_NOCOUNT);
|
|
Ensure(r >= 0);
|
|
r = engine->RegisterObjectMethod("TypeLibrary", "uint8 GetTypeId(const constString &in name) const",
|
|
asFUNCTION(GetTypeId), asCALL_CDECL_OBJLAST);
|
|
Ensure(r >= 0);
|
|
r = engine->RegisterObjectMethod(
|
|
"TypeLibrary", "float GetSingleEffectiveness(uint8 attacking, uint8 defensive) const",
|
|
asMETHOD(CreatureLib::Library::TypeLibrary, GetSingleEffectiveness), asCALL_THISCALL);
|
|
Ensure(r >= 0);
|
|
// TODO: Register get full effectiveness method.
|
|
}
|