private ResolverUsageDefinitionList CreateCacheUsageList() { ResolverUsageDefinitionList resolverUsageDefinitionList = new ResolverUsageDefinitionList(); foreach (CacheState state in _cacheStates) { if (state.IsActive) { foreach (ResolverState resolverState in state.ResolverStates) { if (resolverState.IsActive) { List <string> activeConnectionTypes = new List <string>(); string[] connectionTypes = resolverState.Resolver.GetConnectionTypes(); foreach (string connectionType in connectionTypes) { if (resolverState.ActiveConnectionTypes.Contains(connectionType)) { activeConnectionTypes.Add(connectionType); } } resolverUsageDefinitionList.Add(state.Cache.GetType(), resolverState.Resolver.GetType(), activeConnectionTypes); } } } } return(resolverUsageDefinitionList); }
private void LoadDependencyCache(bool update = true) { _nodeDependencyLookupContext.Reset(); ResolverUsageDefinitionList resolverUsageDefinitionList = CreateCacheUsageList(); ProgressBase progress = new ProgressBase(null); progress.SetProgressFunction((title, info, value) => EditorUtility.DisplayProgressBar(title, info, value)); NodeDependencyLookupUtility.LoadDependencyLookupForCaches(_nodeDependencyLookupContext, resolverUsageDefinitionList, progress, true, update); SetNodeHandlerContext(); }