GetPreference, SetPreference. (not yet decided if I want to bring Preference itself into Lua)
This commit is contained in:
@@ -832,11 +832,38 @@ class LunaPrefsManager : public Luna<T>
|
|||||||
public:
|
public:
|
||||||
LunaPrefsManager() { LUA->Register( Register ); }
|
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)
|
static void Register(lua_State *L)
|
||||||
{
|
{
|
||||||
// ADD_METHOD( GetEventMode )
|
ADD_METHOD( GetPreference )
|
||||||
|
ADD_METHOD( SetPreference )
|
||||||
Luna<T>::Register( L );
|
Luna<T>::Register( L );
|
||||||
|
|
||||||
// Add global singleton if constructed already. If it's not constructed yet,
|
// Add global singleton if constructed already. If it's not constructed yet,
|
||||||
|
|||||||
Reference in New Issue
Block a user