bool CParaWorldAsset::UnloadAssetByKeyName(const string& keyname) { string sFileExt = CParaFile::GetFileExtension(keyname); if(sFileExt == "dds" || sFileExt == "png") { TextureEntity* pEntity = (TextureEntity*) GetTextureManager().get(keyname); if(pEntity && (pEntity->GetState()==AssetEntity::ASSET_STATE_FAILED_TO_LOAD || pEntity->IsLoaded())) { pEntity->UnloadAsset(); pEntity->SetLocalFileName(""); if(pEntity->GetState()==AssetEntity::ASSET_STATE_FAILED_TO_LOAD) pEntity->SetState(AssetEntity::ASSET_STATE_NORMAL); return true; } } else if(sFileExt == "x" || sFileExt == "xml") { { MeshEntity* pEntity = (MeshEntity*) GetMeshManager().get(keyname); if(pEntity && pEntity->IsLoaded()) { pEntity->UnloadAsset(); pEntity->SetLocalFileName(""); return true; } } { ParaXEntity* pEntity = (ParaXEntity*) GetParaXManager().get(keyname); if(pEntity && pEntity->IsLoaded()) { pEntity->UnloadAsset(); pEntity->SetLocalFileName(""); return true; } } } #ifdef USE_DIRECTX_RENDERER else if(sFileExt == "iges") { CadModel* pCadModel = (CadModel*) m_CadModelManager.get(keyname); if(pCadModel && pCadModel->IsLoaded()) { pCadModel->UnloadAsset(); pCadModel->SetLocalFileName(""); return true; } } #endif return false; }