/// <summary> /// Evaluates whether to set any <see cref="Errors"/> based on problems with the dependencies. /// </summary> /// <param name="tryGetAssetBundlePack">Function to get an <see cref="AssetBundlePack"/> given its name.</param> public void CheckDependencyErrors(TryGetAssetBundlePack tryGetAssetBundlePack) { if (DeliveryMode == AssetPackDeliveryMode.DoNotPackage) { return; } foreach (var variant in Variants) { var textureCompressionFormat = variant.Key; var assetPack = variant.Value; assetPack.CheckDependencyErrors( DeliveryMode, TryGetDependency(tryGetAssetBundlePack, textureCompressionFormat)); } }
private static AssetBundleVariant.TryGetDependency TryGetDependency( TryGetAssetBundlePack tryGetAssetBundlePack, TextureCompressionFormat textureCompressionFormat) { return((string name, out AssetBundleVariant dependency, out AssetPackDeliveryMode deliveryMode) => { deliveryMode = AssetPackDeliveryMode.DoNotPackage; dependency = null; AssetBundlePack assetBundlePack; if (tryGetAssetBundlePack(name, out assetBundlePack) && assetBundlePack.Variants.TryGetValue(textureCompressionFormat, out dependency)) { deliveryMode = assetBundlePack.DeliveryMode; return true; } return false; }); }