예제 #1
0
        public void SomeBlocks()
        {
            EnergyRendererContext ctx = new EnergyRendererContext();

            ctx.BarWidth = 10;
            ctx.RowWidth = 66;
            EnergyListRenderer display = new EnergyListRenderer(ctx);
            string             result  = display.Render(
                new TestBatteryBlock("batteria_1", 3.0f, 2.3f, -317.29f, true, false),
                new TestBatteryBlock("batteria_2", 6.2f, 0f, 0f, false, true),
                new TestPowerProductionBlock("reattore_1", 15.0f, 1.45f, true),
                new TestPowerProductionBlock("reattore_2", 15.00011111f, 0f, false),
                new TestPowerProductionBlock("pannello_solare", 0f, 0f, true)
                );
            string expected =
                "[Energy -]" + NL +
                "------------------------------------------------------------------" + NL +
                "batteria_1 [-]" + NL +
                " (||||||||..)  77% 3MWh OUT -317.29W 2.3MWh" + NL +
                "batteria_2 OFF" + NL +
                " (..........)   0% 6.2MWh  IN 0W 0MWh" + NL +
                "reattore_1 [-]" + NL +
                " (|.........)  10% 15MW OUT 1.45MW" + NL +
                "reattore_2 OFF" + NL +
                " (..........)   0% 15MW OUT 0MW" + NL +
                "pannello_solare [-]" + NL +
                " (          ) [NA] 0MW OUT 0MW";

            Assert.AreEqual(expected, result);
        }
예제 #2
0
        public void Main(string argument, UpdateType updateSource)
        {
            System.Collections.Generic.List <IMyTextPanel> displays = new System.Collections.Generic.List <IMyTextPanel>();
            GridTerminalSystem.GetBlocksOfType <IMyTextPanel>(displays, d => MyIni.HasSection(d.CustomData, "energy"));
            string           report1 = display1.Render(energyInfo1);
            string           report2 = display2.Render(energyInfo2);
            MyIni            menuIni = new MyIni();
            MyIniParseResult br;

            foreach (IMyTextPanel d in displays)
            {
                if (menuIni.TryParse(d.CustomData, out br))
                {
                    string group = menuIni.Get("energy", "group").ToString();
                    if (group.Equals("1"))
                    {
                        d.WriteText(report1);
                    }
                    else if (group.Equals("2"))
                    {
                        d.WriteText(report2);
                    }
                }
            }
            SpinningBar.Step();
        }
예제 #3
0
        public void NothingToDisplay()
        {
            EnergyRendererContext ctx = new EnergyRendererContext();

            ctx.BarWidth = 18;
            ctx.RowWidth = 34;
            EnergyListRenderer display  = new EnergyListRenderer(ctx);
            string             result   = display.Render();
            string             expected =
                "[Energy -]" + NL +
                "----------------------------------";

            Assert.AreEqual(expected, result);
        }