private bool TryExtractDependencies(ITreeRequirement requirement, out List <Dependency> _dependencies) { List <Dependency> dependencies = new List <Dependency>(); foreach (var kvp in requirement.Dependencies) { INodeElement dependencyElement = AllDependencies.SingleOrDefault(x => x.ElementName == kvp.Key); if (dependencyElement == null) { Debug.LogError($"couldn't find json dependency {kvp.Key} in dependency database"); continue; } dependencies.Add(new Dependency(dependencyElement, kvp.Value)); } _dependencies = dependencies; return(_dependencies != null && _dependencies.Count > 0); }
private bool TryExtractNode(ITreeRequirement _requirement, out INodeElement _element) { _element = AllNodeElements.SingleOrDefault(x => x.ElementName == _requirement.Name); return(_element != null); }