Esempio n. 1
0
OgreSystem::~OgreSystem() {
    {
        SceneEntitiesMap toDelete;
        toDelete.swap(mSceneEntities);
        SceneEntitiesMap::iterator iter;
        for (iter = toDelete.begin(); iter != toDelete.end(); ++iter) {
            Entity* current = (*iter).second;
            delete current;
        }
    }
    decrefcount();
    for (std::list<OgreSystem*>::iterator iter=sActiveOgreScenes.begin()
             ;iter!=sActiveOgreScenes.end();) {
        if (*iter==this) {
            sActiveOgreScenes.erase(iter++);
            break;
        }else ++iter;
        assert(iter!=sActiveOgreScenes.end());
    }
    mProxyManager->removeListener(this);    
    --sNumOgreSystems;
    if (sNumOgreSystems==0) {
        OGRE_DELETE sCDNArchivePlugin;
        sCDNArchivePlugin=NULL;
        OGRE_DELETE sRoot;
        sRoot=NULL;
    }
    delete mInputManager;
}
Esempio n. 2
0
 Entity* getEntity(const SpaceObjectReference &proxyId) const {
     SceneEntitiesMap::const_iterator iter = mSceneEntities.find(proxyId);
     if (iter != mSceneEntities.end()) {
         return (*iter).second;
     } else {
         return NULL;
     }
 }