void Sound::destroy () { Ogre::SceneManager *mSceneMgr = RadXML::getSingletonPtr ()->getSceneManager (); destroySceneNode (); if (sSound != 0) { delete sSound; sSound = 0; } }
void Camera::destroy () { Ogre::SceneManager *mSceneMgr = RadXML::getSingletonPtr ()->getSceneManager (); destroySceneNode (); if (camCamera != 0) { mSceneMgr->destroyCamera (camCamera); camCamera = 0; } }
void CLiftableObject::destroy() { m_ObjectManager.getMap().getPhysicsManager()->deleteLater(m_pCollisionObject); if (m_eState == LOS_AT_DEFAULT_LOCATION) { m_ObjectManager.getMap().destroyObjectsEntity(this, NULL, BtOgre::Convert::toOgre(m_pCollisionObject->getWorldTransform().getOrigin())); } else { if (btRigidBody::upcast(m_pCollisionObject)->getMotionState()) { destroySceneNode(dynamic_cast<BtOgre::RigidBodyState*>(btRigidBody::upcast(m_pCollisionObject)->getMotionState())->getNode()); dynamic_cast<BtOgre::RigidBodyState*>(btRigidBody::upcast(m_pCollisionObject)->getMotionState())->setNode(NULL); delete btRigidBody::upcast(m_pCollisionObject)->getMotionState(); btRigidBody::upcast(m_pCollisionObject)->setMotionState(NULL); } } sendCreateInnerObjectEvent(IOCE_DESTROYED); m_ObjectManager.deleteObject(this); }
CBomb::~CBomb() { if (m_pListener) { m_pListener->bombDestroyed(this); } if (m_pSceneNode) { destroySceneNode(m_pSceneNode); m_pSceneNode = NULL; } if (m_pCollisionObject) { btRigidBody *pRB = btRigidBody::upcast(m_pCollisionObject); m_ObjectManager.getMap().getPhysicsManager()->getWorld()->removeRigidBody(pRB); delete pRB->getCollisionShape(); delete pRB->getMotionState(); delete pRB; m_pCollisionObject = NULL; } }
EditorNode::~EditorNode() { if (scene_node) destroySceneNode(scene_node, true); }