60 lines
1.1 KiB
Lua
60 lines
1.1 KiB
Lua
|
Exit = {}
|
||
|
|
||
|
local exitWindow
|
||
|
local exitButton
|
||
|
|
||
|
function Exit.init()
|
||
|
exitButton = TopMenu.addRightButton('exitButton', tr('Exit Client'), 'exit.png', Exit.tryExit)
|
||
|
|
||
|
connect(g_game, {
|
||
|
onGameStart = Exit.hide,
|
||
|
onGameEnd = Exit.show
|
||
|
})
|
||
|
end
|
||
|
|
||
|
function Exit.terminate()
|
||
|
disconnect(g_game, {
|
||
|
onGameStart = Exit.hide,
|
||
|
onGameEnd = Exit.show
|
||
|
})
|
||
|
|
||
|
if exitWindow then
|
||
|
exitWindow:destroy()
|
||
|
exitWindow = nil
|
||
|
end
|
||
|
|
||
|
if exitButton then
|
||
|
exitButton:destroy()
|
||
|
exitButton = nil
|
||
|
end
|
||
|
|
||
|
Exit = nil
|
||
|
end
|
||
|
|
||
|
function Exit.hide()
|
||
|
if exitWindow then
|
||
|
exitWindow:destroy()
|
||
|
end
|
||
|
exitButton:hide()
|
||
|
end
|
||
|
|
||
|
function Exit.show()
|
||
|
exitButton:show()
|
||
|
end
|
||
|
|
||
|
function Exit.tryExit()
|
||
|
if exitWindow then
|
||
|
return true
|
||
|
end
|
||
|
|
||
|
local yesFunc = function() scheduleEvent(exit, 10) end
|
||
|
local noFunc = function() exitWindow:destroy() exitWindow = nil end
|
||
|
|
||
|
exitWindow = displayGeneralBox('Exit', tr("Do you really want to exit?"),
|
||
|
{ { text='Yes', callback=yesFunc },
|
||
|
{ text='No', callback=noFunc },
|
||
|
anchor=AnchorHorizontalCenter }, yesFunc, noFunc)
|
||
|
|
||
|
return true
|
||
|
end
|