add methods for showing unlocks

This commit is contained in:
Chris Danford
2006-01-29 22:13:52 +00:00
parent 49782b331b
commit 000c7997ef
2 changed files with 40 additions and 0 deletions
+37
View File
@@ -9,6 +9,7 @@
#include "ThemeMetric.h"
#include "CharacterManager.h"
#include "ActorUtil.h"
#include "UnlockManager.h"
REGISTER_ACTOR_CLASS( Banner )
@@ -139,6 +140,28 @@ void Banner::LoadTABreakFromCharacter( Character* pCharacter )
}
}
void Banner::LoadBannerFromUnlockEntry( UnlockEntry* pUE )
{
if( pUE == NULL ) LoadFallback();
else
{
RString sFile = pUE->GetBannerFile();
Load( sFile );
m_bScrolling = false;
}
}
void Banner::LoadBackgroundFromUnlockEntry( UnlockEntry* pUE )
{
if( pUE == NULL ) LoadFallback();
else
{
RString sFile = pUE->GetBackgroundFile();
Load( sFile );
m_bScrolling = false;
}
}
void Banner::LoadFallback()
{
Load( THEME->GetPathG("Common","fallback banner") );
@@ -204,6 +227,18 @@ public:
else { Character *pC = Luna<Character>::check(L,1); p->LoadIconFromCharacter( pC ); }
return 0;
}
static int LoadBannerFromUnlockEntry( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadBannerFromUnlockEntry( NULL ); }
else { UnlockEntry *pUE = Luna<UnlockEntry>::check(L,1); p->LoadBannerFromUnlockEntry( pUE ); }
return 0;
}
static int LoadBackgroundFromUnlockEntry( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadBackgroundFromUnlockEntry( NULL ); }
else { UnlockEntry *pUE = Luna<UnlockEntry>::check(L,1); p->LoadBackgroundFromUnlockEntry( pUE ); }
return 0;
}
static void Register(lua_State *L)
{
@@ -213,6 +248,8 @@ public:
ADD_METHOD( LoadFromCourse );
ADD_METHOD( LoadIconFromCharacter );
ADD_METHOD( LoadCardFromCharacter );
ADD_METHOD( LoadBannerFromUnlockEntry );
ADD_METHOD( LoadBackgroundFromUnlockEntry );
Luna<T>::Register( L );
}
+3
View File
@@ -8,6 +8,7 @@
class Song;
class Course;
class Character;
class UnlockEntry;
class Banner : public Sprite
{
@@ -28,6 +29,8 @@ public:
void LoadCardFromCharacter( Character* pCharacter );
void LoadIconFromCharacter( Character* pCharacter );
void LoadTABreakFromCharacter( Character* pCharacter );
void LoadBannerFromUnlockEntry( UnlockEntry* pUE );
void LoadBackgroundFromUnlockEntry( UnlockEntry* pUE );
void LoadRoulette();
void LoadRandom();
void LoadFallback();