simpler Lua boilerplate

This commit is contained in:
Glenn Maynard
2006-09-27 20:10:14 +00:00
parent 153bcedd40
commit 8ef5aeb341
8 changed files with 23 additions and 38 deletions
+3 -5
View File
@@ -96,15 +96,13 @@ void HoldJudgment::HandleMessage( const RString &sMessage )
class LunaHoldJudgment: public Luna<HoldJudgment>
{
public:
LunaHoldJudgment() { LUA->Register( Register ); }
static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( Enum::Check<MultiPlayer>(L, 1) ); return 0; }
static void Register(lua_State *L)
LunaHoldJudgment()
{
ADD_METHOD( LoadFromMultiPlayer );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( LoadFromMultiPlayer );
}
};
+3 -5
View File
@@ -125,15 +125,13 @@ void Judgment::HandleMessage( const RString &sMessage )
class LunaJudgment: public Luna<Judgment>
{
public:
LunaJudgment() { LUA->Register( Register ); }
static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( Enum::Check<MultiPlayer>(L, 1) ); return 0; }
static void Register(lua_State *L)
LunaJudgment()
{
ADD_METHOD( LoadFromMultiPlayer );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( LoadFromMultiPlayer );
}
};
+3 -5
View File
@@ -319,15 +319,13 @@ void PaneDisplay::SetFocus( PaneTypes NewPane )
class LunaPaneDisplay: public Luna<PaneDisplay>
{
public:
LunaPaneDisplay() { LUA->Register( Register ); }
static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; }
static void Register(lua_State *L)
LunaPaneDisplay()
{
ADD_METHOD( SetFromGameState );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( SetFromGameState );
}
};
+3 -5
View File
@@ -206,8 +206,6 @@ LuaFunction( FormatPercentScore, PercentageDisplay::FormatPercentScore( FArg(1)
class LunaPercentageDisplay: public Luna<PercentageDisplay>
{
public:
LunaPercentageDisplay() { LUA->Register( Register ); }
static int LoadFromStats( T* p, lua_State *L )
{
const PlayerState *pStageStats = Luna<PlayerState>::check( L, 1 );
@@ -216,11 +214,11 @@ public:
return 0;
}
static void Register(lua_State *L)
LunaPercentageDisplay()
{
ADD_METHOD( LoadFromStats );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( LoadFromStats );
}
};
+4 -5
View File
@@ -73,18 +73,17 @@ const RectF *RageTexture::GetTextureCoordRect( int iFrameNo ) const
class LunaRageTexture: public Luna<RageTexture>
{
public:
LunaRageTexture() { LUA->Register( Register ); }
static int position( T* p, lua_State *L ) { p->SetPosition( FArg(1) ); return 0; }
static int loop( T* p, lua_State *L ) { p->SetLooping( !!IArg(1) ); return 0; }
static int rate( T* p, lua_State *L ) { p->SetPlaybackRate( FArg(1) ); return 0; }
static void Register(lua_State *L) {
LunaRageTexture()
{
LUA->Register( Register );
ADD_METHOD( position );
ADD_METHOD( loop );
ADD_METHOD( rate );
Luna<T>::Register( L );
}
};
+2 -4
View File
@@ -64,11 +64,9 @@ void ScoreDisplayAliveTime::UpdateNumber()
class LunaScoreDisplayAliveTime: public Luna<ScoreDisplayAliveTime>
{
public:
LunaScoreDisplayAliveTime() { LUA->Register( Register ); }
static void Register(lua_State *L)
LunaScoreDisplayAliveTime()
{
Luna<T>::Register( L );
LUA->Register( Register );
}
};
+2 -4
View File
@@ -73,11 +73,9 @@ void ScoreDisplayCalories::UpdateNumber()
class LunaScoreDisplayCalories: public Luna<ScoreDisplayCalories>
{
public:
LunaScoreDisplayCalories() { LUA->Register( Register ); }
static void Register(lua_State *L)
LunaScoreDisplayCalories()
{
Luna<T>::Register( L );
LUA->Register( Register );
}
};
+3 -5
View File
@@ -120,17 +120,15 @@ void WorkoutGraph::SetFromGameStateAndHighlightSong( int iSongIndex )
class LunaWorkoutGraph: public Luna<WorkoutGraph>
{
public:
LunaWorkoutGraph() { LUA->Register( Register ); }
static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; }
static int SetFromGameStateAndHighlightSong( T* p, lua_State *L ) { p->SetFromGameStateAndHighlightSong(IArg(1)); return 0; }
static void Register(lua_State *L)
LunaWorkoutGraph()
{
LUA->Register( Register );
ADD_METHOD( SetFromGameState );
ADD_METHOD( SetFromGameStateAndHighlightSong );
Luna<T>::Register( L );
}
};