public void Draw()
 {
     using (MySpriteDrawFrame frame = textSurface.DrawFrame())
     {
         frame.AddRange(sprites.Values);
     }
 }
Esempio n. 2
0
        void Draw(Canvas can)
        {
            MySpriteDrawFrame _frame = _textSurface.DrawFrame();

            if (can == null)
            {
                return;
            }

            foreach (BasePanel item in can.GetListChildrens())
            {
                if (item == null)
                {
                    return;
                }
                foreach (BaseCompo baseCompo in item.Content)
                {
                    foreach (var sprite in baseCompo.content.Sprites)
                    {
                        _frame.Add(sprite);
                    }
                }
            }

            _frame.Dispose();
        }
            private void AddElementsToPanels(MySpriteDrawFrame frame, bool isDoublePanel)
            {
                List <MySprite> backgroundSpriteList = new List <MySprite>();
                List <MySprite> headerSpriteList     = new List <MySprite>();
                List <MySprite> productionSpriteList = new List <MySprite>();
                List <MySprite> gasTanksSpriteList   = new List <MySprite>();
                List <MySprite> airlocksSpriteList   = new List <MySprite>();

                float screenOffset = 0;

                if (isDoublePanel)
                {
                    screenOffset = 512;
                }

                DrawBackground(backgroundSpriteList, screenOffset);
                DrawHeader(headerSpriteList, screenOffset);
                DrawProduction(productionSpriteList, screenOffset);
                DrawGasTanks(gasTanksSpriteList, screenOffset);
                DrawAirlocks(airlocksSpriteList, screenOffset);

                frame.AddRange(backgroundSpriteList);
                frame.AddRange(headerSpriteList);
                frame.AddRange(productionSpriteList);
                frame.AddRange(gasTanksSpriteList);
                frame.AddRange(airlocksSpriteList);
            }
        public override void Run()
        {
            using (MySpriteDrawFrame frame = m_surface.DrawFrame())
            {
                AddBackground(frame, new Color?(new Color(m_foregroundColor, 0.66f)));
                string str = "No file found";
                if (MyAPIGateway.Utilities.FileExistsInGlobalStorage("OutputHere.txt"))
                {
                    var read = MyAPIGateway.Utilities.ReadFileInGlobalStorage("OutputHere.txt");
                    str = read.ReadToEnd();
                    read.Dispose();
                }

                Vector2  vector2 = m_surface.MeasureStringInPixels(new StringBuilder(str), m_fontId, m_fontScale);
                MySprite sprite  = new MySprite()
                {
                    Position        = new Vector2?(new Vector2(0, m_halfSize.Y * 2f - vector2.Y)),
                    Size            = new Vector2?(new Vector2(m_innerSize.X, m_innerSize.Y)),
                    Type            = SpriteType.TEXT,
                    FontId          = m_fontId,
                    Alignment       = TextAlignment.LEFT,
                    Color           = new Color?(m_foregroundColor),
                    RotationOrScale = m_fontScale,
                    Data            = str
                };
                frame.Add(sprite);
                float scale = (float)(m_innerSize.Y / 256.0 * 0.899999976158142);
                //AddBrackets(frame, new Vector2(64f, 256f), scale);
            }
        }
Esempio n. 5
0
            public void flush()
            {
                if (renderTarget_ != null && newMesssages_ == true)
                {
                    float offset    = (messages_.Count * lineHeight_ + lineCorrection_) - (renderTarget_.Size.Y + renderTarget_.Position.Y);
                    int   lineCount = 0;
                    newMesssages_ = false;

                    using (MySpriteDrawFrame frame = renderTarget_.getRenderFrame())
                    {
                        // Workaround to fix the MP Sprite issue
                        if (drawEmpty_)
                        {
                            frame.Add(new MySprite());
                        }
                        drawEmpty_ = !drawEmpty_;

                        // background
                        renderTarget_.clearDrawArea(sprite => frame.Add(sprite));

                        // flush message lines
                        foreach (var message in messages_)
                        {
                            MySprite line = MySprite.CreateText(message.Value, font_, getFontColor(message.Key), fontSize_, TextAlignment.LEFT);
                            line.Position = new Vector2(renderTarget_.Position.X, lineCount++ *lineHeight_ - offset);
                            frame.Add(line);
                        }
                    }
                }
            }
