- Timestamp:
- Jun 22, 2008, 12:06:55 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hud/src/orxonox/overlays/hud/HUDNavigation.cc
r1614 r1615 35 35 36 36 #include "util/Math.h" 37 #include "util/String.h" 37 38 #include "core/ConsoleCommand.h" 38 39 #include "objects/SpaceShip.h" … … 45 46 CreateFactory(HUDNavigation); 46 47 47 //HUDNavigation* HUDNavigation::instance_s = 0;48 49 using namespace Ogre;50 51 48 HUDNavigation::HUDNavigation() 52 : container_(0) 53 , navMarker_(0) 54 , aimMarker_(0) 55 , navText_(0) 49 : navMarker_(0) 50 , aimMarker_(0) 51 , navText_(0) 56 52 { 57 53 RegisterObject(HUDNavigation); 58 59 /*assert(instance_s == 0); // singleton class60 HUDNavigation::instance_s = this;*/61 54 } 62 55 63 56 HUDNavigation::~HUDNavigation() 64 57 { 65 if (this->isInitialized()) 66 { 67 if (this->navMarker_) 68 OverlayManager::getSingleton().destroyOverlayElement(this->navMarker_); 69 if (this->navText_) 70 OverlayManager::getSingleton().destroyOverlayElement(this->navText_); 71 if (this->aimMarker_) 72 OverlayManager::getSingleton().destroyOverlayElement(this->aimMarker_); 73 if (this->container_) 74 OverlayManager::getSingleton().destroyOverlayElement(this->container_); 75 } 76 77 //HUDNavigation::instance_s = 0; 58 if (this->navMarker_) 59 Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->navMarker_); 60 if (this->navText_) 61 Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->navText_); 62 if (this->aimMarker_) 63 Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->aimMarker_); 78 64 } 79 65 … … 84 70 if (mode == XMLPort::LoadObject) 85 71 { 86 // create container because we cannot add a Text element to an Overlay87 container_ = static_cast<OverlayContainer*>(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_navContainer"));88 89 72 // create nav text 90 navText_ = static_cast<TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton().createOverlayElement("TextArea", getName() + "_navText")); 73 navText_ = static_cast<Ogre::TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton() 74 .createOverlayElement("TextArea", "HUDNavigation_navText_" + getUniqueNumberStr())); 91 75 navText_->setCharHeight(0.05f); 92 76 navText_->setFontName("Monofur"); 93 77 94 78 // create nav marker 95 navMarker_ = static_cast<PanelOverlayElement*>(OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_navMarker")); 79 navMarker_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton() 80 .createOverlayElement("Panel", "HUDNavigation_navMarker_" + getUniqueNumberStr())); 96 81 navMarker_->setMaterialName("Orxonox/NavArrows"); 97 82 navMarkerSize_ = 0.05; //default … … 99 84 100 85 // create aim marker 101 aimMarker_ = static_cast<PanelOverlayElement*>(OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_aimMarker")); 86 aimMarker_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton() 87 .createOverlayElement("Panel", "HUDNavigation_aimMarker_" + getUniqueNumberStr())); 102 88 aimMarker_->setMaterialName("Orxonox/NavCrosshair"); 103 89 aimMarkerSize_ = 0.04; // default 104 90 105 container_->addChild(navMarker_);106 container_->addChild(aimMarker_);107 container_->addChild(navText_);108 container_->show(); 109 110 overlay_->add2D(container_);91 background_->addChild(navMarker_); 92 background_->addChild(aimMarker_); 93 background_->addChild(navText_); 94 95 // hide at first 96 this->setVisibility(false); 111 97 } 112 98 … … 122 108 } 123 109 124 void HUDNavigation::setNavMarkerSize(float size)125 {126 this->navMarkerSize_ = size;127 }128 129 float HUDNavigation::getNavMarkerSize() const130 {131 return this->navMarkerSize_;132 }133 134 void HUDNavigation::setAimMarkerSize(float size)135 {136 this->aimMarkerSize_ = size;137 }138 139 float HUDNavigation::getAimMarkerSize() const140 {141 return this->aimMarkerSize_;142 }143 144 110 void HUDNavigation::setFont(const std::string& font) 145 111 { … … 148 114 } 149 115 150 std::stringHUDNavigation::getFont() const116 const std::string& HUDNavigation::getFont() const 151 117 { 152 118 if (this->navText_) 153 119 return this->navText_->getFontName(); 154 120 else 155 return "";121 return blankString; 156 122 } 157 123 … … 310 276 navText_->setCharHeight(navText_->getCharHeight() * yScale); 311 277 } 312 313 /*static*/ /*HUDNavigation& HUDNavigation::getInstance()314 {315 assert(instance_s);316 return *instance_s;317 }*/318 278 }
Note: See TracChangeset
for help on using the changeset viewer.