Changes/Fixes to Character List, Hotkey Manager, Exit Window and Text Message.

*Fixed typo in character list string.
* Hotkey text edit will now focus when you select a list item.
* Fix to the exit window layout.
* Added a death window for player deaths.
This commit is contained in:
BeniS
2012-07-13 20:24:52 +12:00
parent 3ebb997c37
commit 810816b4a3
6 changed files with 63 additions and 21 deletions

View File

@@ -0,0 +1,29 @@
DeathWindow < MainWindow
id: deathWindow
!text: tr('You are dead')
size: 350 155
Label
!text: tr('Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto this world in exchange for a small sacrifice\n\nSimply click on Ok to resume your journeys!')
width: 550
height: 140
anchors.left: parent.left
anchors.top: parent.top
margin-left: 10
margin-top: 2
Button
id: buttonOk
!text: tr('Ok')
width: 64
anchors.left: parent.left
anchors.bottom: parent.bottom
margin-left: 160
Button
id: buttonCancel
!text: tr('Cancel')
width: 64
anchors.left: prev.right
anchors.bottom: parent.bottom
margin-left: 5

View File

@@ -20,6 +20,7 @@ local MessageTypes = {
local centerTextMessagePanel
local bottomStatusLabel
local privateLabel
local deathWindow
-- private functions
local function displayMessage(msgtype, msg, time)
@@ -57,6 +58,8 @@ end
-- public functions
function TextMessage.init()
g_ui.importStyle('deathwindow.otui')
connect(g_game, { onDeath = TextMessage.displayDeadMessage,
onTextMessage = TextMessage.display,
onGameStart = TextMessage.clearMessages })
@@ -93,6 +96,7 @@ function TextMessage.terminate()
centerTextMessagePanel = nil
bottomStatusLabel = nil
privateLabel = nil
deathWindow = nil
TextMessage = nil
end
@@ -127,4 +131,28 @@ function TextMessage.displayDeadMessage()
local advanceLabel = GameInterface.getMapPanel():recursiveGetChildById('centerAdvance')
if advanceLabel:isVisible() then return end
TextMessage.displayEventAdvance(tr('You are dead.'))
if(deathWindow) then
return
end
deathWindow = g_ui.createWidget('DeathWindow', rootWidget)
local okButton = deathWindow:getChildById('buttonOk')
local cancelButton = deathWindow:getChildById('buttonCancel')
local okFunc = function()
CharacterList.doLogin()
okButton:getParent():destroy()
deathWindow = nil
end
local cancelFunc = function()
GameInterface.logout()
cancelButton:getParent():destroy()
deathWindow = nil
end
deathWindow.onEnter = okFunc
deathWindow.onEscape = cancelFunc
okButton.onClick = okFunc
cancelButton.onClick = cancelFunc
end