Esempio n. 6
0
        public void Main(string argument, UpdateType updateSource)
        {
            Dictionary <string, object> inputs = Me.GetProperty("ControlModule.Inputs")?.As <Dictionary <string, object> >()?.GetValue(Me);

            if (inputs != null)
            {
                blocks.Clear();
                foreach (long key in spritesPreviewers.Keys)
                {
                    missingSpritePreviewers.Add(key);
                }
                GridTerminalSystem.GetBlocks(blocks);
                foreach (IMyTerminalBlock block in blocks)
                {
                    if (block is IMyTextPanel)
                    {
                        IMyTextPanel text_panel = (IMyTextPanel)block;
                        if (text_panel.CustomData.Trim() == "previewSprites")
                        {
                            if (!(spritesPreviewers.ContainsKey(text_panel.EntityId)))
                            {
                                List <string> sprites = new List <string>();
                                text_panel.GetSprites(sprites);
                                spritesPreviewers.Add(text_panel.EntityId, new SpritesPreviewer(text_panel, sprites));
                            }
                            missingSpritePreviewers.Remove(text_panel.EntityId);
                        }
                    }
                }
                foreach (long key in missingSpritePreviewers)
                {
                    spritesPreviewers.Remove(key);
                }
                missingSpritePreviewers.Clear();
                foreach (string input in inputs.Keys)
                {
                    if (spritesPreviewersKeyInputActions.ContainsKey(input))
                    {
                        SpritesPreviewerKeyInputActionDelegate sprites_previewers_key_input_action = spritesPreviewersKeyInputActions[input];
                        foreach (SpritesPreviewer sprite_previewer in spritesPreviewers.Values)
                        {
                            sprites_previewers_key_input_action(sprite_previewer);
                        }
                    }
                }
                foreach (SpritesPreviewer sprite_previewer in spritesPreviewers.Values)
                {
                    string selected_sprite = sprite_previewer.SelectedSprite;
                    if (selected_sprite != null)
                    {
                        sprite_previewer.TextPanel.ContentType = ContentType.SCRIPT;
                        using (MySpriteDrawFrame sprite_draw_frame = sprite_previewer.TextPanel.DrawFrame())
                        {
                            sprite_draw_frame.Add(MySprite.CreateSprite(selected_sprite, sprite_previewer.TextPanel.SurfaceSize * 0.5f, sprite_previewer.TextPanel.SurfaceSize * sprite_previewer.ZoomFactor));
                            sprite_draw_frame.Add(MySprite.CreateText(selected_sprite, "DEBUG", Color.White, 1.0f, TextAlignment.CENTER));
                        }
                    }
                }
            }
        }
Esempio n. 7
0
        public void DrawBar(ref MySpriteDrawFrame frame, Vector2 position, float value)
        {
            // Display 10 lines of text by 20 columns
            int bar_width     = 21;
            var filled_blocks = (int)(bar_width * value);
            var empty_blocks  = Math.Max(bar_width - filled_blocks, 0);

            var bar_top    = new string('═', bar_width);
            var bar_mid    = new string(' ', bar_width);
            var bar_bot    = new string('═', bar_width);
            var bar_filled = new string('▓', filled_blocks);
            var bar_empty  = new string(' ', empty_blocks);

            var line1 = $"╔{bar_top}╗\n";
            var line2 = $"║{bar_filled}{bar_empty}║ {value:P}\n";
            var line3 = $"╚{bar_top}╝";

            // Create our first bar
            var bar_outline = new MySprite()
            {
                Type            = SpriteType.TEXT,
                Data            = $"{line1}{line2}{line3}",
                Position        = position,
                RotationOrScale = 0.8f /* 80 % of the font's default size */,
                Color           = Color.Red,
                Alignment       = TextAlignment.LEFT /* Center the text on the position */,
                FontId          = "Monospace"
            };

            // Add the sprite to the frame
            frame.Add(bar_outline);
        }
