Example #1
0
 protected ConsumerNode(Item item, ProductionGraph graph)
     : base(graph)
 {
     ConsumedItem = item;
     rateType     = RateType.Manual;
     actualRate   = 1f;
 }
Example #2
0
        public static RecipeNode Create(Recipe baseRecipe, ProductionGraph graph)
        {
            RecipeNode node = new RecipeNode(baseRecipe, graph);

            node.Graph.Nodes.Add(node);
            node.Graph.InvalidateCaches();
            return(node);
        }
Example #3
0
        public static PassthroughNode Create(Item item, ProductionGraph graph)
        {
            PassthroughNode node = new PassthroughNode(item, graph);

            node.Graph.Nodes.Add(node);
            node.Graph.InvalidateCaches();
            return(node);
        }
Example #4
0
        public static ConsumerNode Create(Item item, ProductionGraph graph)
        {
            ConsumerNode node = new ConsumerNode(item, graph);

            node.Graph.Nodes.Add(node);
            node.Graph.InvalidateCaches();
            return(node);
        }
Example #5
0
        public static void FindOptimalGraphToSatisfyFixedNodes(
            this ProductionGraph graph, IReadOnlyCollection <ProductionNode> nodeGroup)
        {
            foreach (ProductionNode node in nodeGroup.Where(n => n.RateType == RateType.Auto))
            {
                node.ResetSolvedRate();
            }

            OptimiseNodeGroup(nodeGroup);

            graph.UpdateLinkThroughputs();
        }
Example #6
0
        public static void FindOptimalGraphToSatisfyFixedNodes(this ProductionGraph graph)
        {
            foreach (ProductionNode node in graph.Nodes.Where(n => n.RateType == RateType.Auto))
            {
                node.ResetSolvedRate();
            }

            foreach (var nodeGroup in graph.GetConnectedComponents())
            {
                OptimiseNodeGroup(nodeGroup);
            }

            graph.UpdateLinkThroughputs();
        }
Example #7
0
 protected SupplyNode(Item item, ProductionGraph graph)
     : base(graph)
 {
     SuppliedItem = item;
 }
Example #8
0
 protected ProductionNode(ProductionGraph graph)
 {
     Graph = graph;
 }
Example #9
0
 protected RecipeNode(Recipe baseRecipe, ProductionGraph graph)
     : base(graph)
 {
     BaseRecipe = baseRecipe;
 }
Example #10
0
		public static ConsumerNode Create(Item item, ProductionGraph graph)
		{
			ConsumerNode node = new ConsumerNode(item, graph);
			node.Graph.Nodes.Add(node);
			node.Graph.InvalidateCaches();
			return node;
		}
Example #11
0
		protected ConsumerNode(Item item, ProductionGraph graph) : base(graph)
		{
			ConsumedItem = item;
		}
Example #12
0
		protected ProductionNode(ProductionGraph graph)
		{
			Graph = graph;
		}
Example #13
0
		public static RecipeNode Create(Recipe baseRecipe, ProductionGraph graph)
		{
			RecipeNode node = new RecipeNode(baseRecipe, graph);
			node.Graph.Nodes.Add(node);
			node.Graph.InvalidateCaches();
			return node;
		}
Example #14
0
		protected RecipeNode(Recipe baseRecipe, ProductionGraph graph)
			: base(graph)
		{
			BaseRecipe = baseRecipe;
		}
Example #15
0
 protected PassthroughNode(Item item, ProductionGraph graph)
     : base(graph)
 {
     this.PassedItem = item;
 }
Example #16
0
 protected ConsumerNode(Item item, ProductionGraph graph) : base(graph)
 {
     ConsumedItem = item;
 }
Example #17
0
		protected SupplyNode(Item item, ProductionGraph graph)
			: base(graph)
		{
			SuppliedItem = item;
		}
Example #18
0
 protected RecipeNode(Recipe baseRecipe, ProductionGraph graph)
     : base(graph)
 {
     BaseRecipe  = baseRecipe;
     NodeModules = ModuleSelector.Fastest;
 }