bool FAssetDataGatherer::ReadAssetFile(const FString& AssetFilename, TArray<FBackgroundAssetData*>& AssetDataList, FPackageDependencyData& DependencyData) const
{
	FPackageReader PackageReader;

	if ( !PackageReader.OpenPackageFile(AssetFilename) )
	{
		return false;
	}

	if ( !PackageReader.ReadAssetRegistryData(AssetDataList) )
	{
		if ( !PackageReader.ReadAssetDataFromThumbnailCache(AssetDataList) )
		{
			// It's ok to keep reading even if the asset registry data doesn't exist yet
			//return false;
		}
	}

	if ( bGatherDependsData )
	{
		if ( !PackageReader.ReadDependencyData(DependencyData) )
		{
			return false;
		}
	}

	return true;
}
bool FAssetDataGatherer::ReadAssetFile(const FString& AssetFilename, TArray<FAssetData*>& AssetDataList, FPackageDependencyData& DependencyData, TArray<FString>& CookedPackageNamesWithoutAssetData ) const
{
	FPackageReader PackageReader;

	if ( !PackageReader.OpenPackageFile(AssetFilename) )
	{
		return false;
	}

	if ( PackageReader.ReadAssetRegistryDataIfCookedPackage(AssetDataList, CookedPackageNamesWithoutAssetData) )
	{
		// Cooked data is special. No further data is found in these packages
		return true;
	}

	if ( !PackageReader.ReadAssetRegistryData(AssetDataList) )
	{
		if ( !PackageReader.ReadAssetDataFromThumbnailCache(AssetDataList) )
		{
			// It's ok to keep reading even if the asset registry data doesn't exist yet
			//return false;
		}
	}

	if ( bGatherDependsData )
	{
		if ( !PackageReader.ReadDependencyData(DependencyData) )
		{
			return false;
		}
	}

	return true;
}