bool Type::sRegisteredScriptFuncs_##Type = false; \
static std::vector<AutoRegData> sAutoRegs_##Type; \
void Type::RegisterScriptFuncs(lua_State* L) { \
if (Type::sRegisteredScriptFuncs_##Type) { return; } \
ParentType::RegisterScriptFuncs(L); \
TopType::BindCommonLuaFuncs(L, mtIndex); \
lua_pushstring(L, data.mFuncName); \
lua_pushcfunction(L, data.mFunc); \
lua_rawset(L, mtIndex); \
} \
lua_pop(L, 1); \
sAutoRegs_##Type.clear(); \
sAutoRegs_##Type.shrink_to_fit(); \
Type::sRegisteredScriptFuncs_##Type = true; \
}
POLYPHASE_API int CreateClassMetatable(const char *className, const char *classFlag, const char *parentClassName)
Definition ScriptAutoReg.h:45