bind Banner. (useful instead of the higher level FadingBanner at times,

since the sprite itself can be accessed)
This commit is contained in:
Glenn Maynard
2005-09-11 07:33:57 +00:00
parent 346376a96d
commit 6039378910
2 changed files with 58 additions and 0 deletions
+54
View File
@@ -8,6 +8,9 @@
#include "Character.h" #include "Character.h"
#include "ThemeMetric.h" #include "ThemeMetric.h"
#include "CharacterManager.h" #include "CharacterManager.h"
#include "ActorUtil.h"
REGISTER_ACTOR_CLASS( Banner )
ThemeMetric<bool> SCROLL_RANDOM ("Banner","ScrollRandom"); ThemeMetric<bool> SCROLL_RANDOM ("Banner","ScrollRandom");
ThemeMetric<bool> SCROLL_ROULETTE ("Banner","ScrollRoulette"); ThemeMetric<bool> SCROLL_ROULETTE ("Banner","ScrollRoulette");
@@ -169,6 +172,57 @@ void Banner::LoadRandom()
m_bScrolling = (bool)SCROLL_ROULETTE; m_bScrolling = (bool)SCROLL_ROULETTE;
} }
// lua start
#include "LuaBinding.h"
class LunaBanner: public Luna<Banner>
{
public:
LunaBanner() { LUA->Register( Register ); }
static int scaletoclipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
static int ScaleToClipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
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 int LoadFromCourse( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadFromCourse( NULL ); }
else { Course *pC = Luna<Course>::check(L,1); p->LoadFromCourse( pC ); }
return 0;
}
static int LoadIconFromCharacter( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadIconFromCharacter( NULL ); }
else { Character *pC = Luna<Character>::check(L,1); p->LoadIconFromCharacter( pC ); }
return 0;
}
static int LoadCardFromCharacter( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadIconFromCharacter( NULL ); }
else { Character *pC = Luna<Character>::check(L,1); p->LoadIconFromCharacter( pC ); }
return 0;
}
static void Register(lua_State *L)
{
ADD_METHOD( scaletoclipped );
ADD_METHOD( ScaleToClipped );
ADD_METHOD( LoadFromSong );
ADD_METHOD( LoadFromCourse );
ADD_METHOD( LoadIconFromCharacter );
ADD_METHOD( LoadCardFromCharacter );
Luna<T>::Register( L );
}
};
LUA_REGISTER_DERIVED_CLASS( Banner, Sprite )
// lua end
/* /*
* (c) 2001-2004 Chris Danford * (c) 2001-2004 Chris Danford
+4
View File
@@ -14,6 +14,7 @@ class Banner : public Sprite
public: public:
Banner(); Banner();
virtual ~Banner() { } virtual ~Banner() { }
virtual Actor *Copy() const;
virtual bool Load( RageTextureID ID, bool bIsBanner=true ); virtual bool Load( RageTextureID ID, bool bIsBanner=true );
@@ -37,6 +38,9 @@ public:
bool IsScrolling() const { return m_bScrolling; } bool IsScrolling() const { return m_bScrolling; }
float ScrollingPercent() const { return m_fPercentScrolling; } float ScrollingPercent() const { return m_fPercentScrolling; }
// Lua
void PushSelf( lua_State *L );
protected: protected:
bool m_bScrolling; bool m_bScrolling;
float m_fPercentScrolling; float m_fPercentScrolling;