// Регистрируем метод класса void MyClass::ClassMethod() { // блабла } r = engine->RegisterObjectMethod("mytype", "void ClassMethod()", asMETHOD(MyClass,ClassMethod), asCALL_THISCALL); assert( r >= 0 );
Так же возможно регистрировать глобальную функцию, принимающую указатель на объект как метод класса. Это может использоваться для расширения функциональности, без изменения C++-кода класса.
// Регистрируем глобальную функцию как метод класса void MyClass_MethodWrapper(MyClass *obj) { // Доступ к объекту obj->DoSomething(); } r = engine->RegisterObjectMethod("mytype", "void MethodWrapper()", asFUNCTION(MyClass_MethodWrapper), asCALL_CDECL_OBJLAST); assert( r >= 0 );