Ejemplo n.º 1
0
const FilePath *Helium::Asset::GetAssetFileSystemPath()
{
	HELIUM_ASSERT( !m_path.IsEmpty() );

	FilePath filePath;

	Asset *pSourceAsset = GetSourceAsset();
	if (pSourceAsset)
	{
		Package *pPackage = Reflect::SafeCast<Package>( pSourceAsset->GetOwner() );

		if ( pPackage )
		{
			PackageLoader *pLoader = pPackage->GetLoader();
			HELIUM_ASSERT( pLoader->HasAssetFileState() );

			if ( pLoader )
			{
				return &pLoader->GetAssetFileSystemPath( pSourceAsset->GetPath() );
			}
		}
	}

	return NULL;
}
Ejemplo n.º 2
0
Asset *Helium::Asset::GetSourceAsset()
{
	HELIUM_ASSERT( !m_path.IsEmpty() );

	Asset *pAssetWithSourceFile = this;
	while ( pAssetWithSourceFile && pAssetWithSourceFile->GetAssetType()->GetFlags() & AssetType::FLAG_GENERATED_FROM_OWNER )
	{
		pAssetWithSourceFile = pAssetWithSourceFile->GetOwner();
	}

	return pAssetWithSourceFile;
}
Ejemplo n.º 3
0
uint64_t Helium::Asset::GetAssetFileTimeStamp()
{
	HELIUM_ASSERT( !m_path.IsEmpty() );
	uint64_t timestamp = 0;

	Asset *pSourceAsset = GetSourceAsset();
	if (pSourceAsset)
	{
		Package *pPackage = Reflect::SafeCast<Package>( pSourceAsset->GetOwner() );

		if ( pPackage )
		{
			PackageLoader *pLoader = pPackage->GetLoader();
			HELIUM_ASSERT( pLoader->HasAssetFileState() );

			if ( pLoader )
			{
				pLoader->GetAssetFileSystemTimestamp( pSourceAsset->GetPath() );
			}
		}
	}

	return timestamp;
}
Ejemplo n.º 4
0
wxDataViewItem ProjectViewModel::GetParent( const wxDataViewItem& item ) const
{
	Asset *node = static_cast< Asset* >( item.GetID() );

	return wxDataViewItem( node->GetOwner() );
}