bind StepsType
This commit is contained in:
@@ -926,7 +926,7 @@ public:
|
||||
static int GetEstimatedNumStages( T* p, lua_State *L ) { lua_pushnumber(L, p->GetEstimatedNumStages() ); return 1; }
|
||||
static int GetTotalSeconds( T* p, lua_State *L )
|
||||
{
|
||||
StepsType st = (StepsType) IArg(1);
|
||||
StepsType st = Enum::Check<StepsType>(L, 1);
|
||||
float fTotalSeconds;
|
||||
if( !p->GetTotalSeconds(st, fTotalSeconds) )
|
||||
lua_pushnil( L );
|
||||
|
||||
@@ -130,7 +130,7 @@ static void Lua##X(lua_State* L) \
|
||||
lua_newtable( L ); \
|
||||
FOREACH_ENUM2( X, i ) \
|
||||
{ \
|
||||
RString s = X##Names[i]; \
|
||||
RString s = X##ToString( i ); \
|
||||
lua_pushstring( L, (#X "_")+s ); \
|
||||
lua_rawseti( L, -2, i+1 ); /* 1-based */ \
|
||||
} \
|
||||
@@ -141,7 +141,7 @@ static void Lua##X(lua_State* L) \
|
||||
lua_newtable( L ); \
|
||||
FOREACH_ENUM2( X, i ) \
|
||||
{ \
|
||||
RString s = X##Names[i]; \
|
||||
RString s = X##ToString( i ); \
|
||||
lua_pushstring( L, (#X "_")+s ); \
|
||||
lua_pushnumber( L, i ); /* 0-based */ \
|
||||
lua_rawset( L, -3 ); \
|
||||
|
||||
@@ -34,18 +34,21 @@ XToLocalizedString( RadarCategory );
|
||||
LuaFunction( RadarCategoryToLocalizedString, RadarCategoryToLocalizedString(Enum::Check<RadarCategory>(L, 1)) );
|
||||
LuaXType( RadarCategory );
|
||||
|
||||
static void LuaStepsType(lua_State* L)
|
||||
RString StepsTypeToString( Stage s );
|
||||
RString StepsTypeToString( StepsType st )
|
||||
{
|
||||
FOREACH_StepsType( st )
|
||||
RString s = GAMEMAN->StepsTypeToString( st );
|
||||
/* steps-type -> StepsType */
|
||||
s.Replace('-','_');
|
||||
for( size_t i = 0; i < s.size(); ++i )
|
||||
{
|
||||
RString s = GAMEMAN->StepsTypeToString( st );
|
||||
s.MakeUpper();
|
||||
s.Replace('-','_');
|
||||
LUA->SetGlobal( "STEPS_TYPE_"+s, st );
|
||||
if( i == 0 || (i > 0 && s[i-1] == '_') )
|
||||
s[i-1] = toupper( s[i-1] );
|
||||
}
|
||||
LUA->SetGlobal( "STEPS_TYPE_INVALID", StepsType_Invalid );
|
||||
return "StepsType_"+s;
|
||||
}
|
||||
REGISTER_WITH_LUA_FUNCTION( LuaStepsType );
|
||||
|
||||
LuaXType( StepsType );
|
||||
|
||||
|
||||
static const char *PlayModeNames[] = {
|
||||
|
||||
@@ -73,6 +73,7 @@ enum StepsType
|
||||
StepsType_Invalid,
|
||||
};
|
||||
#define FOREACH_StepsType( st ) FOREACH_ENUM2( StepsType, st )
|
||||
LuaDeclareType( StepsType );
|
||||
|
||||
//
|
||||
// Play mode stuff
|
||||
|
||||
@@ -2908,7 +2908,7 @@ class LunaGameManager: public Luna<GameManager>
|
||||
public:
|
||||
LunaGameManager() { LUA->Register( Register ); }
|
||||
|
||||
static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString((StepsType)IArg(1)) ); return 1; }
|
||||
static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString(Enum::Check<StepsType>(L, 1)) ); return 1; }
|
||||
static int GetFirstStepsTypeForGame( T* p, lua_State *L )
|
||||
{
|
||||
Game *pGame = Luna<Game>::check( L, 1 );
|
||||
|
||||
@@ -1923,17 +1923,17 @@ public:
|
||||
static int GetCaloriesBurnedToday( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCaloriesBurnedToday() ); return 1; }
|
||||
static int GetTotalNumSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; }
|
||||
static int IsCodeUnlocked( T* p, lua_State *L ) { lua_pushboolean(L, p->IsCodeUnlocked(SArg(1)) ); return 1; }
|
||||
static int GetSongsActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsActual((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesActual((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetSongsPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPossible((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPossible((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetSongsPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPercentComplete((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPercentComplete((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetTotalStepsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalStepsWithTopGrade((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
|
||||
static int GetTotalTrailsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalTrailsWithTopGrade((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
|
||||
static int GetSongsActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsActual(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesActual(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetSongsPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPossible(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPossible(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetSongsPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPercentComplete(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetCoursesPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPercentComplete(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
|
||||
static int GetTotalStepsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalStepsWithTopGrade(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
|
||||
static int GetTotalTrailsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalTrailsWithTopGrade(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
|
||||
static int GetNumTotalSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; }
|
||||
static int GetLastPlayedStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLastPlayedStepsType() ); return 1; }
|
||||
static int GetSongsAndCoursesPercentCompleteAllDifficulties( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsAndCoursesPercentCompleteAllDifficulties((StepsType)IArg(1)) ); return 1; }
|
||||
static int GetSongsAndCoursesPercentCompleteAllDifficulties( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsAndCoursesPercentCompleteAllDifficulties(Enum::Check<StepsType>(L, 1)) ); return 1; }
|
||||
static int GetTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushnumber(L, p->m_fTotalCaloriesBurned ); return 1; }
|
||||
static int GetDisplayTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayTotalCaloriesBurned() ); return 1; }
|
||||
static int GetMostPopularSong( T* p, lua_State *L )
|
||||
|
||||
@@ -1249,7 +1249,7 @@ public:
|
||||
}
|
||||
static int GetStepsByStepsType( T* p, lua_State *L )
|
||||
{
|
||||
StepsType st = (StepsType)IArg(1);
|
||||
StepsType st = Enum::Check<StepsType>(L, 1);
|
||||
const vector<Steps*> &v = p->GetStepsByStepsType( st );
|
||||
LuaHelpers::CreateTableFromArray<Steps*>( v, L );
|
||||
return 1;
|
||||
@@ -1264,7 +1264,7 @@ public:
|
||||
static int IsMarathon( T* p, lua_State *L ) { lua_pushboolean(L, p->IsMarathon()); return 1; }
|
||||
static int HasStepsTypeAndDifficulty( T* p, lua_State *L )
|
||||
{
|
||||
StepsType st = (StepsType)IArg(1);
|
||||
StepsType st = Enum::Check<StepsType>(L, 1);
|
||||
|
||||
Difficulty dc = Enum::Check<Difficulty>( L, 2 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user