Changeset 6412 for code/branches/pickup2/data/gui/scripts
- Timestamp:
- Dec 25, 2009, 1:18:03 PM (15 years ago)
- Location:
- code/branches/pickup2
- Files:
-
- 5 edited
- 15 copied
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pickup2
- Property svn:mergeinfo changed
-
code/branches/pickup2/data/gui/scripts/InitialiseGUI.lua
r5781 r6412 14 14 15 15 loadedGUIs = {} 16 cursorVisibility = {} 17 activeSheets = {} 18 nrOfActiveSheets = 0 19 root = nil 20 bShowsCursor = false 21 bHidePrevious = {} 22 23 -- Require all tools 24 require("GUITools") 16 25 17 26 -- loads the GUI with the specified filename … … 22 31 if loadedGui == nil then 23 32 loadedGuiNS = require(filename) 33 if loadedGuiNS == nil then 34 return 35 end 24 36 loadedGui = loadedGuiNS:load() 25 37 loadedGUIs[filename] = loadedGui … … 27 39 if table.getn(loadedGUIs) == 1 then 28 40 current = loadedGUIs[1] 29 showing = false30 41 end 31 42 -- hide new GUI as we do not want to show it accidentially … … 35 46 end 36 47 37 function showGUI(filename, ptr)38 gui = showGUI(filename )48 function showGUI(filename, hidePrevious, bCursorVisible, ptr) 49 gui = showGUI(filename, hidePrevious, bCursorVisible) 39 50 gui.overlay = ptr 40 51 end … … 42 53 -- shows the specified and loads it if not loaded already 43 54 -- be sure to set the global variable "filename" before calling this function 44 function showGUI(filename) 45 if current == nil or current.filename ~= filename then 46 current = loadedGUIs[filename] 47 if current == nil then 48 current = loadGUI(filename) 49 end 50 system:setGUISheet(current.window) 51 end 52 current:show() 53 showing = true 54 return current 55 end 56 57 function toggleGUI() 58 if showing == true then 59 current:hide() 55 function showGUI(filename, hidePrevious, bCursorVisible) 56 if bCursorVisible == nil then 57 if nrOfActiveSheets > 0 then 58 bCursorVisible = cursorVisibility[activeSheets[nrOfActiveSheets]] 59 else 60 bCursorVisible = true 61 end 62 end 63 64 if root == nil then 65 setBackground("") 66 end 67 68 local currentGUI = loadedGUIs[filename] 69 if(currentGUI == nil) then 70 currentGUI = loadGUI(filename) 71 end 72 73 if(root:isChild(currentGUI.window)) then 74 root:removeChildWindow(currentGUI.window) 75 end 76 root:addChildWindow(currentGUI.window) 77 78 if bCursorVisible then 79 showCursor() 80 else 81 hideCursor() 82 end 83 84 if find( activeSheets, filename ) ~= nil then 85 table.remove( activeSheets, find( activeSheets, filename ) ) 86 nrOfActiveSheets = nrOfActiveSheets - 1 87 else 88 if nrOfActiveSheets == 0 then 89 orxonox.InputManager:getInstance():enterState("guiMouseOnly") 90 orxonox.HumanController:pauseControl() 91 end 92 end 93 nrOfActiveSheets = nrOfActiveSheets + 1 94 table.insert(activeSheets, filename) 95 activeSheets[nrOfActiveSheets] = filename 96 bHidePrevious[filename]=hidePrevious 97 cursorVisibility[filename] = bCursorVisible 98 99 if hidePrevious == true then 100 for i=1,nrOfActiveSheets-1 do 101 loadedGUIs[ activeSheets[i] ]:hide() 102 end 103 end 104 currentGUI:show() 105 return currentGUI 106 end 107 108 function hideCursor() 109 if bShowsCursor==true then 110 bShowsCursor=false 60 111 cursor:hide() 61 showing = false 62 else 63 current:show() 112 end 113 end 114 115 function showCursor() 116 if bShowsCursor==false then 117 bShowsCursor=true 64 118 cursor:show() 65 showing = true 66 end 67 return showing 68 end 69 70 function hideCursor() 71 cursor:hide() 72 end 73 74 function showCursor() 75 cursor:show() 119 end 76 120 end 77 121 78 122 function hideGUI(filename) 79 current = loadedGUIs[filename] 80 if current ~= nil then 81 current:hide() 82 showing = false 83 end 84 end 123 local currentGUI = loadedGUIs[filename] 124 if currentGUI == nil then 125 return 126 end 127 currentGUI:hide() 128 if bHidePrevious[filename] == true then 129 local i = nrOfActiveSheets-1 130 while i>0 do 131 loadedGUIs[ activeSheets[i] ]:show() 132 if bHidePrevious[filename]==true then 133 break 134 else 135 i=i-1 136 end 137 end 138 end 139 root:removeChildWindow(currentGUI.window) 140 local i=1 141 while activeSheets[i] do 142 if activeSheets[i+1] == nil then 143 if activeSheets[i-1] ~= nil then 144 if cursorVisibility[ activeSheets[i-1] ] == true then 145 showCursor() 146 else 147 hideCursor() 148 end 149 else 150 hideCursor() 151 end 152 end 153 if activeSheets[i] == filename then 154 table.remove( activeSheets, i ) 155 nrOfActiveSheets = nrOfActiveSheets-1 156 else 157 i = i+1 158 end 159 end 160 cursorVisibility[filename] = nil -- remove the cursor visibility of the current gui from the table 161 bHidePrevious[filename] = nil 162 if nrOfActiveSheets == 0 then 163 orxonox.InputManager:getInstance():leaveState("guiMouseOnly") 164 orxonox.HumanController:resumeControl() 165 hideCursor() 166 end 167 end 168 169 function hideAllGUIs() 170 while nrOfActiveSheets ~= 0 do 171 hideGUI(activeSheets[nrOfActiveSheets]) 172 end 173 end 174 175 function keyESC() 176 if nrOfActiveSheets == 1 and activeSheets[1] == "MainMenu" then 177 orxonox.execute("exit") 178 elseif nrOfActiveSheets > 0 then 179 orxonox.execute("hideGUI "..activeSheets[nrOfActiveSheets]) 180 else 181 showGUI("InGameMenu") 182 end 183 end 184 185 function setBackground(filename) 186 local newroot 187 if root ~= nil then 188 root:rename("oldRootWindow") 189 end 190 if filename ~= "" then 191 newroot = winMgr:loadWindowLayout(filename .. ".layout") 192 newroot:rename("AbsoluteRootWindow") 193 system:setGUISheet(newroot) 194 else 195 newroot = winMgr:createWindow("DefaultWindow", "AbsoluteRootWindow") 196 newroot:setProperty("Alpha", "0.0") 197 newroot:setSize(CEGUI.UVector2(CEGUI.UDim(1.0,0),CEGUI.UDim(1.0,0))) 198 system:setGUISheet(newroot) 199 end 200 if root ~= nil then 201 local child 202 while root:getChildCount()~=0 do 203 child = root:getChildAtIdx(0) 204 root:removeChildWindow(child) 205 newroot:addChildWindow(child) 206 end 207 winMgr:destroyWindow(root) 208 end 209 newroot:show() 210 root = newroot 211 end 212 213 function find(table, value) 214 local i=0 215 while table[i] ~= nil do 216 if table[i]==value then 217 return i 218 else 219 i=i+1 220 end 221 end 222 return nil 223 end 224 225 function test(e) 226 debug(0, "Blubb") 227 end -
code/branches/pickup2/data/gui/scripts/MainMenu.lua
r5781 r6412 12 12 P.layoutString = "MainMenu.layout" 13 13 14 function P:init() 15 listbox = winMgr:getWindow("orxonox/LevelListbox") 16 preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 17 orxonox.LevelManager:getInstance():compileAvailableLevelList() 18 local levelList = {} 19 local index = 0 20 local level = "" 21 while true do 22 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 23 if level == "" then 24 break 25 end 26 table.insert(levelList, level) 27 index = index + 1 28 end 29 table.sort(levelList) 30 for k,v in pairs(levelList) do 31 item = CEGUI.createListboxTextItem(v) 32 item:setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush") 33 CEGUI.toListbox(listbox):addItem(item) 34 if v .. ".oxw" == preselect then 35 listbox:setItemSelectState(item, true) 36 end 37 end 14 -- events for MainMenu 15 function P.QuickGameTestButton_clicked(e) 16 orxonox.execute("startGame") 38 17 end 39 18 40 41 -- events for mainmenu 42 function P.button_quit_clicked(e) 43 hideGUI() 44 orxonox.CommandExecutor:execute("exit") 19 function P.SingleplayerButton_clicked(e) 20 showGUI("SingleplayerMenu", true) 45 21 end 46 22 47 function P.button_standalone_clicked(e) 48 choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() 49 if choice then 50 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 51 orxonox.CommandExecutor:execute("startGame") 52 toggleGUI() 53 end 23 function P.MultiplayerButton_clicked(e) 24 showGUI("MultiplayerMenu", true) 54 25 end 55 26 56 function P.button_server_clicked(e) 57 choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() 58 if choice then 59 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 60 orxonox.CommandExecutor:execute("startServer") 61 toggleGUI() 62 end 27 function P.SettingsButton_clicked(e) 28 showGUI("SettingsMenu", true) 63 29 end 64 30 65 function P.button_dedicated_clicked(e) 66 choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() 67 if choice then 68 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 69 orxonox.CommandExecutor:execute("startDedicated") 70 toggleGUI() 71 end 31 function P.CreditsButton_clicked(e) 32 showGUI("CreditsMenu", true) 72 33 end 73 34 74 function P.button_client_clicked(e) 75 choice = winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() 76 if choice then 77 orxonox.LevelManager:getInstance():setDefaultLevel(choice:getText() .. ".oxw") 78 orxonox.CommandExecutor:execute("startClient") 79 toggleGUI() 80 end 81 end 82 83 function P.listbox_level_selectionchanged(e) 84 if winMgr:getWindow("orxonox/LevelListbox"):getFirstSelectedItem() then 85 winMgr:getWindow("orxonox/StandaloneButton"):enable() 86 else 87 winMgr:getWindow("orxonox/StandaloneButton"):disable() 88 end 35 function P.ExitButton_clicked(e) 36 orxonox.execute("exit") 89 37 end 90 38 -
code/branches/pickup2/data/gui/scripts/PickupInventory.lua
r5781 r6412 20 20 local equipCount = orxonox.PickupInventory:getEquipmentCount() 21 21 local usableCount = orxonox.PickupInventory:getUsableCount() 22 22 23 23 if equipCount ~= self.lastEquipmentCount_ or usableCount ~= self.lastUsableCount_ then 24 24 self:updateTabs() … … 39 39 local t = name:sub(25, 27) 40 40 local i = name:sub(29) 41 41 42 42 if t == "equ" then 43 43 44 44 end 45 45 46 46 if t == "use" then 47 47 if self.currentUsableID_ >= 0 then … … 60 60 orxonox.PickupInventory:getSingleton():clearInventory(winMgr, eqWin, usWin) 61 61 orxonox.PickupInventory:getSingleton():updateTabs(winMgr, eqWin, usWin) 62 62 63 63 self.currentUsableID_ = orxonox.PickupInventory:getCurrentUsableIndex() 64 64 self.lastEquipmentCount_ = orxonox.PickupInventory:getEquipmentCount() -
code/branches/pickup2/data/gui/scripts/QuestGUI.lua
r5781 r6412 15 15 16 16 local questManager = orxonox.QuestManager:getInstance() 17 17 18 18 local questsList = winMgr:getWindow("orxonox/QuestGUI/QuestsList") 19 19
Note: See TracChangeset
for help on using the changeset viewer.