Changeset 7626 for code/branches/releasetodo/data
- Timestamp:
- Nov 6, 2010, 9:52:48 PM (14 years ago)
- Location:
- code/branches/releasetodo/data/gui
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/releasetodo/data/gui/layouts/SingleplayerMenu.layout
r6746 r7626 15 15 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0. 6375,0}}" />17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.7,0}}" /> 18 18 <Window Type="MenuWidgets/Listbox" Name="orxonox/SingleplayerLevelListbox" > 19 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.92,0}}" /> 20 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.85,0}}" /> 21 </Window> 22 <Window Type="MenuWidgets/RadioButton" Name="orxonox/SingleplayerShowRestrictedButton" > 23 <Property Name="Text" Value="show only restricted" /> 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 25 <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.87,0},{0.5,0},{.97,0}}" /> 26 <Event Name="SelectStateChanged" Function="SingleplayerMenu.SingleplayerShowRestrictedButton_clicked"/> 27 </Window> 28 <Window Type="MenuWidgets/RadioButton" Name="orxonox/SingleplayerShowAllButton" > 29 <Property Name="Text" Value="show all" /> 30 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 31 <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.87,0},{0.85,0},{.97,0}}" /> 32 <Event Name="SelectStateChanged" Function="SingleplayerMenu.SingleplayerShowAllButton_clicked"/> 21 33 </Window> 22 34 </Window> … … 24 36 <Property Name="Text" Value="Start" /> 25 37 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 26 <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0. 6625,0},{0.4875,0},{0.7125,0}}" />38 <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.725,0},{0.4875,0},{0.775,0}}" /> 27 39 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/> 28 40 </Window> … … 30 42 <Property Name="Text" Value="Back" /> 31 43 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 32 <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0. 6625,0},{0.7125,0},{0.7125,0}}" />44 <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.725,0},{0.7125,0},{0.775,0}}" /> 33 45 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerBackButton_clicked"/> 34 46 </Window> -
code/branches/releasetodo/data/gui/scripts/MultiplayerMenu.lua
r7163 r7626 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() … … 69 73 70 74 function P.showLevelList() 71 local listbox = winMgr:getWindow("orxonox/MultiplayerListbox") 72 CEGUI.toListbox(listbox):resetList() 75 P.createLevelList() 76 end 77 78 function P.createLevelList() 79 P.levelList = {} 80 P.itemList = {} 81 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/MultiplayerListbox")) 82 listbox:resetList() 73 83 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 74 orxonox.LevelManager:getInstance():compileAvailableLevelList() 75 local levelList = {} 84 local size = orxonox.LevelManager:getInstance():getNumberOfLevels() 76 85 local index = 0 77 local level = ""78 while true do86 local level = nil 87 while index < size do 79 88 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 80 if level == "" then 81 break 89 if level ~= nil then 90 if P.showAll or not level:hasTag("test") then 91 table.insert(P.levelList, level) 92 end 82 93 end 83 table.insert(levelList, level)84 94 index = index + 1 85 95 end 86 table.sort(levelList)87 index = 188 for k,v in pairs( levelList) do89 local item = CEGUI.createListboxTextItem(v )96 --TODO: Reintroduce sorting, if needed. 97 --table.sort(levelList) 98 for k,v in pairs(P.levelList) do 99 local item = CEGUI.createListboxTextItem(v:getName()) 90 100 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 91 item:setID(index) 92 index = index + 1 93 CEGUI.toListbox(listbox):addItem(item) 94 if v .. ".oxw" == preselect then 101 listbox:addItem(item) 102 if v:getXMLFilename() == preselect then 95 103 listbox:setItemSelectState(item, true) 96 104 end 105 P.itemList[k] = listbox:getListboxItemFromIndex(k-1) 106 --TODO: The description as tooltip would be nice. 107 --local lItem = tolua.cast("CEGUI::ListboxItem", P.itemList[k]) 108 --lItem:setTooltipText(v:getDescription()) 97 109 end 98 99 110 end 111 100 112 function P.showServerList() 101 113 local listbox = winMgr:getWindow("orxonox/MultiplayerListbox") -
code/branches/releasetodo/data/gui/scripts/SingleplayerMenu.lua
r7625 r7626 3 3 local P = createMenuSheet("SingleplayerMenu") 4 4 5 P.levelList = {} 6 P.itemList = {} 7 P.showAll = false 8 5 9 function P.onLoad() 6 listbox = winMgr:getWindow("orxonox/SingleplayerLevelListbox") 7 preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 8 size = orxonox.LevelManager:getInstance():getNumberOfLevels() 9 local levelList = {} 10 local window = winMgr:getWindow("orxonox/SingleplayerShowRestrictedButton") 11 local button = tolua.cast(window,"CEGUI::RadioButton") 12 button:setSelected(true) 13 P.createLevelList() 14 end 15 16 function P.createLevelList() 17 P.levelList = {} 18 P.itemList = {} 19 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")) 20 listbox:resetList() 21 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 22 local size = orxonox.LevelManager:getInstance():getNumberOfLevels() 10 23 local index = 0 11 local level = ""24 local level = nil 12 25 while index < size do 13 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 14 table.insert(levelList, level) 15 index = index + 1 26 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 27 if level ~= nil then 28 if P.showAll or not level:hasTag("test") then 29 table.insert(P.levelList, level) 30 end 31 end 32 index = index + 1 16 33 end 17 table.sort(levelList) 18 for k,v in pairs(levelList) do 19 item = CEGUI.createListboxTextItem(v) 34 --TODO: Reintroduce sorting, if needed. 35 --table.sort(levelList) 36 for k,v in pairs(P.levelList) do 37 local item = CEGUI.createListboxTextItem(v:getName()) 20 38 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 21 CEGUI.toListbox(listbox):addItem(item)22 if v .. ".oxw"== preselect then39 listbox:addItem(item) 40 if v:getXMLFilename() == preselect then 23 41 listbox:setItemSelectState(item, true) 24 42 end 43 P.itemList[k] = listbox:getListboxItemFromIndex(k-1) 44 --TODO: The description as tooltip would be nice. 45 --local lItem = tolua.cast("CEGUI::ListboxItem", P.itemList[k]) 46 --lItem:setTooltipText(v:getDescription()) 25 47 end 26 27 48 end 28 49 29 50 function P.SingleplayerStartButton_clicked(e) 30 local choice = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")):getFirstSelectedItem() 31 if choice then 32 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 33 orxonox.execute("startGame") 34 hideAllMenuSheets() 51 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")) 52 local choice = listbox:getFirstSelectedItem() 53 if choice ~= nil then 54 local index = listbox:getItemIndex(choice) 55 local level = P.levelList[index+1] 56 if level ~= nil then 57 orxonox.LevelManager:getInstance():setDefaultLevel(level:getXMLFilename()) 58 orxonox.execute("startGame") 59 hideAllMenuSheets() 60 end 35 61 end 62 end 63 64 function P.SingleplayerShowRestrictedButton_clicked(e) 65 P.showAll = false 66 P.createLevelList() 67 end 68 69 function P.SingleplayerShowAllButton_clicked(e) 70 P.showAll = true 71 P.createLevelList() 36 72 end 37 73
Note: See TracChangeset
for help on using the changeset viewer.