#include "world.hpp" #include "idalloc.hpp" LuaDefineType(World); World::~World() { } void World::init(lua_State *L) { LuaVar world; LuaStack LS(L, world); LS.newpointer(world, new World, false); LS.setfield(LuaRegistry, "world", world); } World *World::fetch(lua_State *L) { LuaVar world; LuaStack LS(L, world); LS.getfield(world, LuaRegistry, "world"); World *w = LS.ckuserdata(world); LS.result(); return w; } LuaDefine(world_init, "c") { World::init(L); return 0; } LuaDefine(world_setid, "c") { LuaArg id; LuaStack LS(L, id); World *w = World::fetch(L); w->id_ = LS.ckinteger(id); return LS.result(); } LuaDefine(world_getid, "c") { LuaRet id; LuaStack LS(L, id); World *w = World::fetch(L); LS.set(id, w->id_); return LS.result(); };