bool LuaFonts::CreateMetatable(lua_State* L) { luaL_newmetatable(L, "Font"); HSTR_PUSH_CFUNC(L, "__gc", meta_gc); HSTR_PUSH_CFUNC(L, "__index", meta_index); LuaPushNamedString(L, "__metatable", "protected metatable"); //! push userdata callouts REGISTER_LUA_CFUNC(Print); REGISTER_LUA_CFUNC(Begin); REGISTER_LUA_CFUNC(End); REGISTER_LUA_CFUNC(WrapText); REGISTER_LUA_CFUNC(GetTextWidth); REGISTER_LUA_CFUNC(GetTextHeight); REGISTER_LUA_CFUNC(SetTextColor); REGISTER_LUA_CFUNC(SetOutlineColor); REGISTER_LUA_CFUNC(SetAutoOutlineColor); REGISTER_LUA_CFUNC(BindTexture); lua_pop(L, 1); return true; }
bool LuaLobby::CreateMetatable(lua_State* L) { luaL_newmetatable(L, "LuaLobby"); HSTR_PUSH_CFUNC(L, "__gc", meta_gc); HSTR_PUSH_CFUNC(L, "__index", meta_index); HSTR_PUSH_CFUNC(L, "__newindex", meta_newindex); LuaPushNamedString(L, "__metatable", "protected metatable"); REGISTER_LUA_CFUNC(Poll); REGISTER_LUA_CFUNC(Connect); REGISTER_LUA_CFUNC(Disconnect); REGISTER_LUA_CFUNC(Register); REGISTER_LUA_CFUNC(Login); REGISTER_LUA_CFUNC(ConfirmAggreement); REGISTER_LUA_CFUNC(Rename); REGISTER_LUA_CFUNC(ChangePass); REGISTER_LUA_CFUNC(StatusUpdate); REGISTER_LUA_CFUNC(Channels); REGISTER_LUA_CFUNC(RequestMutelist); REGISTER_LUA_CFUNC(JoinChannel); REGISTER_LUA_CFUNC(LeaveChannel); REGISTER_LUA_CFUNC(KickChannelMember); REGISTER_LUA_CFUNC(ChangeTopic); REGISTER_LUA_CFUNC(Say); REGISTER_LUA_CFUNC(SayEx); REGISTER_LUA_CFUNC(SayPrivate); lua_pop(L, 1); return true; }
void LuaObjectRenderingImpl::CreateMatRefMetatable(lua_State* L) { luaL_newmetatable(L, "MatRef"); HSTR_PUSH_CFUNC(L, "__gc", material_gc); HSTR_PUSH_CFUNC(L, "__index", material_index); HSTR_PUSH_CFUNC(L, "__newindex", material_newindex); lua_pop(L, 1); }
bool LuaRBOs::CreateMetatable(lua_State* L) { luaL_newmetatable(L, "RBO"); HSTR_PUSH_CFUNC(L, "__gc", meta_gc); HSTR_PUSH_CFUNC(L, "__index", meta_index); HSTR_PUSH_CFUNC(L, "__newindex", meta_newindex); lua_pop(L, 1); return true; }
bool CLuaHandle::AddBasicCalls() { HSTR_PUSH(L, "Script"); lua_newtable(L); { HSTR_PUSH_CFUNC(L, "Kill", KillActiveHandle); HSTR_PUSH_CFUNC(L, "GetName", CallOutGetName); HSTR_PUSH_CFUNC(L, "GetSynced", CallOutGetSynced); HSTR_PUSH_CFUNC(L, "GetFullCtrl", CallOutGetFullCtrl); HSTR_PUSH_CFUNC(L, "GetFullRead", CallOutGetFullRead); HSTR_PUSH_CFUNC(L, "GetCtrlTeam", CallOutGetCtrlTeam); HSTR_PUSH_CFUNC(L, "GetReadTeam", CallOutGetReadTeam); HSTR_PUSH_CFUNC(L, "GetReadAllyTeam", CallOutGetReadAllyTeam); HSTR_PUSH_CFUNC(L, "GetSelectTeam", CallOutGetSelectTeam); HSTR_PUSH_CFUNC(L, "GetGlobal", CallOutGetGlobal); HSTR_PUSH_CFUNC(L, "GetRegistry", CallOutGetRegistry); HSTR_PUSH_CFUNC(L, "GetCallInList", CallOutGetCallInList); // special team constants HSTR_PUSH_NUMBER(L, "NO_ACCESS_TEAM", CEventClient::NoAccessTeam); HSTR_PUSH_NUMBER(L, "ALL_ACCESS_TEAM", CEventClient::AllAccessTeam); //FIXME LuaArrays::PushEntries(L); } lua_rawset(L, -3); // extra math utilities lua_getglobal(L, "math"); LuaBitOps::PushEntries(L); lua_pop(L, 1); return true; }