Merge pull request #1499 from kyzentun/course_entry_fix
Check entry id in GetCourseEntry. Add GetNumCourseEntries.
This commit is contained in:
+19
-1
@@ -1256,7 +1256,19 @@ public:
|
|||||||
static int HasMods( T* p, lua_State *L ) { lua_pushboolean(L, p->HasMods() ); return 1; }
|
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; }
|
static int HasTimedMods( T* p, lua_State *L ) { lua_pushboolean( L, p->HasTimedMods() ); return 1; }
|
||||||
DEFINE_METHOD( GetCourseType, GetCourseType() )
|
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 )
|
static int GetCourseEntries( T* p, lua_State *L )
|
||||||
{
|
{
|
||||||
vector<CourseEntry*> v;
|
vector<CourseEntry*> v;
|
||||||
@@ -1267,6 +1279,11 @@ public:
|
|||||||
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
|
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
|
||||||
return 1;
|
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 )
|
static int GetAllTrails( T* p, lua_State *L )
|
||||||
{
|
{
|
||||||
vector<Trail*> v;
|
vector<Trail*> v;
|
||||||
@@ -1318,6 +1335,7 @@ public:
|
|||||||
ADD_METHOD( GetCourseType );
|
ADD_METHOD( GetCourseType );
|
||||||
ADD_METHOD( GetCourseEntry );
|
ADD_METHOD( GetCourseEntry );
|
||||||
ADD_METHOD( GetCourseEntries );
|
ADD_METHOD( GetCourseEntries );
|
||||||
|
ADD_METHOD(GetNumCourseEntries);
|
||||||
ADD_METHOD( GetAllTrails );
|
ADD_METHOD( GetAllTrails );
|
||||||
ADD_METHOD( GetBannerPath );
|
ADD_METHOD( GetBannerPath );
|
||||||
ADD_METHOD( GetBackgroundPath );
|
ADD_METHOD( GetBackgroundPath );
|
||||||
|
|||||||
Reference in New Issue
Block a user