Ejemplo n.º 1
0
        private RunList<StepDescriptor> BuildRunlist(CodeModelBuilder modelBuilder, string[] finalResources)
        {
            var mutators = AppDomain.CurrentDomain.GetAssemblies()
               .SelectMany(x => x.GetTypes())
               .Where(x => typeof(IMutator).IsAssignableFrom(x) && x.IsClass && !x.IsAbstract)
               .Select(x => new MutatorStepDescriptor(modelBuilder, x));

            var finalResourcesStep = new RequiredResources(finalResources);

            var dependencyNetwork = new DependencyManager<StepDescriptor>(x => x.Provides, x => x.Needs, x => x.OptionalNeeds);

            dependencyNetwork.AddRange(mutators);
            dependencyNetwork.Add(finalResourcesStep);
            dependencyNetwork.RequireElements(finalResourcesStep);

            return dependencyNetwork.CalculateRunList();
        }
Ejemplo n.º 2
0
 private void Awake()
 {
     DependencyManager.Add <IItemPreview>(this);
 }