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 "ThemeMetric.h"
#include "CharacterManager.h" #include "CharacterManager.h"
#include "ActorUtil.h" #include "ActorUtil.h"
#include "UnlockManager.h"
REGISTER_ACTOR_CLASS( Banner ) 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() void Banner::LoadFallback()
{ {
Load( THEME->GetPathG("Common","fallback banner") ); Load( THEME->GetPathG("Common","fallback banner") );
@@ -204,6 +227,18 @@ public:
else { Character *pC = Luna<Character>::check(L,1); p->LoadIconFromCharacter( pC ); } else { Character *pC = Luna<Character>::check(L,1); p->LoadIconFromCharacter( pC ); }
return 0; 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) static void Register(lua_State *L)
{ {
@@ -213,6 +248,8 @@ public:
ADD_METHOD( LoadFromCourse ); ADD_METHOD( LoadFromCourse );
ADD_METHOD( LoadIconFromCharacter ); ADD_METHOD( LoadIconFromCharacter );
ADD_METHOD( LoadCardFromCharacter ); ADD_METHOD( LoadCardFromCharacter );
ADD_METHOD( LoadBannerFromUnlockEntry );
ADD_METHOD( LoadBackgroundFromUnlockEntry );
Luna<T>::Register( L ); Luna<T>::Register( L );
} }
+3
View File
@@ -8,6 +8,7 @@
class Song; class Song;
class Course; class Course;
class Character; class Character;
class UnlockEntry;
class Banner : public Sprite class Banner : public Sprite
{ {
@@ -28,6 +29,8 @@ public:
void LoadCardFromCharacter( Character* pCharacter ); void LoadCardFromCharacter( Character* pCharacter );
void LoadIconFromCharacter( Character* pCharacter ); void LoadIconFromCharacter( Character* pCharacter );
void LoadTABreakFromCharacter( Character* pCharacter ); void LoadTABreakFromCharacter( Character* pCharacter );
void LoadBannerFromUnlockEntry( UnlockEntry* pUE );
void LoadBackgroundFromUnlockEntry( UnlockEntry* pUE );
void LoadRoulette(); void LoadRoulette();
void LoadRandom(); void LoadRandom();
void LoadFallback(); void LoadFallback();