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