Add SetNextScreenName(string) and SetPrevScreenName(string) Lua bindings to Screen
This commit is contained in:
@@ -17,6 +17,8 @@ sm-ssc v1.2 | 201012xx
|
||||
--------
|
||||
* SM5SVN r28586: Only unload fonts if not used by the next screen. [shakesoda]
|
||||
* [ScreenSelectMaster] Fix DoSwitchAnyways to actually work again.
|
||||
* [Screen] Added SetNextScreenName(string) and SetPrevScreenName(string)
|
||||
Lua bindings. [freem]
|
||||
|
||||
20101220
|
||||
--------
|
||||
|
||||
@@ -84,6 +84,7 @@ void Screen::BeginScreen()
|
||||
/* Screens set these when they determine their next screen dynamically. Reset them
|
||||
* here, so a reused screen doesn't inherit these from the last time it was used. */
|
||||
m_sNextScreen = RString();
|
||||
m_sPrevScreen = RString();
|
||||
|
||||
m_fLockInputSecs = 0;
|
||||
|
||||
@@ -250,6 +251,8 @@ RString Screen::GetNextScreenName() const
|
||||
|
||||
RString Screen::GetPrevScreen() const
|
||||
{
|
||||
if( !m_sPrevScreen.empty() )
|
||||
return m_sPrevScreen;
|
||||
return PREV_SCREEN;
|
||||
}
|
||||
|
||||
@@ -283,6 +286,8 @@ class LunaScreen: public Luna<Screen>
|
||||
public:
|
||||
static int GetNextScreenName( T* p, lua_State *L ) { lua_pushstring(L, p->GetNextScreenName() ); return 1; }
|
||||
static int GetPrevScreenName( T* p, lua_State *L ) { lua_pushstring(L, p->GetPrevScreen() ); return 1; }
|
||||
static int SetNextScreenName( T* p, lua_State *L ) { p->SetNextScreen(SArg(1)); return 0; }
|
||||
static int SetPrevScreenName( T* p, lua_State *L ) { p->SetPrevScreen(SArg(1)); return 0; }
|
||||
static int lockinput( T* p, lua_State *L ) { p->SetLockInputSecs(FArg(1)); return 0; }
|
||||
DEFINE_METHOD( GetScreenType, GetScreenType() )
|
||||
|
||||
@@ -298,6 +303,8 @@ public:
|
||||
{
|
||||
ADD_METHOD( GetNextScreenName );
|
||||
ADD_METHOD( GetPrevScreenName );
|
||||
ADD_METHOD( SetNextScreenName );
|
||||
ADD_METHOD( SetPrevScreenName );
|
||||
ADD_METHOD( PostScreenMessage );
|
||||
ADD_METHOD( lockinput );
|
||||
ADD_METHOD( GetScreenType );
|
||||
|
||||
@@ -86,6 +86,7 @@ protected:
|
||||
|
||||
// If left blank, the NextScreen metric will be used.
|
||||
RString m_sNextScreen;
|
||||
RString m_sPrevScreen;
|
||||
ScreenMessage m_smSendOnPop;
|
||||
|
||||
float m_fLockInputSecs;
|
||||
@@ -96,6 +97,8 @@ protected:
|
||||
public:
|
||||
RString GetNextScreenName() const;
|
||||
RString GetPrevScreen() const;
|
||||
void SetNextScreen(RString sNextScreen){ m_sNextScreen = sNextScreen; };
|
||||
void SetPrevScreen(RString sPrevScreen){ m_sPrevScreen = sPrevScreen; };
|
||||
|
||||
// let subclass override if they want
|
||||
virtual void MenuUp( const InputEventPlus &input ) { }
|
||||
|
||||
Reference in New Issue
Block a user