| 812 | } |
| 813 | |
| 814 | void 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 | |
| 836 | void RenderManager::rrOrientEntityToward(MovableGameEntity* gameEntity, const Ogre::Vector3& direction) |
| 837 | { |
no test coverage detected