Esempio n. 8
0
            public void Draw()
            {
                if (program.Me.CubeGrid.GridSizeEnum == MyCubeSize.Small)
                {
                    return;
                }

                using (MySpriteDrawFrame frame = textSurface.DrawFrame())
                {
                    frame.Add(new MySprite(SpriteType.TEXT, "SolarMap v0.9.1", new Vector2(10, 100), null, Color.White, null, TextAlignment.LEFT, 0.7f));
                    frame.Add(new MySprite(SpriteType.TEXT, "Average instructions:\nInstruction peak:\nAverage runtime:\nRuntime:\nUpdates:", new Vector2(10, 125), null, Color.White, null, TextAlignment.LEFT, 0.6f));

                    // Calculate various.
                    runTimes[tick]          = program.Runtime.LastRunTimeMs;
                    instructionCounts[tick] = program.Runtime.CurrentInstructionCount;
                    time += program.Runtime.TimeSinceLastRun;
                    tick  = tick > 8 ? 0 : ++tick;

                    frame.Add(new MySprite(SpriteType.TEXT,
                                           AverageInstructions + "/" + program.Runtime.MaxInstructionCount + "\n" +
                                           HighestInstruction + "\n" +
                                           AverageRunTime + " ms\n" +
                                           time.ToString(@"dd\.hh\:mm\:ss") + "\n" +
                                           program.terminalManager.ShipController.UpdateCount,
                                           new Vector2(200, 125), null, Color.White, null, TextAlignment.LEFT, 0.6f));

                    if (!program.terminalManager.ShipController.HasController)
                    {
                        frame.Add(new MySprite(SpriteType.TEXT, "Status", new Vector2(10, 250), null, Color.White, null, TextAlignment.LEFT, 0.7f));
                        frame.Add(new MySprite(SpriteType.TEXT, "- Controller does not exist.", new Vector2(10, 275), null, Color.White, null, TextAlignment.LEFT, 0.6f));
                    }
                }
            }
Esempio n. 9
0
        public void Draw(MySpriteDrawFrame frame, Data dataChanged)
        {
            if (UseDataMinMax)
            {
                def.min = shipData[def.data].Min;
                def.max = shipData[def.data].Max;
                total   = def.max - def.min;
            }
            val = Ini.AdjustToUnit(def, shipData, total, UseDataMinMax);

            //Check for hide condition.
            if (Ini.MeetsConditions(def.conditions, val, def.condVals))
            {
                return;
            }

            if ((dataChanged & def.data) != 0)
            {
                semi.RotationOrScale = MathHelper.ToRadians(MathHelper.Clamp((float)(shipData[def.data].Value / total * 180f), 0, 180)) + def.rotation;

                frame.Add(full);
                frame.Add(semi);
                frame.Add(inner);
                frame.Add(box);
            }
            else
            {
                frame.Add(full);
                frame.Add(semi);
                frame.Add(inner);
                frame.Add(box);
            }
        }
Esempio n. 10
0
        public void DrawSprites(ref MySpriteDrawFrame frame, RectangleF _viewport)
        {
            var background = MySprite.CreateSprite("SquareSimple", _viewport.Center, _viewport.Size);

            background.Color = new Color(26, 28, 32);
            frame.Add(background);

            Vector2 ocSize      = percentageSize(80, _viewport);
            var     outerCircle = MySprite.CreateSprite("Circle", _viewport.Center, ocSize);

            outerCircle.Color = new Color(29, 229, 128);
            frame.Add(outerCircle);

            Vector2 icSize      = percentageSize(60, _viewport);
            var     innerCircle = MySprite.CreateSprite("Circle", _viewport.Center, icSize);

            innerCircle.Color = new Color(37, 39, 45);
            frame.Add(innerCircle);

            float size         = TextSize(40, _viewport);
            float offset       = TextSizeOffset(size);
            var   platformCode = MySprite.CreateText("01", "White", Color.White, size, TextAlignment.CENTER);
            // Vector2 pcPos = new Vector2(_viewport.Center.X, _viewport.Center.Y - 100);
            Vector2 pcPos = new Vector2(_viewport.Size.X / 2, _viewport.Size.Y / 2 - offset) + _viewport.Position;

            platformCode.Position = pcPos;
            frame.Add(platformCode);
        }
Esempio n. 11
0
            private void DisplayPerformance(Surface surface)
            {
                /*
                 * display the last run times on the surface
                 */

                MySpriteDrawFrame frame    = surface.TextSurface.DrawFrame();
                RectangleF        viewRect = surface.ViewRect;
                Color             color    = surface.TextSurface.ScriptForegroundColor;

                spritePosition    = viewRect.Center;
                spritePosition.Y -= 20;

                sprite = new MySprite()
                {
                    Type = SpriteType.TEXT,
                    Data = $"last run: {parent.LastRunTime}ms ({parent.LastRunType})" +
                           $"\nlast average: {parent.LastAverage}ms ({parent.RunsPerAverage} runs)",
                    Position        = spritePosition,
                    RotationOrScale = 0.6f,
                    Color           = color,
                    Alignment       = TextAlignment.CENTER,
                    FontId          = "Monospace"
                };
                frame.Add(sprite);
                frame.Dispose();
            }
