/// <summary> /// The main method. /// </summary> /// <param name="args">Command line arguments that are ignored.</param> private static void Main(String[] args) { var inputNode2 = new OnlyOutput(); var splitterNode1 = new Splitter(); var maxNode1 = new MaxFinder(); var splitterNode2 = new Splitter(); var maxNode2 = new MaxFinder(); var outputNode1 = new LogicConsoleWriter <byte>(); var outputNode2 = new LogicConsoleWriter <byte>(); inputNode2.ConnectToHead(0, splitterNode1, 0); splitterNode1.ConnectToHead(0, maxNode1, 1); splitterNode1.ConnectToHead(1, maxNode2, 1); maxNode1.ConnectToHead(0, splitterNode2, 0); splitterNode2.ConnectToHead(2, maxNode1, 0); splitterNode2.ConnectToHead(0, maxNode2, 0); splitterNode2.ConnectToHead(1, outputNode1, 0); maxNode2.ConnectToHead(0, outputNode2, 0); Graph graph = new Graph(); graph.AddNode(inputNode2); graph.AddNode(splitterNode1); graph.AddNode(splitterNode2); graph.AddNode(maxNode1); graph.AddNode(maxNode2); graph.AddNode(outputNode1); graph.AddNode(outputNode2); inputNode2.SetOutput(13); graph.Step(); inputNode2.SetOutput(32); graph.Step(); graph.Step(); }
private void UpdateFromSource() { Int64 sourceX = mnX + _sourceXOffset; Int64 sourceY = mnY + _sourceYOffset; Int64 sourceZ = mnZ + _sourceZOffset; Segment segment = AttemptGetSegment(sourceX, sourceY, sourceZ); if (segment == null) { return; } SegmentEntity entity = segment.SearchEntity(sourceX, sourceY, sourceZ); Byte output = CalculateOutput(entity, segment.GetCubeData(sourceX, sourceY, sourceZ).mValue); _node.SetOutput(output); }