Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/data/gui/scripts/MainMenu.lua @ 5902

Last change on this file since 5902 was 5781, checked in by rgrieder, 15 years ago

Reverted trunk again. We might want to find a way to delete these revisions again (x3n's changes are still available as diff in the commit mails).

  • 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")
52        toggleGUI()
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")
61        toggleGUI()
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")
70        toggleGUI()
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")
79        toggleGUI()
80    end
[5491]81end
82
[5527]83function P.listbox_level_selectionchanged(e)
84    if winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() then
85        winMgr:getWindow("orxonox/StandaloneButton"):enable()
86    else
87        winMgr:getWindow("orxonox/StandaloneButton"):disable()
88    end
89end
90
[5661]91return P
[5491]92
Note: See TracBrowser for help on using the repository browser.