Changeset 7648 for code/trunk/data/gui/scripts/MultiplayerMenu.lua
- Timestamp:
- Nov 13, 2010, 11:55:23 PM (14 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/releasetodo (added) merged: 7614,7625-7629,7638-7639,7645-7647
- Property svn:mergeinfo changed
-
code/trunk/data/gui/scripts/MultiplayerMenu.lua
r7163 r7648 2 2 3 3 local P = createMenuSheet("MultiplayerMenu") 4 5 P.levelList = {} 6 P.itemList = {} 7 P.showAll = false 4 8 5 9 function P.onLoad() … … 12 16 local button = tolua.cast(window,"CEGUI::RadioButton") 13 17 button:setSelected(true) 18 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 19 checkbox:setProperty("Disabled", "True") 14 20 P.showServerList() 15 21 end … … 18 24 local button = tolua.cast(window,"CEGUI::RadioButton") 19 25 button:setSelected(true) 26 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 27 checkbox:setProperty("Disabled", "False") 20 28 P.showLevelList() 21 29 end … … 24 32 local button = tolua.cast(window,"CEGUI::RadioButton") 25 33 button:setSelected(true) 34 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 35 checkbox:setProperty("Disabled", "True") 26 36 P.showLevelList() 27 37 end … … 30 40 function P.MultiplayerJoinButton_clicked(e) 31 41 P.multiplayerMode = "startClient" 42 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 43 checkbox:setProperty("Disabled", "True") 32 44 P.showServerList() 33 45 end … … 35 47 function P.MultiplayerHostButton_clicked(e) 36 48 P.multiplayerMode = "startServer" 49 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 50 checkbox:setProperty("Disabled", "False") 37 51 P.showLevelList() 38 52 end … … 40 54 function P.MultiplayerDedicatedButton_clicked(e) 41 55 P.multiplayerMode = "startDedicated" 56 local checkbox = winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox") 57 checkbox:setProperty("Disabled", "True") 42 58 P.showLevelList() 59 end 60 61 function P.MultiplayerShowAll_clicked(e) 62 local checkbox = tolua.cast(winMgr:getWindow("orxonox/MultiplayerShowAllCheckbox"), "CEGUI::Checkbox") 63 local show = checkbox:isSelected() 64 if show ~= P.showAll then 65 P.showAll = show 66 P.createLevelList() 67 end 43 68 end 44 69 … … 69 94 70 95 function P.showLevelList() 71 local listbox = winMgr:getWindow("orxonox/MultiplayerListbox") 72 CEGUI.toListbox(listbox):resetList() 96 P.createLevelList() 97 end 98 99 function P.createLevelList() 100 P.levelList = {} 101 P.itemList = {} 102 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/MultiplayerListbox")) 103 listbox:resetList() 104 orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true) 73 105 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 74 orxonox.LevelManager:getInstance():compileAvailableLevelList() 75 local levelList = {} 106 local size = orxonox.LevelManager:getInstance():getNumberOfLevels() 76 107 local index = 0 77 local level = ""78 while true do108 local level = nil 109 while index < size do 79 110 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 80 if level == "" then 81 break 111 if level ~= nil then 112 if P.showAll or not level:hasTag("test") then 113 table.insert(P.levelList, level) 114 end 82 115 end 83 table.insert(levelList, level)84 116 index = index + 1 85 117 end 86 table.sort(levelList)87 index = 188 for k,v in pairs( levelList) do89 local item = CEGUI.createListboxTextItem(v )118 --TODO: Reintroduce sorting, if needed. At the moment it's sorted by filename. 119 --table.sort(levelList) 120 for k,v in pairs(P.levelList) do 121 local item = CEGUI.createListboxTextItem(v:getName()) 90 122 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 91 item:setID(index) 92 index = index + 1 93 CEGUI.toListbox(listbox):addItem(item) 94 if v .. ".oxw" == preselect then 123 listbox:addItem(item) 124 if v:getXMLFilename() == preselect then 95 125 listbox:setItemSelectState(item, true) 96 126 end 127 P.itemList[k] = listbox:getListboxItemFromIndex(k-1) 128 orxonox.GUIManager:setTooltipTextHelper(P.itemList[k], v:getDescription()) 97 129 end 98 99 130 end 131 100 132 function P.showServerList() 101 133 local listbox = winMgr:getWindow("orxonox/MultiplayerListbox")
Note: See TracChangeset
for help on using the changeset viewer.