mirror of
https://github.com/edubart/otclient.git
synced 2025-12-01 23:46:51 +01:00
handle close event in lua
This commit is contained in:
@@ -212,6 +212,15 @@ void Application::poll()
|
||||
g_dispatcher.poll();
|
||||
}
|
||||
|
||||
void Application::close()
|
||||
{
|
||||
g_lua.getGlobalField("g_app", "onClose");
|
||||
if(!g_lua.isNil())
|
||||
g_lua.protectedCall();
|
||||
else
|
||||
exit();
|
||||
}
|
||||
|
||||
void Application::render()
|
||||
{
|
||||
// everything is rendered by UI components
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
virtual void run();
|
||||
virtual void exit();
|
||||
virtual void poll();
|
||||
virtual void close() { exit(); }
|
||||
virtual void close();
|
||||
|
||||
void setPollCycleDelay(int delay) { m_pollCycleDelay = delay; }
|
||||
|
||||
|
||||
@@ -234,6 +234,10 @@ void Application::registerLuaFunctions()
|
||||
// Protocol
|
||||
g_lua.registerClass<Protocol>();
|
||||
|
||||
// Application
|
||||
g_lua.registerStaticClass("g_app");
|
||||
g_lua.bindClassStaticFunction("g_app", "exit", std::bind(&Application::exit, g_app));
|
||||
|
||||
// ConfigManager
|
||||
g_lua.registerStaticClass("g_configs");
|
||||
g_lua.bindClassStaticFunction("g_configs", "set", std::bind(&ConfigManager::set, &g_configs, _1, _2));
|
||||
@@ -241,7 +245,7 @@ void Application::registerLuaFunctions()
|
||||
g_lua.bindClassStaticFunction("g_configs", "exists", std::bind(&ConfigManager::exists, &g_configs, _1));
|
||||
g_lua.bindClassStaticFunction("g_configs", "remove", std::bind(&ConfigManager::remove, &g_configs, _1));
|
||||
|
||||
|
||||
// PlatformWindow
|
||||
g_lua.registerStaticClass("g_window");
|
||||
g_lua.bindClassStaticFunction("g_window", "move", std::bind(&PlatformWindow::move, &g_window, _1));
|
||||
g_lua.bindClassStaticFunction("g_window", "resize", std::bind(&PlatformWindow::resize, &g_window, _1));
|
||||
|
||||
Reference in New Issue
Block a user