bool Helium::Asset::SaveAsset() { Package *pPackage = GetOwningPackage(); if ( pPackage ) { PackageLoader *pLoader = pPackage->GetLoader(); if ( pLoader ) { pLoader->SaveAsset( this ); return true; } } return false; }
void ProjectPanel::OnSave( wxCommandEvent& event ) { wxDataViewItemArray selection; int numSelected = m_DataViewCtrl->GetSelections( selection ); for (int i = 0; i < numSelected; ++i) { Asset *pAsset = static_cast<Asset *>( selection[i].GetID() ); Package *pPackage = pAsset->GetOwningPackage(); HELIUM_ASSERT( pPackage ); PackageLoader *pPackageLoader = pPackage->GetLoader(); HELIUM_ASSERT( pPackageLoader ); pPackageLoader->SaveAsset( pAsset ); } }