public List <PhactoryHost.Database.Resource> DependencyResolve(PhactoryHost.Database.Resource resource) { List <PhactoryHost.Database.Resource> orderedResources = new List <PhactoryHost.Database.Resource>(); Helper.TopologicalSort topologicalSort = new Helper.TopologicalSort(); List <Helper.TopologicalSort.PairValue> pairValues = new List <Helper.TopologicalSort.PairValue>(); CreatePairValueRecursive(resource, pairValues); List <int> sortedIds = topologicalSort.Sort(pairValues); foreach (int resourceId in sortedIds) { orderedResources.Add(App.Controller.Entities.GetResource(resourceId)); } orderedResources.Add(resource); return(orderedResources); }
public List<PhactoryHost.Database.Resource> DependencyResolve(PhactoryHost.Database.Resource resource) { List<PhactoryHost.Database.Resource> orderedResources = new List<PhactoryHost.Database.Resource>(); Helper.TopologicalSort topologicalSort = new Helper.TopologicalSort(); List<Helper.TopologicalSort.PairValue> pairValues = new List<Helper.TopologicalSort.PairValue>(); CreatePairValueRecursive(resource, pairValues); List<int> sortedIds = topologicalSort.Sort(pairValues); foreach( int resourceId in sortedIds ) { orderedResources.Add(App.Controller.Entities.GetResource(resourceId)); } orderedResources.Add(resource); return orderedResources; }