MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / rrUpdateEntityOpacity

Method rrUpdateEntityOpacity

source/render/RenderManager.cpp:761–785  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

759}
760
761void RenderManager::rrUpdateEntityOpacity(RenderedMovableEntity* entity)
762{
763 std::string entStr = entity->getOgreNamePrefix() + entity->getName();
764 Ogre::Entity* ogreEnt = mSceneManager->hasEntity(entStr) ? mSceneManager->getEntity(entStr) : nullptr;
765 if (ogreEnt == nullptr)
766 {
767 OD_LOG_INF("Update opacity: Couldn't find entity: " + entStr);
768 return;
769 }
770
771 setEntityOpacity(ogreEnt, entity->getOpacity());
772
773 // We add the tile if it is required and the opacity is 1. Otherwise, we show it (in case the trap gets deactivated)
774 bool tileVisible = (!entity->getHideCoveredTile() || (entity->getOpacity() < 1.0f));
775 Tile* posTile = entity->getPositionTile();
776 if(posTile != nullptr)
777 {
778 std::string tileName = posTile->getOgreNamePrefix() + posTile->getName();
779 if (mSceneManager->hasEntity(tileName))
780 {
781 Ogre::Entity* ogreEntity = mSceneManager->getEntity(tileName);
782 ogreEntity->setVisible(tileVisible);
783 }
784 }
785}
786
787void RenderManager::rrCreateCreature(Creature* curCreature)
788{

Callers 1

setMeshOpacityMethod · 0.80

Calls 5

getOpacityMethod · 0.80
getHideCoveredTileMethod · 0.80
getPositionTileMethod · 0.80
setVisibleMethod · 0.80
getOgreNamePrefixMethod · 0.45

Tested by

no test coverage detected