1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2013 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #include "nel/gui/lua_manager.h"
23 #include "nel/gui/lua_helper.h"
32 bool CLuaManager::debugLua
= false;
33 bool CLuaManager::editorMode
= false;
34 CLuaManager
* CLuaManager::instance
= NULL
;
36 CLuaManager::CLuaManager()
38 luaState
= new NLGUI::CLuaState( debugLua
);
41 CLuaManager::~CLuaManager()
50 void CLuaManager::releaseInstance()
59 bool CLuaManager::executeLuaScript( const std::string
&luaScript
, bool smallScript
)
67 luaState
->executeSmallScript( luaScript
);
69 luaState
->executeScript( luaScript
);
71 catch( const ELuaError
&e
)
73 nlwarning( e
.luaWhat().c_str() );
80 void CLuaManager::ResetLuaState()
82 if (luaState
) delete luaState
;
84 luaState
= new CLuaState( debugLua
);
87 void CLuaManager::forceGarbageCollect()
89 nlinfo("Collecting Garbaged LUA variables");
90 luaState
->setGCThreshold( 0 );
91 nlinfo( NLMISC::toString( "Memory Used : %d Kb", luaState
->getGCCount() ).c_str() );