Esempio n. 12
0
        public override void Run()
        {
            using (MySpriteDrawFrame frame = m_surface.DrawFrame())
            {
                AddBackground(frame, new Color?(new Color(m_foregroundColor, 0.66f)));
                num1 = num1 + 1;

                string   str     = "HELLO\n" + "MOD BY FROSTY\n" + num1.ToString();
                Vector2  vector2 = m_surface.MeasureStringInPixels(new StringBuilder(str), m_fontId, m_fontScale);
                MySprite sprite  = new MySprite()
                {
                    Position        = new Vector2?(new Vector2(m_halfSize.X, m_halfSize.Y - vector2.Y * 0.5f)),
                    Size            = new Vector2?(new Vector2(m_innerSize.X, m_innerSize.Y)),
                    Type            = SpriteType.TEXT,
                    FontId          = m_fontId,
                    Alignment       = TextAlignment.CENTER,
                    Color           = new Color?(m_foregroundColor),
                    RotationOrScale = m_fontScale,
                    Data            = str
                };
                frame.Add(sprite);
                float scale = (float)(m_innerSize.Y / 256.0 * 0.899999976158142);
                //AddBrackets(frame, new Vector2(64f, 256f), scale);
            }
        }
Esempio n. 13
0
        private MySpriteDrawFrame prepareScreen(IMyTextPanel scr)
        {
            scr.ContentType = ContentType.SCRIPT;
            MySpriteDrawFrame frame = scr.DrawFrame();

            frame.Add(new MySprite(SpriteType.TEXTURE, "SquareSimple", size: screenSize, color: Color.Black));
            return(frame);
        }
Esempio n. 14
0
            public MySpriteDrawFrame Draw()
            {
                Setup();
                MySpriteDrawFrame frame = surface.DrawFrame();

                DrawFrame(frame);
                return(frame);
            }
Esempio n. 15
0
 public override void DrawFrame(MySpriteDrawFrame frame)
 {
     using (frame)
     {
         sprite.Size     = Viewport.Size;
         sprite.Position = Viewport.Center;
         frame.Add(sprite);
     }
 }
        public void Render(Window window, StringBuilder text, ref MySpriteDrawFrame frame)
        {
            if (Tracker.Updating)
            {
                return;
            }
            var categories = window.GetData <CategoryStorage>();

            if (categories == null)
            {
                return;
            }
            JobInventory.ItemTypeDescriptor.ItemCategory cat = categories.Categories;
            Buffer.Clear();
            ValueStrings.Clear();
            int    name_w = 0;
            int    val_w  = 0;
            string val;

            foreach (var item in Tracker.Stock)
            {
                if ((cat & item.Value.Category) == item.Value.Category)
                {
                    val = item.Value.FormatAmount();
                    ValueStrings[item.Value.Name] = val;
                    name_w = Math.Max(name_w, item.Value.Name.Length);
                    val_w  = Math.Max(val_w, val.Length);
                }
            }
            string catname  = cat.ToString();
            int    titlepad = name_w + 1 + val_w - catname.Length;

            if (titlepad < 0)
            {
                name_w  += -titlepad;
                titlepad = 0;
            }
            Buffer.Append('-', titlepad / 2);
            Buffer.Append(catname);
            Buffer.Append('-', titlepad - titlepad / 2);
            Buffer.Append('\n');
            foreach (var item in ValueStrings)
            {
                Buffer.Append(item.Key);
                Buffer.Append(' ', (name_w - item.Key.Length) + 1 + (val_w - item.Value.Length));
                Buffer.Append(item.Value);
                Buffer.Append('\n');
            }
            if (BgColor != Color.Transparent)
            {
                frame.Add(window.Surface.FitSprite("SquareSimple", window.Area, BgColor));
            }
            frame.Add(window.Surface.FitText(Buffer.ToString(), window.Area, "Monospace", window.Surface.ScriptForegroundColor));
            Buffer.Clear();
            ValueStrings.Clear();
        }
        public void Draw(MySpriteDrawFrame frame, Data dataChanged)
        {
            if (UseDataMinMax)
            {
                def.min = shipData[def.data].Min;
                def.max = shipData[def.data].Max;
                total   = def.max - def.min;
            }
            val = Ini.AdjustToUnit(def, shipData, total, UseDataMinMax);

            //Check for hide condition.
            if (Ini.MeetsConditions(def.conditions, val, def.condVals))
            {
                return;
            }


            if ((dataChanged & def.data) != 0)
            {
                val = MathHelper.Clamp(shipData[def.data].Value, def.min, def.max) / total;
                semi.RotationOrScale = (float)MathHelper.ToRadians((val * 270) - 46f) + def.rotation;

                frame.Add(full);

                if (val > 0.5)
                {
                    frame.Add(semi);
                    frame.Add(top);
                }
                else
                {
                    frame.Add(semi);
                    frame.Add(bottom);
                }
                frame.Add(inner);
                frame.Add(triangle);
            }
            else
            {
                frame.Add(full);

                if (val > 0.5)
                {
                    frame.Add(semi);
                    frame.Add(top);
                }
                else
                {
                    frame.Add(semi);
                    frame.Add(bottom);
                }
                frame.Add(inner);
                frame.Add(triangle);
            }
        }
