GetPreference, SetPreference. (not yet decided if I want to bring Preference itself into Lua)

This commit is contained in:
Glenn Maynard
2005-02-22 03:36:51 +00:00
parent fda3a8208b
commit 7677c9d88f
+29 -2
View File
@@ -832,11 +832,38 @@ class LunaPrefsManager : public Luna<T>
public:
LunaPrefsManager() { LUA->Register( Register ); }
// static int GetEventMode( T* p, lua_State *L ) { lua_pushboolean(L, p->m_bEventMode ); return 1; }
static int GetPreference( T* p, lua_State *L )
{
CString sName = SArg(1);
IPreference *pPref = PREFSMAN->GetPreferenceByName( sName );
if( pPref == NULL )
{
LOG->Warn( "GetPreference: unknown preference \"%s\"", sName.c_str() );
lua_pushnil( L );
}
else
pPref->PushValue( L );
}
static int SetPreference( T* p, lua_State *L )
{
CString sName = SArg(1);
IPreference *pPref = PREFSMAN->GetPreferenceByName( sName );
if( pPref == NULL )
LOG->Warn( "GetPreference: unknown preference \"%s\"", sName.c_str() );
else
{
lua_pushvalue( L, 2 );
pPref->SetFromStack( L );
}
return 0;
}
static void Register(lua_State *L)
{
// ADD_METHOD( GetEventMode )
ADD_METHOD( GetPreference )
ADD_METHOD( SetPreference )
Luna<T>::Register( L );
// Add global singleton if constructed already. If it's not constructed yet,