Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/gamestates2/data/gui/scripts/MultiplayerMenu.lua @ 6718

Last change on this file since 6718 was 6718, checked in by rgrieder, 14 years ago

Moved BasicGUI.lua to GUISheet.lua and derived MenuSheet.lua as well as HUDSheet.lua from it.
Also, to make a new GUI sheet, use either createHUDSheet or createMenuSheet.
Also removed bShowCursor from the showGUI function. This is now always a value directed by the GUI sheet.

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1-- MultiplayerMenu.lua
2
3local P = createMenuSheet("MultiplayerMenu")
4
5function P.init()
6    listbox = winMgr:getWindow("orxonox/MultiplayerLevelListbox")
7    preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
8    orxonox.LevelManager:getInstance():compileAvailableLevelList()
9    local levelList = {}
10    local index = 0
11    local level = ""
12    while true do
13        level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
14        if level == "" then
15            break
16        end
17        table.insert(levelList, level)
18        index = index + 1
19    end
20    table.sort(levelList)
21    for k,v in pairs(levelList) do
22        item = CEGUI.createListboxTextItem(v)
23        item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush")
24        CEGUI.toListbox(listbox):addItem(item)
25        if v .. ".oxw" == preselect then
26            listbox:setItemSelectState(item, true)
27        end
28    end
29    local multiplayerMode = "startClient"
30    if multiplayerMode == "startClient" then
31        window = winMgr:getWindow("orxonox/MultiplayerJoinButton")
32        button = tolua.cast(window,"CEGUI::RadioButton")
33        button:setSelected(true)
34    end
35    if multiplayerMode == "startServer" then
36        window = winMgr:getWindow("orxonox/MultiplayerHostButton")
37        button = tolua.cast(window,"CEGUI::RadioButton")
38        button:setSelected(true)
39    end
40    if multiplayerMode == "startDedicated" then
41        window = winMgr:getWindow("orxonox/MultiplayerDedicatedButton")
42        button = tolua.cast(window,"CEGUI::RadioButton")
43        button:setSelected(true)
44    end
45end
46
47function P.MultiplayerJoinButton_clicked(e)
48    multiplayerMode = "startClient"
49end
50
51function P.MultiplayerHostButton_clicked(e)
52    multiplayerMode = "startServer"
53end
54
55function P.MultiplayerDedicatedButton_clicked(e)
56    multiplayerMode = "startDedicated"
57end
58
59function P.MultiplayerStartButton_clicked(e)
60    local choice = winMgr:getWindow("orxonox/MultiplayerLevelListbox"):getFirstSelectedItem()
61    if choice then
62        orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw")
63        orxonox.execute(multiplayerMode)
64        hideAllGUIs()
65    end
66end
67
68function P.MultiplayerBackButton_clicked(e)
69    hideGUI(P.name)
70end
71
72return P
73
Note: See TracBrowser for help on using the repository browser.