Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/usability/data/gui/scripts/InGameMenu.lua @ 7928

Last change on this file since 7928 was 7928, checked in by landauf, 13 years ago

more improvements for keyboard control of menus:

  • added setSelectionNear(r, c) function which tries to select the button closest to the given row/column
  • no initialization required anymore, the button-table grows dynamically if new buttons are inserted
  • Property svn:eol-style set to native
File size: 1.5 KB
RevLine 
[6018]1-- InGameMenu.lua
2
[6746]3local P = createMenuSheet("InGameMenu")
[6748]4P.loadAlong = { "DecisionPopup" }
[6018]5
[7726]6function P.onLoad()
[7922]7    P.multiplayerMode = "startClient"
[7726]8
9    --button are arranged in a 4x1 matrix, the left lower item is nil
[7922]10    P:setButton(1, 1, {
[7726]11            ["button"] = winMgr:getWindow("orxonox/InGameMenu_ReturnButton"),
[7922]12            ["callback"]  = P.button_return_clicked
13    })
[7726]14
[7922]15    P:setButton(2, 1, {
[7726]16            ["button"] = winMgr:getWindow("orxonox/InGameMenu_MainMenuButton"),
[7922]17            ["callback"]  = P.button_mainmenu_clicked
18    })
[7726]19
[7922]20    P:setButton(3, 1, {
[7726]21            ["button"] = winMgr:getWindow("orxonox/InGameMenu_SettingsButton"),
[7922]22            ["callback"]  = P.button_settings_clicked
23    })
[7726]24
[7922]25    P:setButton(4, 1, {
[7726]26            ["button"] = winMgr:getWindow("orxonox/InGameMenu_QuitButton"),
[7922]27            ["callback"]  = P.button_quit_clicked
28    })
[7726]29end
30
31function P.onShow()
[7922]32    if P:hasSelection() == false then
33        P:setSelection(1, 1)
34    end
[7726]35end
36
[6018]37-- events for ingamemenu
38function P.button_quit_clicked(e)
[6048]39    openDecisionPopup( "Do you really want to quit the game?", InGameMenu.callback )
[6018]40end
41
42function P.button_mainmenu_clicked(e)
[7877]43    orxonox.execute("startMainMenu")
[6746]44    hideMenuSheet("InGameMenu")
[6018]45end
46
[6217]47function P.button_settings_clicked(e)
[6746]48    showMenuSheet("SettingsMenu", true)
[6217]49end
50
[6019]51function P.button_return_clicked(e)
[6746]52    hideMenuSheet("InGameMenu")
[6019]53end
54
[6048]55function P.callback(doExit)
56    if doExit then
[6746]57        hideMenuSheet("InGameMenu")
[6403]58        orxonox.execute("exit")
[7922]59    else
[7726]60        P.onShow()
[6048]61    end
62end
63
[6018]64return P
65
Note: See TracBrowser for help on using the repository browser.