60 lines
1.5 KiB
Lua
60 lines
1.5 KiB
Lua
-- private functions
|
|
local function onGameKeyPress(self, keyCode, keyChar, keyboardModifiers)
|
|
if keyboardModifiers == KeyboardCtrlModifier then
|
|
if keyCode == KeyG then
|
|
CharacterList.show()
|
|
return true
|
|
elseif keyCode == KeyQ then
|
|
Game.logout(false)
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
-- public functions
|
|
function Game.createInterface()
|
|
Background.hide()
|
|
CharacterList.destroyLoadBox()
|
|
Game.gameUi = loadUI('/game/game.otui', UI.root)
|
|
Game.gameMapPanel = Game.gameUi:getChildById('mapPanel')
|
|
Game.gameRightPanel = Game.gameUi:getChildById('rightPanel')
|
|
Game.gameBottomPanel = Game.gameUi:getChildById('bottomPanel')
|
|
Game.gameUi.onKeyPress = onGameKeyPress
|
|
end
|
|
|
|
function Game.destroyInterface()
|
|
if Game.gameUi then
|
|
Game.gameUi:destroy()
|
|
Game.gameUi = nil
|
|
end
|
|
Background.show()
|
|
CharacterList.show()
|
|
end
|
|
|
|
function Game.show()
|
|
Game.gameUi:show()
|
|
Game.gameUi:focus()
|
|
Game.gameMapPanel:focus()
|
|
end
|
|
|
|
function Game.hide()
|
|
Game.gameUi:hide()
|
|
end
|
|
|
|
-- hooked events
|
|
function Game.onLoginError(message)
|
|
CharacterList.destroyLoadBox()
|
|
local errorBox = displayErrorBox("Login Error", "Login error: " .. message)
|
|
errorBox.onOk = CharacterList.show
|
|
end
|
|
|
|
function Game.onConnectionError(message)
|
|
CharacterList.destroyLoadBox()
|
|
local errorBox = displayErrorBox("Login Error", "Connection error: " .. message)
|
|
errorBox.onOk = CharacterList.show
|
|
end
|
|
|
|
connect(Game, { onLogin = Game.createInterface,
|
|
onLogout = Game.destroyInterface })
|