Advertisement
Pinkquistador

Untitled

Jun 6th, 2017
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. struct foo_f {
  2.     lua_CFunction func;
  3.     std::string name;
  4.     foo_f(std::string _name, lua_CFunction _func) {
  5.         name = _name; func = _func;
  6.     }
  7. };
  8.  
  9. class foo_reg_f {
  10. public:
  11.     std::vector<foo_f> reg_v;
  12.     void add_func(foo_f func) { reg_v.push_back(func); }
  13.     void add_funcs(std::vector<foo_f> funcs) { for (unsigned int i = 0; i < funcs.size(); i++) reg_v.push_back(funcs.at(i)); }
  14.     void reg_funcs(lua_State* L) { for (auto i : reg_v) lua_register(L, i.name.c_str(), i.func); }
  15.     void reg_funcs_kv(lua_State* L, std::string tble_name, std::vector<foo_f> funcs) { lua_newtable(L); for (auto i : funcs) lunar::kv_table_add(L, i.name, i.func); lua_setglobal(L, tble_name.c_str()); }
  16. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement