LuaHelpers::FromStack binding for references

This commit is contained in:
Glenn Maynard
2006-09-22 19:46:30 +00:00
parent 3130411629
commit 1f5114b193
2 changed files with 25 additions and 0 deletions
+15
View File
@@ -163,6 +163,21 @@ RString LuaReference::Serialize() const
return sRet;
}
bool LuaHelpers::FromStack( lua_State *L, LuaReference &Object, int iOffset )
{
lua_pushvalue( L, iOffset );
Object.SetFromStack( L );
return true;
}
bool LuaHelpers::FromStack( lua_State *L, apActorCommands &Object, int iOffset )
{
LuaReference *pRef = new LuaReference;
FromStack( L, *pRef, iOffset );
Object = apActorCommands( pRef );
return true;
}
LuaTable::LuaTable()
{
Lua *L = LUA->Get();
+10
View File
@@ -3,6 +3,8 @@
#ifndef LUA_REFERENCE_H
#define LUA_REFERENCE_H
#include "RageUtil_AutoPtr.h"
struct lua_State;
typedef lua_State Lua;
@@ -47,6 +49,14 @@ private:
int m_iReference;
};
typedef AutoPtrCopyOnWrite<LuaReference> apActorCommands;
namespace LuaHelpers
{
bool FromStack( lua_State *L, LuaReference &Object, int iOffset );
bool FromStack( lua_State *L, apActorCommands &Object, int iOffset );
}
class LuaTable: public LuaReference
{
public: