Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/menu/data/gui/scripts/MainMenu.lua @ 6336

Last change on this file since 6336 was 6024, checked in by scheusso, 15 years ago

merged ingamemenu branch to menu branch

  • Property svn:eol-style set to native
File size: 2.7 KB
RevLine 
[5661]1-- MainMenu.lua
[5491]2
[5661]3BasicGUI = require("BasicGUI")
4local P = BasicGUI:new() --inherit everything from the gui package
5if _REQUIREDNAME == nil then
6    MainMenu = P
7else
8    _G[_REQUIREDNAME] = P
9end
[5491]10
[5661]11P.filename = "MainMenu"
12P.layoutString = "MainMenu.layout"
[5491]13
[5523]14function P:init()
[5527]15    listbox = winMgr:getWindow("orxonox/LevelListbox")
[5578]16    preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
[5583]17    orxonox.LevelManager:getInstance():compileAvailableLevelList()
18    local levelList = {}
19    local index = 0
20    local level = ""
21    while true do
22      level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
23      if level == "" then
24        break
25      end
26      table.insert(levelList, level)
27      index = index + 1
28    end
29    table.sort(levelList)
30    for k,v in pairs(levelList) do
[5532]31        item = CEGUI.createListboxTextItem(v)       
[5527]32        item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush")
33        CEGUI.toListbox(listbox):addItem(item)
[5532]34        if v .. ".oxw" == preselect then
35            listbox:setItemSelectState(item, true)
36        end
[5527]37    end
[5491]38end
39
40
41-- events for mainmenu
42function P.button_quit_clicked(e)
[5527]43    hideGUI()
44    orxonox.CommandExecutor:execute("exit")
[5491]45end
46
47function P.button_standalone_clicked(e)
[5527]48    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
49    if choice then
[5578]50        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
[5527]51        orxonox.CommandExecutor:execute("startGame")
[6024]52        hideGUI(P.filename)
[5527]53    end
[5491]54end
55
56function P.button_server_clicked(e)
[5566]57    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
58    if choice then
[5578]59        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
[5566]60        orxonox.CommandExecutor:execute("startServer")
[6024]61        hideGUI(P.filename)
[5566]62    end
[5491]63end
64
65function P.button_dedicated_clicked(e)
[5566]66    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
67    if choice then
[5578]68        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
[5566]69        orxonox.CommandExecutor:execute("startDedicated")
[6024]70        hideGUI(P.filename)
[5566]71    end
[5491]72end
73
74function P.button_client_clicked(e)
[5566]75    choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem()
76    if choice then
[5578]77        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
[5566]78        orxonox.CommandExecutor:execute("startClient")
[6024]79        hideGUI(P.filename)
80
[5566]81    end
[5491]82end
83
[5527]84function P.listbox_level_selectionchanged(e)
85    if winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() then
86        winMgr:getWindow("orxonox/StandaloneButton"):enable()
87    else
88        winMgr:getWindow("orxonox/StandaloneButton"):disable()
89    end
90end
91
[5661]92return P
[5491]93
Note: See TracBrowser for help on using the repository browser.