Exemplo n.º 1
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     if (ingredients.Length > 0)
     {
         temp.Clear();
         foreach (var ingredient in ingredients)
         {
             if (ingredient.variants != null)
             {
                 collector.Add(new PackedList <Goods>(ingredient.variants), DependencyList.Flags.IngredientVariant);
             }
             else
             {
                 temp.Add(ingredient.goods);
             }
         }
         if (temp.Count > 0)
         {
             collector.Add(temp, DependencyList.Flags.Ingredient);
         }
     }
     collector.Add(crafters, DependencyList.Flags.CraftingEntity);
     if (sourceEntity != null)
     {
         collector.Add(new[] { sourceEntity.id }, DependencyList.Flags.SourceEntity);
     }
 }
Exemplo n.º 2
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     base.GetDependencies(collector, temp);
     if (prerequisites.Length > 0)
     {
         collector.Add(new PackedList <Technology>(prerequisites), DependencyList.Flags.TechnologyPrerequisites);
     }
 }
Exemplo n.º 3
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     base.GetDependencies(collector, temp);
     if (!enabled)
     {
         collector.Add(technologyUnlock, DependencyList.Flags.TechnologyUnlock);
     }
 }
Exemplo n.º 4
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     if (energy != null)
     {
         collector.Add(energy.fuels, DependencyList.Flags.Fuel);
     }
     if (mapGenerated)
     {
         return;
     }
     collector.Add(itemsToPlace, DependencyList.Flags.ItemToPlace);
 }
Exemplo n.º 5
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     base.GetDependencies(collector, temp);
     if (prerequisites.Length > 0)
     {
         collector.Add(new PackedList <Technology>(prerequisites), DependencyList.Flags.TechnologyPrerequisites);
     }
     if (hidden && !enabled)
     {
         collector.Add(Array.Empty <FactorioId>(), DependencyList.Flags.Hidden);
     }
 }
Exemplo n.º 6
0
 public override void GetDependencies(IDependencyCollector collector)
 {
     if (ingredients.Length > 0)
     {
         var ingList = new FactorioId[ingredients.Length];
         for (var i = 0; i < ingredients.Length; i++)
         {
             ingList[i] = ingredients[i].goods.id;
         }
         collector.Add(ingList, DependencyList.Flags.Ingredient);
     }
     collector.Add(crafters, DependencyList.Flags.CraftingEntity);
     if (sourceEntity != null)
     {
         collector.Add(new[] { sourceEntity.id }, DependencyList.Flags.SourceEntity);
     }
     if (!enabled)
     {
         collector.Add(technologyUnlock, DependencyList.Flags.TechnologyUnlock);
     }
 }
Exemplo n.º 7
0
 public abstract void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp);
Exemplo n.º 8
0
 public override void GetDependencies(IDependencyCollector collector, List <FactorioObject> temp)
 {
     collector.Add(new PackedList <FactorioObject>(production.Concat(miscSources)), DependencyList.Flags.Source);
 }
Exemplo n.º 9
0
 public abstract void GetDependencies(IDependencyCollector collector);
Exemplo n.º 10
0
        public DependencyScanner UseCollector(IDependencyCollector collector)
        {
            _collectors.Add(collector);

            return(this);
        }