[Screen] add GetScreenType() Lua binding.

This commit is contained in:
AJ Kelly
2010-06-10 14:26:56 -05:00
parent e696f84e10
commit 77e17dae2b
2 changed files with 17 additions and 1 deletions
+11
View File
@@ -14,6 +14,15 @@
#define PERSIST_SCREENS THEME->GetMetric (m_sName,"PersistScreens")
#define GROUPED_SCREENS THEME->GetMetric (m_sName,"GroupedScreens")
static const char *ScreenTypeNames[] = {
"Attract",
"GameMenu",
"Gameplay",
"SystemMenu",
};
XToString( ScreenType );
LuaXType( ScreenType );
void Screen::InitScreen( Screen *pScreen )
{
pScreen->Init();
@@ -272,6 +281,7 @@ 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 lockinput( T* p, lua_State *L ) { p->SetLockInputSecs(FArg(1)); return 0; }
DEFINE_METHOD( GetScreenType, GetScreenType() )
static int PostScreenMessage( T* p, lua_State *L )
{
@@ -287,6 +297,7 @@ public:
ADD_METHOD( GetPrevScreenName );
ADD_METHOD( PostScreenMessage );
ADD_METHOD( lockinput );
ADD_METHOD( GetScreenType );
}
};
+6 -1
View File
@@ -11,6 +11,7 @@
#include "InputQueue.h"
#include "CodeSet.h"
#include "LightsManager.h"
#include "EnumHelper.h"
class InputEventPlus;
class Screen;
@@ -26,8 +27,12 @@ enum ScreenType
attract,
game_menu,
gameplay,
system_menu
system_menu,
NUM_ScreenType,
ScreenType_Invalid
};
const RString& ScreenTypeToString( ScreenType st );
LuaDeclareType( ScreenType );
class Screen : public ActorFrame
{