Changeset 3336
- Timestamp:
- Jul 23, 2009, 12:15:06 PM (15 years ago)
- Location:
- code/branches/resource/src/orxonox
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/resource/src/orxonox/GraphicsManager.cc
r3327 r3336 182 182 SetConfigValue(ogreLogLevelCritical_, 2) 183 183 .description("Corresponding orxonox debug level for ogre Critical"); 184 SetConfigValue(detailLevelParticle_, 2)185 .description("O: off, 1: low, 2: normal, 3: high").callback(this, &GraphicsManager::detailLevelParticleChanged);186 }187 188 void GraphicsManager::detailLevelParticleChanged()189 {190 for (ObjectList<ParticleInterface>::iterator it = ObjectList<ParticleInterface>::begin(); it; ++it)191 it->detailLevelChanged(this->detailLevelParticle_);192 184 } 193 185 -
code/branches/resource/src/orxonox/GraphicsManager.h
r3280 r3336 60 60 void update(const Clock& time); 61 61 62 void detailLevelParticleChanged();63 inline unsigned int getDetailLevelParticle() const64 { return this->detailLevelParticle_; }65 66 62 inline Ogre::Viewport* getViewport() 67 63 { return this->viewport_; } … … 99 95 100 96 // config values 101 unsigned int detailLevelParticle_; //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high)102 97 std::string resourceFile_; //!< resources file name 103 98 std::string ogreConfigFile_; //!< ogre config file name -
code/branches/resource/src/orxonox/tools/ParticleInterface.cc
r3301 r3336 43 43 #include "util/Math.h" 44 44 #include "core/CoreIncludes.h" 45 #include "core/ConfigValueIncludes.h" 45 46 #include "core/GameMode.h" 46 47 #include "GraphicsManager.h" … … 91 92 } 92 93 94 void ParticleInterface::setConfigValues() 95 { 96 SetConfigValue(globalDetailLevel_, 2) 97 .description("O: off, 1: low, 2: normal, 3: high").callback(this, &ParticleInterface::detailLevelChanged); 98 } 99 93 100 Ogre::ParticleEmitter* ParticleInterface::createNewEmitter() 94 101 { … … 180 187 this->detaillevel_ = level; 181 188 if (GameMode::showsGraphics()) 182 this->detailLevelChanged( GraphicsManager::getInstance().getDetailLevelParticle());183 } 184 185 void ParticleInterface::detailLevelChanged( unsigned int newlevel)186 { 187 if ( newlevel >= static_cast<unsigned int>(this->detaillevel_))189 this->detailLevelChanged(); 190 } 191 192 void ParticleInterface::detailLevelChanged() 193 { 194 if (this->globalDetailLevel_ >= this->detaillevel_) 188 195 this->bAllowedByLOD_ = true; 189 196 else -
code/branches/resource/src/orxonox/tools/ParticleInterface.h
r3280 r3336 47 47 ParticleInterface(Ogre::SceneManager* scenemanager, const std::string& templateName, LODParticle::Value detaillevel); 48 48 virtual ~ParticleInterface(); 49 void setConfigValues(); 49 50 50 51 inline Ogre::ParticleSystem* getParticleSystem() … … 77 78 { return this->bVisible_; } 78 79 79 void detailLevelChanged(unsigned int newlevel);80 80 void setDetailLevel(unsigned int level); 81 81 … … 90 90 private: 91 91 void updateVisibility(); 92 void detailLevelChanged(); 92 93 93 94 Ogre::ParticleSystem* particleSystem_; … … 96 97 bool bEnabled_; 97 98 bool bAllowedByLOD_; 98 unsigned int detaillevel_; //!< Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high)99 unsigned int detaillevel_; //!< Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high) 99 100 float speedFactor_; 101 102 // config values 103 unsigned int globalDetailLevel_; //!< Global maximum detail level of particle effects (0: off, 1: low, 2: normal, 3: high) 100 104 101 105 static ParticleInterface* currentParticleInterface_s;
Note: See TracChangeset
for help on using the changeset viewer.