2 #ifndef UGDK_SCRIPT_LUA_DATAGEAR_H_
3 #define UGDK_SCRIPT_LUA_DATAGEAR_H_
26 idgen_(1, INT_MAX, 0) {}
30 L_.
setfield(Constant::REGISTRYINDEX(),
"UGDK_LUA_DATATABLE");
113 bool PushDataTable();
116 void PushData (
int table_index,
DataID id) {
121 void PopData (
int table_index,
DataID id) {
136 if (!dtgear.GetData(
id)) {
141 return luaL_error(L,
"Could not unwrap primitive from id #%d",
id);
159 return luaL_error(L,
"Could not wrap primitive with id #%d",
id);
int checkintteger(int index)
Definition: auxlib.h:41
static int GenerateID(lua_State *L)
Generates a data ID. [-1,+1,-].
void pushnil()
Definition: state.h:38
State & L()
Definition: basegear.h:95
static int UnwrapList(lua_State *L)
void close()
Definition: state.h:30
bool isprimitive(int index) const
Definition: state.h:75
void settop(int index)
Definition: state.h:35
#define GETARG(L, i, T, name)
Definition: basegear.h:101
Definition: animation.h:11
~DataGear()
Definition: datagear.h:28
static int WrapData(lua_State *L)
Safely wraps typed data to a data ID. [-4,+0,-].
static int DoFile(lua_State *L)
void rawseti(int index, int n)
Definition: state.h:66
static int UnwrapPrimitive(lua_State *L)
Safely unwraps a primitive value from a data ID. [-2,+1,-].
Definition: datagear.h:128
static int UnwrapTable(lua_State *L)
static int UnwrapData(lua_State *L)
Safely unwraps typed data from a data ID. [-3,+1,-].
Definition: datagear.h:16
static int WrapPrimitive(lua_State *L)
Safely wraps primitive data to a data ID. [-3,+0,-].
Definition: datagear.h:147
static int DoString(lua_State *L)
Definition: idgenerator.h:10
static int SetField(lua_State *L)
Safely sets the field of an object mapped by a data ID> [-4,+1,-].
void setfield(int index, const char *k)
Definition: state.h:61
struct lua_State lua_State
Definition: defs.h:8
AuxLib & aux()
Definition: state.h:32
void rawgeti(int index, int n)
Definition: state.h:65
DataGear(lua_State *L)
Definition: datagear.h:24
Definition: basegear.h:18
static int GetField(lua_State *L)
Safely gets the field of an object mapped by a data ID. [-4,+0,?].
Definition: uncopyable.h:8
int DataID
Definition: defs.h:20
static int Execute(lua_State *L)
Safely executes the object mapped by a data ID. [-4,+0,?].
static int DestroyID(lua_State *L)
Safely destroys a data ID. [-2,+0,-].
State L_
Definition: basegear.h:88