Changeset 7648 for code/trunk/data/gui
- Timestamp:
- Nov 13, 2010, 11:55:23 PM (14 years ago)
- Location:
- code/trunk
- Files:
-
- 5 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/layouts/MultiplayerMenu.layout
r7163 r7648 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/MultiplayerListbox" > 19 19 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 23 23 <Property Name="Text" Value="Join" /> 24 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 25 <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.8 5,0},{0.3,0},{0.95,0}}" />25 <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.81,0},{0.3,0},{0.89,0}}" /> 26 26 <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerJoinButton_clicked"/> 27 27 </Window> … … 29 29 <Property Name="Text" Value="Host" /> 30 30 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 31 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.8 5,0},{0.6,0},{0.95,0}}" />31 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.81,0},{0.6,0},{0.89,0}}" /> 32 32 <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerHostButton_clicked"/> 33 33 </Window> … … 35 35 <Property Name="Text" Value="Dedicated" /> 36 36 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 37 <Property Name="UnifiedAreaRect" Value="{{0.7,0},{0.8 5,0},{0.9,0},{0.95,0}}" />37 <Property Name="UnifiedAreaRect" Value="{{0.7,0},{0.81,0},{0.9,0},{0.89,0}}" /> 38 38 <Event Name="SelectStateChanged" Function="MultiplayerMenu.MultiplayerDedicatedButton_clicked"/> 39 </Window> 40 <Window Type="MenuWidgets/Checkbox" Name="orxonox/MultiplayerShowAllCheckbox" > 41 <Property Name="Text" Value="show all" /> 42 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 43 <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.89,0},{0.8,0},{0.99,0}}" /> 44 <Property Name="Disabled" Value="True" /> 45 <Event Name="CheckStateChanged" Function="MultiplayerMenu.MultiplayerShowAll_clicked"/> 39 46 </Window> 40 47 </Window> … … 42 49 <Property Name="Text" Value="Start" /> 43 50 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 44 <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0. 6625,0},{0.4875,0},{0.7125,0}}" />51 <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.725,0},{0.4875,0},{0.775,0}}" /> 45 52 <Event Name="Clicked" Function="MultiplayerMenu.MultiplayerStartButton_clicked"/> 46 53 </Window> … … 48 55 <Property Name="Text" Value="Back" /> 49 56 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 50 <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0. 6625,0},{0.7125,0},{0.7125,0}}" />57 <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.725,0},{0.7125,0},{0.775,0}}" /> 51 58 <Event Name="Clicked" Function="MultiplayerMenu.MultiplayerBackButton_clicked"/> 52 59 </Window> -
code/trunk/data/gui/layouts/SingleplayerMenu.layout
r6746 r7648 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/Checkbox" Name="orxonox/SingleplayerShowAllCheckbox" > 23 <Property Name="Text" Value="show all" /> 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 25 <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.87,0},{0.8,0},{.97,0}}" /> 26 <Event Name="CheckStateChanged" Function="SingleplayerMenu.SingleplayerShowAll_clicked"/> 21 27 </Window> 22 28 </Window> … … 24 30 <Property Name="Text" Value="Start" /> 25 31 <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}}" />32 <Property Name="UnifiedAreaRect" Value="{{0.2875,0},{0.725,0},{0.4875,0},{0.775,0}}" /> 27 33 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/> 28 34 </Window> … … 30 36 <Property Name="Text" Value="Back" /> 31 37 <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}}" />38 <Property Name="UnifiedAreaRect" Value="{{0.5125,0},{0.725,0},{0.7125,0},{0.775,0}}" /> 33 39 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerBackButton_clicked"/> 34 40 </Window> -
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") -
code/trunk/data/gui/scripts/SingleplayerMenu.lua
r7163 r7648 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 orxonox.LevelManager:getInstance():compileAvailableLevelList() 9 local levelList = {} 10 local window = winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox") 11 local button = tolua.cast(window,"CEGUI::Checkbox") 12 button:setSelected(false) 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 orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true) 22 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 23 local size = orxonox.LevelManager:getInstance():getNumberOfLevels() 10 24 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 25 local level = nil 26 while index < size do 27 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 28 if level ~= nil then 29 if P.showAll or not level:hasTag("test") then 30 table.insert(P.levelList, level) 31 end 32 end 33 index = index + 1 19 34 end 20 table.sort(levelList) 21 for k,v in pairs(levelList) do 22 item = CEGUI.createListboxTextItem(v) 35 --TODO: Reintroduce sorting, if needed. At the moment it's sorted by filename. 36 --table.sort(levelList) 37 for k,v in pairs(P.levelList) do 38 local item = CEGUI.createListboxTextItem(v:getName()) 23 39 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 24 CEGUI.toListbox(listbox):addItem(item)25 if v .. ".oxw"== preselect then40 listbox:addItem(item) 41 if v:getXMLFilename() == preselect then 26 42 listbox:setItemSelectState(item, true) 27 43 end 44 P.itemList[k] = listbox:getListboxItemFromIndex(k-1) 45 orxonox.GUIManager:setTooltipTextHelper(P.itemList[k], v:getDescription()) 28 46 end 29 30 47 end 31 48 32 49 function P.SingleplayerStartButton_clicked(e) 33 local choice = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")):getFirstSelectedItem() 34 if choice then 35 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 36 orxonox.execute("startGame") 37 hideAllMenuSheets() 50 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")) 51 local choice = listbox:getFirstSelectedItem() 52 if choice ~= nil then 53 local index = listbox:getItemIndex(choice) 54 local level = P.levelList[index+1] 55 if level ~= nil then 56 orxonox.LevelManager:getInstance():setDefaultLevel(level:getXMLFilename()) 57 orxonox.execute("startGame") 58 hideAllMenuSheets() 59 end 38 60 end 61 end 62 63 function P.SingleplayerShowAll_clicked(e) 64 local checkbox = tolua.cast(winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox"), "CEGUI::Checkbox") 65 local show = checkbox:isSelected() 66 if show ~= P.showAll then 67 P.showAll = show 68 P.createLevelList() 69 end 39 70 end 40 71
Note: See TracChangeset
for help on using the changeset viewer.