- Timestamp:
- Mar 22, 2010, 2:47:10 PM (14 years ago)
- Location:
- code/branches/gamestates2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/gamestates2
- Property svn:mergeinfo changed
/code/branches/gamestate merged: 6441-6442,6459,6537,6544-6546,6548,6564,6566-6567,6569,6571-6572
- Property svn:mergeinfo changed
-
code/branches/gamestates2/src/libraries/core/GUIManager.cc
r6502 r6595 57 57 #include "ConsoleCommand.h" 58 58 #include "Core.h" 59 #include "GraphicsManager.h" 59 60 #include "LuaState.h" 60 61 #include "PathConfig.h" 61 62 #include "Resource.h" 63 #include "input/InputManager.h" 64 #include "input/InputState.h" 65 #include "input/KeyBinderManager.h" 62 66 63 67 namespace orxonox … … 108 112 @return true if success, otherwise false 109 113 */ 110 GUIManager::GUIManager(Ogre::RenderWindow* renderWindow, const std::pair<int, int>& mousePosition, bool bFullScreen) 111 : renderWindow_(renderWindow) 112 , resourceProvider_(0) 114 GUIManager::GUIManager(const std::pair<int, int>& mousePosition) 115 : resourceProvider_(NULL) 113 116 , camera_(NULL) 114 , bShowIngameGUI_(false)115 117 { 116 118 using namespace CEGUI; … … 119 121 120 122 // Note: No SceneManager specified yet 121 guiRenderer_.reset(new OgreCEGUIRenderer( renderWindow_, Ogre::RENDER_QUEUE_OVERLAY, false, 3000));123 guiRenderer_.reset(new OgreCEGUIRenderer(GraphicsManager::getInstance().getRenderWindow(), Ogre::RENDER_QUEUE_OVERLAY, false, 3000)); 122 124 resourceProvider_ = guiRenderer_->createResourceProvider(); 123 125 resourceProvider_->setDefaultResourceGroup("GUI"); … … 141 143 guiSystem_.reset(new System(guiRenderer_.get(), resourceProvider_, 0, scriptModule_.get())); 142 144 145 // Align CEGUI mouse with OIS mouse 146 guiSystem_->injectMousePosition((float)mousePosition.first, (float)mousePosition.second); 147 148 // Hide the mouse cursor unless playing in full screen mode 149 if (!GraphicsManager::getInstance().isFullScreen()) 150 CEGUI::MouseCursor::getSingleton().hide(); 151 143 152 // Initialise the basic Lua code 144 153 this->luaState_->doFile("InitialiseGUI.lua"); 145 146 // Align CEGUI mouse with OIS mouse147 guiSystem_->injectMousePosition((float)mousePosition.first, (float)mousePosition.second);148 149 // Hide the mouse cursor unless playing in full screen mode150 if (!bFullScreen)151 CEGUI::MouseCursor::getSingleton().hide();152 154 } 153 155 … … 208 210 } 209 211 212 /** Loads a GUI sheet by Lua script 213 @param name 214 The name of the GUI (like the script name, but without the extension) 215 */ 216 void GUIManager::loadGUI(const std::string& name) 217 { 218 this->executeCode("loadGUI(\"" + name + "\")"); 219 } 220 210 221 /** 211 222 @brief … … 240 251 { 241 252 GUIManager::getInstance().executeCode("hideGUI(\"" + name + "\")"); 253 } 254 255 const std::string& GUIManager::createInputState(const std::string& name, TriBool::Value showMouse, TriBool::Value useKeyboard, bool bBlockJoyStick) 256 { 257 InputState* state = InputManager::getInstance().createInputState(name); 258 259 if (GraphicsManager::getInstance().isFullScreen() && showMouse == TriBool::True || 260 !GraphicsManager::getInstance().isFullScreen() && showMouse == TriBool::False) 261 state->setMouseExclusive(TriBool::True); 262 else 263 state->setMouseExclusive(TriBool::Dontcare); 264 265 if (showMouse == TriBool::True) 266 state->setMouseHandler(this); 267 else if (showMouse == TriBool::False) 268 state->setMouseHandler(&InputHandler::EMPTY); 269 270 if (useKeyboard == TriBool::True) 271 state->setKeyHandler(this); 272 else if (useKeyboard == TriBool::False) 273 state->setKeyHandler(&InputHandler::EMPTY); 274 275 if (bBlockJoyStick) 276 state->setJoyStickHandler(&InputHandler::EMPTY); 277 278 return state->getName(); 242 279 } 243 280
Note: See TracChangeset
for help on using the changeset viewer.