Merge pull request #1499 from kyzentun/course_entry_fix

Check entry id in GetCourseEntry.  Add GetNumCourseEntries.
This commit is contained in:
Tyler Brekke
2017-11-21 00:05:33 -08:00
committed by GitHub
+19 -1
View File
@@ -1256,7 +1256,19 @@ public:
static int HasMods( T* p, lua_State *L ) { lua_pushboolean(L, p->HasMods() ); return 1; }
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 GetCourseEntry(T* p, lua_State* L)
{
size_t id= static_cast<size_t>(IArg(1));
if(id >= p->m_vEntries.size())
{
lua_pushnil(L);
}
else
{
p->m_vEntries[id].PushSelf(L);
}
return 1;
}
static int GetCourseEntries( T* p, lua_State *L )
{
vector<CourseEntry*> v;
@@ -1267,6 +1279,11 @@ public:
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
return 1;
}
static int GetNumCourseEntries(T* p, lua_State* L)
{
lua_pushnumber(L, p->m_vEntries.size());
return 1;
}
static int GetAllTrails( T* p, lua_State *L )
{
vector<Trail*> v;
@@ -1318,6 +1335,7 @@ public:
ADD_METHOD( GetCourseType );
ADD_METHOD( GetCourseEntry );
ADD_METHOD( GetCourseEntries );
ADD_METHOD(GetNumCourseEntries);
ADD_METHOD( GetAllTrails );
ADD_METHOD( GetBannerPath );
ADD_METHOD( GetBackgroundPath );