add Lua bindings

This commit is contained in:
Chris Danford
2005-02-22 23:08:46 +00:00
parent 105e01232a
commit 3899d6063a
2 changed files with 41 additions and 8 deletions
+10 -3
View File
@@ -1239,17 +1239,24 @@ class LunaSongManager : public Luna<T>
public:
LunaSongManager() { LUA->Register( Register ); }
static int GetAllSongs( T* p, lua_State *L )
{
const vector<Song*> &v = p->GetAllSongs();
CreateTableFromArray<Song*>( v, L );
return 1;
}
static int GetAllCourses( T* p, lua_State *L )
{
vector<Course*> vCourses;
p->GetAllCourses( vCourses, BArg(1) );
CreateTableFromArray<Course*>( vCourses, L );
vector<Course*> v;
p->GetAllCourses( v, BArg(1) );
CreateTableFromArray<Course*>( v, L );
return 1;
}
static int FindCourse( T* p, lua_State *L ) { Course *pC = p->FindCourse(SArg(1)); if(pC) pC->PushSelf(L); else lua_pushnil(L); return 1; }
static void Register(lua_State *L)
{
ADD_METHOD( GetAllSongs )
ADD_METHOD( GetAllCourses )
ADD_METHOD( FindCourse )
Luna<T>::Register( L );