Exemple #1
0
	void Sound::destroy ()
	{
		Ogre::SceneManager *mSceneMgr = RadXML::getSingletonPtr ()->getSceneManager ();

		destroySceneNode ();

		if (sSound != 0)
		{
			delete sSound;
			sSound = 0;
		}
	}
Exemple #2
0
	void Camera::destroy ()
	{
		Ogre::SceneManager *mSceneMgr = RadXML::getSingletonPtr ()->getSceneManager ();

		destroySceneNode ();

		if (camCamera != 0)
		{
			mSceneMgr->destroyCamera (camCamera);
			camCamera = 0;
		}
	}
Exemple #3
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);
}
Exemple #4
0
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);
}