[Orxonox-commit 6627] r11265 - code/branches/Highscore_HS16/data/gui/scripts

kappenh at orxonox.net kappenh at orxonox.net
Mon Nov 7 14:01:23 CET 2016


Author: kappenh
Date: 2016-11-07 14:01:23 +0100 (Mon, 07 Nov 2016)
New Revision: 11265

Modified:
   code/branches/Highscore_HS16/data/gui/scripts/HighscoreMenu.lua
Log:
tab selection working

Modified: code/branches/Highscore_HS16/data/gui/scripts/HighscoreMenu.lua
===================================================================
--- code/branches/Highscore_HS16/data/gui/scripts/HighscoreMenu.lua	2016-11-04 12:08:00 UTC (rev 11264)
+++ code/branches/Highscore_HS16/data/gui/scripts/HighscoreMenu.lua	2016-11-07 13:01:23 UTC (rev 11265)
@@ -6,6 +6,7 @@
 P.nameList = {}
 P.scoreList = {}
 P.linesList = {}
+P.levelList = {}
 
 P.sampleWindow = nil
 
@@ -18,6 +19,7 @@
 P.textHeight = 30
 
 function P.onLoad()
+	P.createLevelList()
 	P.nameList = {}
 	table.insert(P.nameList, "firsttestPlayer")
 	table.insert(P.nameList, "secondtestPlayer")
@@ -30,8 +32,12 @@
 
     -- create tabs with desired tab as argument (nil for all)
     
-    P.createFilterTab("Game1", "game1")
-    P.createFilterTab("Game2", "game2")
+    for k,v in pairs(P.levelList) do
+        -- only add level if it has desired tag
+        if tag == nil or v:hasTag(tag) then
+            P.createFilterTab(v:getName(), v:getName())
+        end
+    end
     --P.createFilterTab("Minigames", "minigame")
     --P.createFilterTab("Showcases", "showcase")
     --P.createFilterTab("Presentations", "presentation")
@@ -47,6 +53,27 @@
     --height = getStaticTextWindowHeight(description)
     --description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(0.0, height)))
 end
+function P.createLevelList()
+    P.levelList = {}
+    local size = orxonox.LevelManager:getInstance():getNumberOfLevels()
+    local index = 0
+    local level = nil
+    while index < size do
+        level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index)
+        if (level ~= nil and level:getXMLFilename() ~= "_temp.oxw" and level:hasTag("minigame")) then
+            local levelXMLFilename = level:getXMLFilename()
+            -- create an imageset for each screenshot
+            local imageName = level:getScreenshot()
+            if imageName ~= "" then
+                CEGUI.ImagesetManager:getSingleton():createFromImageFile(levelXMLFilename..imageName, imageName)
+            else
+                CEGUI.ImagesetManager:getSingleton():createFromImageFile(levelXMLFilename..imageName, "noscreenshot.png")
+            end
+            table.insert(P.levelList, level)
+        end
+        index = index + 1
+    end
+end
 function P.createFilterTab(name, tag)
     -- create unique tab window name
     local tabName = "orxonox/HighscoreLevelTab"




More information about the Orxonox-commit mailing list