Пример #1
0
        /// <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();
        }
 protected LogicSensor(Segment segment, Int64 x, Int64 y, Int64 z, UInt16 cubeType, Byte flags, UInt16 value)
     : base(eSegmentEntity.Mod, SpawnableObjectEnum.ResearchStation, x, y, z, cubeType, flags, value, Vector3.zero, segment)
 {
     mbNeedsLowFrequencyUpdate = true;
     _node = new OnlyOutput();
     UpdateFaces(flags);
 }