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

Method rrDestroyCreature

source/render/RenderManager.cpp:814–834  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

812}
813
814void RenderManager::rrDestroyCreature(Creature* curCreature)
815{
816 if(curCreature->getOverlayStatus() != nullptr)
817 {
818 delete curCreature->getOverlayStatus();
819 curCreature->setOverlayStatus(nullptr);
820 }
821
822 std::string creatureName = curCreature->getOgreNamePrefix() + curCreature->getName();
823 if (mSceneManager->hasEntity(creatureName))
824 {
825 Ogre::SceneNode* creatureNode = curCreature->getEntityNode();
826 Ogre::Entity* ent = mSceneManager->getEntity(creatureName);
827 creatureNode->detachObject(ent);
828 mCreatureSceneNode->removeChild(creatureNode);
829 curCreature->setParentSceneNode(nullptr);
830 curCreature->setEntityNode(nullptr);
831 mSceneManager->destroyEntity(ent);
832 mSceneManager->destroySceneNode(creatureNode->getName());
833 }
834}
835
836void RenderManager::rrOrientEntityToward(MovableGameEntity* gameEntity, const Ogre::Vector3& direction)
837{

Callers 1

destroyMeshLocalMethod · 0.80

Calls 6

getOverlayStatusMethod · 0.80
setOverlayStatusMethod · 0.80
getEntityNodeMethod · 0.80
setParentSceneNodeMethod · 0.80
setEntityNodeMethod · 0.80
getOgreNamePrefixMethod · 0.45

Tested by

no test coverage detected