Esempio n. 18
0
            private void drawBox(MySpriteDrawFrame frame, float f, Color c, float limit)
            {
                f = Math.Min(f, limit);
                float    h      = f * 512;
                Vector2  box    = new Vector2(barSize2.X, h);
                Vector2  ctr    = new Vector2(256, 512 - h / 2);
                MySprite sprite = new MySprite(SpriteType.TEXTURE, "SquareSimple", size: box, color: c);

                sprite.Position = ctr;
                frame.Add(sprite);
            }
Esempio n. 19
0
        private void UpdateLCD(IMyTextPanel surface)
        {
            RectangleF viewport = new RectangleF(
                (surface.TextureSize - surface.SurfaceSize) / 2,
                surface.SurfaceSize
                );
            MySpriteDrawFrame frame = surface.DrawFrame();

            DrawSprites(ref frame, viewport, surface);
            frame.Dispose();
        }
        public void Main(string argument, UpdateType updateSource)
        {
            frame = display.DrawFrame();
            VRage.MyFixedPoint totKg = 0;
            inventories.ForEach(delegate(IMyInventory i) {
                totKg += i.CurrentMass;
            });

            draw(totKg.ToIntSafe());
            frame.Dispose();
        }
Esempio n. 21
0
        public void Render(Window window, StringBuilder text, ref MySpriteDrawFrame frame)
        {
            text.Append('\n').Append(Buffer).Append('\n');
            if (BgColor != Color.Transparent)
            {
                frame.Add(window.Surface.FitSprite("SquareSimple", window.Area, BgColor));
            }
            Color textcolor = FontColor == Color.Transparent ? window.Surface.ScriptForegroundColor : FontColor;

            frame.Add(window.Surface.FitText(Buffer.ToString(), window.Area, "Monospace", textcolor, TextAlignment.LEFT));
        }
Esempio n. 22
0
            void drawInitScreen()
            {
                using (MySpriteDrawFrame frame = getRenderFrame())
                {
                    MySprite textInit = MySprite.CreateText("Initilize screen", "debug", Color.LawnGreen, 1f, TextAlignment.LEFT);
                    textInit.Position = new Vector2(5f, Default.CharHeight) + Position;

                    clearDrawArea(sprite => frame.Add(sprite));
                    frame.Add(textInit);
                }
            }
        public void Render(Window window, StringBuilder text, ref MySpriteDrawFrame frame)
        {
            int max = _Airlocks.Keys.Max((g) => g.Name.Length);

            foreach (var kv in _Airlocks)
            {
                Buffer.Append(kv.Key.Name).Append(' ', max - kv.Key.Name.Length)
                .Append(" : ").Append(kv.Value.CurrentState).Append('\n');
            }
            frame.Add(window.Surface.FitText(Buffer.ToString(), window.Area, "Monospace", window.Surface.ScriptForegroundColor));
        }
Esempio n. 24
0
        public void DrawSprites(ref MySpriteDrawFrame frame)
        {
            // Display a bar for the current storage capacity
            var position = new Vector2(20, 20) + _viewport.Position;
            var value    = _miner.GetUsedStoragePercentage();

            _display.DrawBar(ref frame, position, value);

            // Display a bar for the current depth
            position += new Vector2(0, 80);
            value     = _miner.TotalPistonDistanceFromHome() / _miner.MaxPistonDistanceFromHome();
            _display.DrawBar(ref frame, position, value);
        }
