using System.Collections.Generic; using UnityEditor.Build.Content; using UnityEngine; namespace UnityEditor.Build.Pipeline.Interfaces { /// <summary> /// Base interface for the dependency data container /// </summary> public interface IDependencyData : IContextObject { /// <summary> /// Map of Asset to dependency data. /// </summary> Dictionary<GUID, AssetLoadInfo> AssetInfo { get; } /// <summary> /// Map of Asset to usage data. /// </summary> Dictionary<GUID, BuildUsageTagSet> AssetUsage { get; } /// <summary> /// Map of Scene to dependency data. /// </summary> Dictionary<GUID, SceneDependencyInfo> SceneInfo { get; } /// <summary> /// Map of Scene to usage data. /// </summary> Dictionary<GUID, BuildUsageTagSet> SceneUsage { get; } /// <summary> /// Map of Asset or Scene to pre-calculated dependency hash for caching. /// </summary> Dictionary<GUID, Hash128> DependencyHash { get; } /// <summary> /// Reusable cache for calculating usage tags /// </summary> BuildUsageCache DependencyUsageCache { get; } /// <summary> /// BuildUsageTagGlobal value from GraphicsSettings /// </summary> BuildUsageTagGlobal GlobalUsage { get; set; } } }