Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 6, 2010, 9:52:48 PM (14 years ago)
Author:
dafrick
Message:

Accidentally removed a file. Re-adding it.
Levels that are tagged with "test" are now not displayed by default, but can be displayed by choosing show all.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/releasetodo/data/gui/scripts/MultiplayerMenu.lua

    r7163 r7626  
    22
    33local P = createMenuSheet("MultiplayerMenu")
     4
     5P.levelList = {}
     6P.itemList = {}
     7P.showAll = false
    48
    59function P.onLoad()
     
    6973
    7074function P.showLevelList()
    71     local listbox = winMgr:getWindow("orxonox/MultiplayerListbox")
    72     CEGUI.toListbox(listbox):resetList()
     75    P.createLevelList()
     76end
     77
     78function P.createLevelList()
     79    P.levelList = {}
     80    P.itemList = {}
     81    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/MultiplayerListbox"))
     82    listbox:resetList()
    7383    local preselect = orxonox.LevelManager:getInstance():getDefaultLevel()
    74     orxonox.LevelManager:getInstance():compileAvailableLevelList()
    75     local levelList = {}
     84    local size = orxonox.LevelManager:getInstance():getNumberOfLevels()
    7685    local index = 0
    77     local level = ""
    78     while true do
     86    local level = nil
     87    while index < size do
    7988        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
    8293        end
    83         table.insert(levelList, level)
    8494        index = index + 1
    8595    end
    86     table.sort(levelList)
    87     index = 1
    88     for k,v in pairs(levelList) do
    89         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())
    90100        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
    95103            listbox:setItemSelectState(item, true)
    96104        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())
    97109    end
    98     end
    99    
     110end
     111
    100112function P.showServerList()
    101113    local listbox = winMgr:getWindow("orxonox/MultiplayerListbox")
Note: See TracChangeset for help on using the changeset viewer.