Esempio n. 25
0
            private static void DrawCross(ref MySpriteDrawFrame Frame)
            {
                MySprite CrossDiagonal1 = MySprite.CreateSprite("SquareSimple", Center, new Vector2(12 * UnitX, 100 * UnitY));

                CrossDiagonal1.RotationOrScale = ToRadian(45);
                CrossDiagonal1.Color           = Color.Tomato;
                Frame.Add(CrossDiagonal1);

                MySprite CrossDiagonal2 = MySprite.CreateSprite("SquareSimple", Center, new Vector2(12 * UnitX, 100 * UnitY));

                CrossDiagonal2.RotationOrScale = ToRadian(-45);
                CrossDiagonal2.Color           = Color.Tomato;
                Frame.Add(CrossDiagonal2);
            }
Esempio n. 26
0
            private static void DrawDataScreen(ref MySpriteDrawFrame Frame, IMyTextSurface Surface, CombinedDataSet CombinedData)
            {
                // ILS Data
                DrawDataScreenILSSection(ref Frame, Surface, CombinedData);

                // VOR
                DrawDataScreenVORSection(ref Frame, Surface, CombinedData);

                // Line between the two columns
                MySprite SeparationLine = MySprite.CreateSprite("SquareSimple", Center, new Vector2(3 * UnitX, 200 * UnitY));

                SeparationLine.Color = CockpitFGColor.Alpha(1f);
                Frame.Add(SeparationLine);
            }
Esempio n. 27
0
 public override void Refresh(MySpriteDrawFrame?spriteDrawFrame)
 {
     if (textSurface == null)
     {
         base.Refresh(spriteDrawFrame);
     }
     else
     {
         textSurface.ContentType = ContentType.SCRIPT;
         using (MySpriteDrawFrame sprite_draw_frame = textSurface.DrawFrame())
         {
             base.Refresh(sprite_draw_frame);
         }
     }
 }
Esempio n. 28
0
        public void Draw(MySpriteDrawFrame frame, Data dataChanged)
        {
            if (def.data != Data.None)
            {
                val = Ini.AdjustToUnit(def, shipData, total, UseDataMinMax);

                //Check for hide condition.
                if (Ini.MeetsConditions(def.conditions, val, def.condVals))
                {
                    return;
                }
            }

            frame.Add(sprite);
        }
Esempio n. 29
0
            private static void DrawDataScreenVORSection(ref MySpriteDrawFrame Frame, IMyTextSurface Surface, CombinedDataSet CombinedData)
            {
                float PositionYFactor = 5f;
                float PosistionX      = Center.X + 12 * UnitX;

                if (CombinedData.VORData.Rotation == null)
                {
                    Frame.Add(new MySprite()
                    {
                        Type            = SpriteType.TEXT,
                        Data            = "No VOR\nConnection!",
                        Position        = new Vector2(PosistionX, PositionYFactor * UnitY) + Viewport.Position,
                        RotationOrScale = DataScreenFontSize + 0.2f,
                        Color           = Color.Tomato,
                        Alignment       = TextAlignment.LEFT,
                        FontId          = "White"
                    });
                    return;
                }

                string[] _lines =
                {
                    "VOR: " + CombinedData.VORData.Name,
                    "DME: " + Math.Round(CombinedData.VORData.Distance / 1000, 1).ToString(),
                    "Radial: " + Math.Round(CombinedData.VORData.Radial,       0).ToString(),
                    "OBS: " + Math.Round(CombinedData.VORData.OBS,             0).ToString(),
                    "HDG: " + Math.Round(CombinedData.VORData.Heading,         0).ToString(),
                    "DEV: " + Math.Round(CombinedData.VORData.Deviation, 0).ToString()
                };

                List <string> Lines = new List <string>(_lines);

                foreach (string line in Lines)
                {
                    Frame.Add(new MySprite()
                    {
                        Type            = SpriteType.TEXT,
                        Data            = line,
                        Position        = new Vector2(PosistionX, PositionYFactor * UnitY) + Viewport.Position,
                        RotationOrScale = DataScreenFontSize,
                        Color           = CockpitFGColor.Alpha(1f),
                        Alignment       = TextAlignment.LEFT,
                        FontId          = "White"
                    });

                    PositionYFactor += 35;
                }
            }
Esempio n. 30
0
        public void DrawSprites(ref MySpriteDrawFrame frame)
        {
            var pos    = _viewportCapacity.Center;
            var sprite = new MySprite()
            {
                Type            = SpriteType.TEXT,
                Data            = $"{percent}%",
                Position        = pos,
                RotationOrScale = 1f,
                Color           = fontColor,
                Alignment       = TextAlignment.CENTER,
                FontId          = "White"
            };

            frame.Add(sprite);
        }