[Course] add GetCourseEntries() Lua binding.

[Trail] add GetTrailEntries() Lua binding.
This commit is contained in:
AJ Kelly
2010-07-03 17:52:57 -05:00
parent 0996358fd9
commit ccc3a55cca
2 changed files with 22 additions and 2 deletions
+11 -2
View File
@@ -127,8 +127,6 @@ LUA_REGISTER_CLASS( CourseEntry )
// lua end
Course::Course()
{
Init();
@@ -1057,6 +1055,16 @@ public:
static int HasTimedMods( T* p, lua_State *L ) { lua_pushboolean( L, p->HasTimedMods() ); return 1; }
DEFINE_METHOD( GetCourseType, GetCourseType() )
static int GetCourseEntry( T* p, lua_State *L ) { CourseEntry &ce = p->m_vEntries[IArg(1)]; ce.PushSelf(L); return 1; }
static int GetCourseEntries( T* p, lua_State *L )
{
vector<CourseEntry*> v;
for( unsigned i = 0; i < p->m_vEntries.size(); ++i )
{
v.push_back(&p->m_vEntries[i]);
}
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
return 1;
}
static int GetAllTrails( T* p, lua_State *L )
{
vector<Trail*> v;
@@ -1097,6 +1105,7 @@ public:
ADD_METHOD( HasTimedMods );
ADD_METHOD( GetCourseType ); // [sm-ssc] returns CourseType enum now
ADD_METHOD( GetCourseEntry );
ADD_METHOD( GetCourseEntries );
ADD_METHOD( GetAllTrails );
ADD_METHOD( GetBannerPath );
ADD_METHOD( GetBackgroundPath ); // sm-ssc addition
+11
View File
@@ -264,6 +264,16 @@ public:
return 2;
}
static int GetTrailEntry( T* p, lua_State *L ) { TrailEntry &te = p->m_vEntries[IArg(1)]; te.PushSelf(L); return 1; }
static int GetTrailEntries( T* p, lua_State *L )
{
vector<TrailEntry*> v;
for( unsigned i = 0; i < p->m_vEntries.size(); ++i )
{
v.push_back(&p->m_vEntries[i]);
}
LuaHelpers::CreateTableFromArray<TrailEntry*>( v, L );
return 1;
}
LunaTrail()
{
@@ -273,6 +283,7 @@ public:
ADD_METHOD( GetRadarValues );
ADD_METHOD( GetArtists );
ADD_METHOD( GetTrailEntry );
ADD_METHOD( GetTrailEntries );
}
};