Exemple #1
0
        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);
        }
Exemple #2
0
        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;
        }