| 608 | //----------------------------------------------------------------------------- |
| 609 | |
| 610 | void SceneManager::removeObjectFromScene( SceneObject* obj ) |
| 611 | { |
| 612 | AssertFatal( obj, "SceneManager::removeObjectFromScene - Object is not declared" ); |
| 613 | AssertFatal( obj->getSceneManager() == this, "SceneManager::removeObjectFromScene - Object not part of SceneManager" ); |
| 614 | |
| 615 | // Notify the object. |
| 616 | |
| 617 | obj->onSceneRemove(); |
| 618 | |
| 619 | // Remove the object from the container. |
| 620 | |
| 621 | if( getContainer() ) |
| 622 | getContainer()->removeObject( obj ); |
| 623 | |
| 624 | // Remove the object from the zoning system. |
| 625 | |
| 626 | if( getZoneManager() ) |
| 627 | getZoneManager()->unregisterObject( obj ); |
| 628 | |
| 629 | // Clear out the reference to us. |
| 630 | |
| 631 | obj->mSceneManager = NULL; |
| 632 | } |
| 633 | |
| 634 | //----------------------------------------------------------------------------- |
| 635 |
no test coverage detected