Changeset 5980
- Timestamp:
- Oct 21, 2009, 4:06:50 PM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/data/overlays/hudtemplates3.oxo
r5781 r5980 99 99 name = "QuestGUI" 100 100 guiname = "QuestGUI" 101 visible = "false" 101 102 /> 102 103 -
code/trunk/src/modules/overlays/GUIOverlay.cc
r5978 r5980 62 62 { 63 63 SUPER(GUIOverlay, changedVisibility); 64 64 65 65 //Setting player now. 66 GUIManager::getInstance().setPlayer(this->guiName_, (orxonox_cast<ControllableEntity*>(this->getOwner()))->getPlayer()); 66 if( this->getOwner() ) 67 GUIManager::getInstance().setPlayer(this->guiName_, (orxonox_cast<ControllableEntity*>(this->getOwner()))->getPlayer()); 67 68 68 69 if (this->isVisible()) -
code/trunk/src/modules/overlays/stats/CreateLines.cc
r5929 r5980 87 87 this->background_->setVisible(visible); 88 88 } 89 void CreateLines::changedVisibility() 90 { 91 this->scoreText_->changedVisibility(); 92 this->deathsText_->changedVisibility(); 93 this->playerNameText_->changedVisibility(); 94 this->background_->changedVisibility(); 95 } 96 97 void CreateLines::setOverlayGroup( OverlayGroup* group ) 98 { 99 this->scoreText_->setOverlayGroup( group ); 100 this->deathsText_->setOverlayGroup( group ); 101 this->playerNameText_->setOverlayGroup( group ); 102 this->background_->setOverlayGroup( group ); 103 } 89 104 90 105 /** -
code/trunk/src/modules/overlays/stats/CreateLines.h
r5781 r5980 44 44 45 45 void setVisibility(bool); 46 void changedVisibility(); 47 void setOverlayGroup( OverlayGroup* group ); 46 48 47 49 //void setNumberOfColumns(unsigned int numberOfColumns, unsigned int lineIndex); -
code/trunk/src/modules/overlays/stats/Scoreboard.cc
r5929 r5980 69 69 70 70 for (unsigned int i = 0; i < this->lines_.size(); ++i) 71 this->lines_[i]-> setVisibility(this->isVisible());71 this->lines_[i]->changedVisibility(); 72 72 } 73 73 … … 89 89 CreateLines* lines = new CreateLines(leftOffset, topOffset + (distance + height) * lines_.size(), width, height); 90 90 lines->setVisibility(this->isVisible()); 91 lines->setOverlayGroup( this->getOverlayGroup() ); 91 92 this->lines_.push_back(lines); 92 93 } -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
r5781 r5980 48 48 #include "core/ConsoleCommand.h" 49 49 50 #include "OverlayGroup.h" 51 50 52 namespace orxonox 51 53 { … … 165 167 void OrxonoxOverlay::changedVisibility() 166 168 { 169 SUPER( OrxonoxOverlay, changedVisibility ); 170 167 171 if (!this->overlay_) 168 172 return; 169 173 170 if (this->isVisible()) 174 // only set to visible if corresponding OverlayGroup is also visible 175 if (this->isVisible() && (!this->getOverlayGroup() || this->getOverlayGroup()->isVisible()) ) 171 176 this->overlay_->show(); 172 177 else -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
r5929 r5980 179 179 inline OverlayGroup* getOverlayGroup() const 180 180 { return this->group_; } 181 virtual void changedOverlayGroup() {} 181 virtual void changedOverlayGroup() 182 { this->changedVisibility(); } 182 183 183 184 protected: -
code/trunk/src/orxonox/overlays/OverlayGroup.cc
r5929 r5980 105 105 { 106 106 hudElements_.insert(element); 107 element->set Visible(this->isVisible());107 element->setOverlayGroup( this ); 108 108 if (this->owner_) 109 109 element->setOwner(this->owner_); … … 142 142 void OverlayGroup::changedVisibility() 143 143 { 144 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 145 (*it)->setVisible(this->isVisible()); 144 SUPER( OverlayGroup, changedVisibility ); 145 146 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 147 (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed 146 148 } 147 149
Note: See TracChangeset
for help on using the changeset viewer.