add Lua binding

This commit is contained in:
Chris Danford
2005-02-23 17:52:28 +00:00
parent 315d0df25f
commit ed044bd2f9
2 changed files with 29 additions and 0 deletions
+6
View File
@@ -10,6 +10,12 @@
#include "SongManager.h"
#include "ThemeMetric.h"
// lua start
LUA_REGISTER_CLASS( FadingBanner )
// lua end
REGISTER_ACTOR_CLASS( FadingBanner );
static ThemeMetric<float> FADE_SECONDS ("FadingBanner","FadeSeconds");
/*
+23
View File
@@ -7,6 +7,26 @@
#include "ActorFrame.h"
#include "RageTimer.h"
template<class T>
class LunaFadingBanner : public LunaActorFrame<T>
{
public:
LunaFadingBanner() { LUA->Register( Register ); }
static int LoadFromSong( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadFromSong( NULL ); }
else { Song *pS = Luna<Song>::check(L,1); p->LoadFromSong( pS ); }
return 0;
}
static void Register(lua_State *L)
{
ADD_METHOD( LoadFromSong )
LunaActor<T>::Register( L );
}
};
class FadingBanner : public ActorFrame
{
public:
@@ -31,6 +51,9 @@ public:
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
// Lua
void PushSelf( lua_State *L );
protected:
void BeforeChange();