protected override void Initialize()
        {
            base.Initialize();

            MarginLeft   = -475.0f;
            MarginTop    = 10.0f;
            MarginRight  = -10.0f;
            MarginBottom = 185.0f;

            AnchorLeft  = 1.0f;
            AnchorRight = 1.0f;

            var vBox = new VBoxContainer("VBoxContainer");

            contents = new OutputPanel {
                SizeFlagsVertical = SizeFlags.FillExpand
            };
            vBox.AddChild(contents);

            Input                = new LineEdit("Input");
            Input.OnKeyDown     += InputKeyDown;
            Input.OnTextEntered += Input_OnTextEntered;
            vBox.AddChild(Input);

            AddChild(vBox);

            PanelOverride = new StyleBoxFlat {
                BackgroundColor = Color.Gray.WithAlpha(0.5f)
            };
        }
Exemple #2
0
 public void BuildList()
 {
     if (!Visible)
     {
         return;
     }
     OutputPanel.BuildList();
 }
Exemple #3
0
            public void Refresh(OutputPanel _lcds, IMyShipController _sc = null)
            {
                sc   = _sc ?? Pgm.GetShipController(MultiMix_UsedBlocks);
                lcds = _lcds;

                lcds.SetFont("Monospace", 1.25f);
                lcds.SetAlign(2);
            }
Exemple #4
0
        public DebugConsole(IClientConsole console, IResourceManager resMan)
        {
            _console         = console;
            _resourceManager = resMan;

            Visible = false;

            var styleBox = new StyleBoxFlat
            {
                BackgroundColor = Color.FromHex("#25252add"),
            };

            styleBox.SetContentMarginOverride(StyleBox.Margin.All, 3);

            AddChild(new LayoutContainer
            {
                Children =
                {
                    (MainControl                  = new VBoxContainer
                    {
                        SeparationOverride        =                    0,
                        Children                  =
                        {
                            (Output               = new OutputPanel
                            {
                                SizeFlagsVertical = SizeFlags.FillExpand,
                                StyleBoxOverride  = styleBox
                            }),
                            (CommandBar           = new HistoryLineEdit {
                                PlaceHolder       = "Command Here"
                            })
                        }
                    })
                }
            });

            LayoutContainer.SetAnchorPreset(MainControl, LayoutContainer.LayoutPreset.TopWide);
            LayoutContainer.SetAnchorBottom(MainControl, 0.35f);

            CommandBar.OnKeyBindDown    += CommandBarOnOnKeyBindDown;
            CommandBar.OnTextEntered    += CommandEntered;
            CommandBar.OnHistoryChanged += OnHistoryChanged;

            _console.AddString    += (_, args) => AddLine(args.Text, args.Color);
            _console.AddFormatted += (_, args) => AddFormattedLine(args.Message);
            _console.ClearText    += (_, args) => Clear();

            _loadHistoryFromDisk();

            CommandBar.OnKeyBindDown += args =>
            {
                if (args.Function == EngineKeyFunctions.ShowDebugConsole)
                {
                    Toggle();
                    args.Handle();
                }
            };
        }
            public ScriptConsoleServer(ScriptClient client, int session)
            {
                _client  = client;
                _session = session;
                Title    = Loc.GetString("Robust C# Interactive (SERVER)");

                OutputPanel.AddText(Loc.GetString(@"Robust C# interactive console (SERVER)."));
                OutputPanel.AddText(">");
            }
Exemple #6
0
 public void DrawMenu(OutputPanel lcds, int maxLines = 15)
 {
     UpdateMenu(maxLines);
     if (0 < WarningText.Length)
     {
         sb.Append(WarningText);
     }
     lcds.WritePublicText(sb);
 }
        private static void RecursiveSendExceptionMessageToOutput(OutputPanel output, int level, Exception exception)
        {
            output.CDSWriteLine($"{level} msg: {exception.Message}");

            if (exception.InnerException != null)
            {
                RecursiveSendExceptionMessageToOutput(output, level + 1, exception.InnerException);
            }
        }
Exemple #8
0
    //
    // Unity Methods
    //

    private void Awake()
    {
        // Find Components
        map = ComponentManager.Instance.Get <MapController>();
        gridLayerController = map.GetLayerController <GridLayerController>();
        inputHandler        = ComponentManager.Instance.Get <InputHandler>();
        outputPanel         = ComponentManager.Instance.Get <OutputPanel>();
        dataLayers          = ComponentManager.Instance.Get <DataLayers>();
        mapViewArea         = ComponentManager.Instance.Get <MapViewArea>();
    }
    //
    // Inheritance Methods
    //

    protected override void OnComponentRegistrationFinished()
    {
        base.OnComponentRegistrationFinished();

        // Get Components
        dataLayers   = ComponentManager.Instance.Get <DataLayers>();
        outputPanel  = ComponentManager.Instance.Get <OutputPanel>();
        siteBrowser  = ComponentManager.Instance.Get <SiteBrowser>();
        inputHandler = ComponentManager.Instance.Get <InputHandler>();
    }
Exemple #10
0
        public static void PreUILoad()
        {
            //init panels
            viewportPanel   = new ViewportPanel(false);
            propertiesPanel = new PropertiesPanel(false);
            outputPanel     = new OutputPanel();

            viewportPanel.Init();
            propertiesPanel.Init();
            outputPanel.Init();
        }
Exemple #11
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (disposing)
            {
                TextSubmitted = null;
                Input         = null;
                contents      = null;
            }
        }
        public static void DisplayCompilationOutput(OutputPanel output, CompiledScript compiledScript)
        {
            output.CDSWriteLine(
                $"{compiledScript.CompilationOutput.ErrorCount} error(s), " +
                $"{compiledScript.CompilationOutput.WarningCount} warning(s)");

            foreach (var message in compiledScript.CompilationOutput.Messages)
            {
                output.CDSWriteLine(message);
            }
        }
Exemple #13
0
        public ScriptConsoleClient()
        {
            Title = Loc.GetString("Robust C# Interactive (CLIENT)");
            ScriptInstanceShared.InitDummy();

            _globals = new ScriptGlobalsImpl(this);

            IoCManager.InjectDependencies(this);

            OutputPanel.AddText(Loc.GetString(@"Robust C# interactive console (CLIENT)."));
            OutputPanel.AddText(">");
        }
            public void Refresh(OutputPanel _lcd, AlignModule _align, IMyShipController _sc = null)
            {
                lcd   = _lcd;
                align = _align;
                sc    = _sc ?? Pgm.GetShipController(MultiMix_UsedBlocks);

                RefreshThrustsList(_align?.RocketMode ?? false);

                hydrogenTanks.Clear();

                if (null != downCamera)
                {
                    downCamera.EnableRaycast = false;
                }

                downCamera = null;
                parachute  = null;

                IMyGasTank      hb = null;
                IMyBatteryBlock bb = null;
                IMyCameraBlock  cb = null;
                IMyParachute    pb = null;

                GatherBlocks(Pgm
                             , a => SameGrid(Me, a) && !NameContains(a, MultiMix_IgnoreBlocks)
                             , b => { if (ToType(b, ref hb) && hb.IsWorking && SubtypeContains(hb, "Hydrogen"))
                                      {
                                          hydrogenTanks.Add(hb); return(false);
                                      }
                                      return(true); }
                             , c => { if (ToType(c, ref bb) && bb.IsWorking)
                                      {
                                          batteries.Add(bb); return(false);
                                      }
                                      return(true); }
                             , d => { if (ToType(d, ref cb) && cb.IsWorking && NameContains(cb, "Down"))
                                      {
                                          downCamera = cb; cb.EnableRaycast = true; return(false);
                                      }
                                      return(true); }
                             , e => { if (ToType(e, ref pb) && pb.IsWorking)
                                      {
                                          parachute = pb; return(false);
                                      }
                                      return(true); }
                             );

                if (null == stateMachine)
                {
                    SetRunState(false);
                }
            }
Exemple #15
0
        protected override Control CreateUIElement()
        {
            _textBox = new OutputPanel();

            /*
             * _border = new Border() {
             *  BorderBrush = Brushes.Black,
             *  BorderThickness = new Thickness(1),
             *  Child = _textBox
             * };
             */

            return(_textBox);
        }
Exemple #16
0
        private void showCurrentPosition()
        {
            int width  = OutputPanel.Width;
            int height = OutputPanel.Height;

            int smallest = Math.Min(width, height) - 1;

            using (Bitmap bufl = new Bitmap(width, height))
                using (Graphics g = Graphics.FromImage(bufl))
                    using (System.Drawing.Pen blackPen = new System.Drawing.Pen(System.Drawing.Color.Black))
                        using (System.Drawing.Pen redPen = new System.Drawing.Pen(System.Drawing.Color.Red))
                        {
                            g.FillRectangle(Brushes.White, new Rectangle(0, 0, width, height));


                            System.Drawing.Rectangle drawingRegion = new System.Drawing.Rectangle((width - smallest) / 2, (height - smallest) / 2, smallest, smallest);

                            g.DrawEllipse(System.Drawing.Pens.Black, drawingRegion);

                            g.DrawLine(blackPen, (width - smallest) / 2, height / 2, width - (width - smallest) / 2, height / 2);
                            g.DrawLine(blackPen, width / 2, (height - smallest) / 2, width / 2, height - (height - smallest) / 2);


                            int Xpos = width / 2 + (int)((float)currentBalanceBoardX / 20.0 * smallest);
                            int Ypos = height / 2 + (int)((float)currentBalanceBoardY / 20.0 * smallest);

                            if (parent.xInverted)
                            {
                                Xpos = width - Xpos;
                            }
                            if (parent.yInverted)
                            {
                                Ypos = height - Ypos;
                            }

                            System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(Xpos - cursorSize, Ypos - cursorSize, 2 * cursorSize, 2 * cursorSize);

                            g.FillRectangle(Brushes.Red, rectangle);
                            g.DrawLine(redPen, Xpos - 5 * cursorSize, Ypos, Xpos + 5 * cursorSize, Ypos);
                            g.DrawLine(redPen, Xpos, Ypos - 5 * cursorSize, Xpos, Ypos + 5 * cursorSize);

                            OutputPanel.CreateGraphics().DrawImage(bufl, 0, 0);
                        }



            // throw new NotImplementedException();
        }
Exemple #17
0
        private void PerformLayout()
        {
            Visible     = false;
            MouseFilter = MouseFilterMode.Ignore;

            var styleBox = new StyleBoxFlat
            {
                BackgroundColor = Color.FromHex("#25252add"),
            };

            styleBox.SetContentMarginOverride(StyleBox.Margin.All, 3);

            AddChild(new LayoutContainer
            {
                MouseFilter = MouseFilterMode.Ignore,
                Children    =
                {
                    (MainControl                  = new VBoxContainer
                    {
                        SeparationOverride        =                    0,
                        Children                  =
                        {
                            (Output               = new OutputPanel
                            {
                                SizeFlagsVertical = SizeFlags.FillExpand,
                                StyleBoxOverride  = styleBox
                            }),
                            (CommandBar           = new HistoryLineEdit {
                                PlaceHolder       = "Command Here"
                            })
                        }
                    })
                }
            });

            LayoutContainer.SetAnchorPreset(MainControl, LayoutContainer.LayoutPreset.TopWide);
            LayoutContainer.SetAnchorBottom(MainControl, 0.35f);

            CommandBar.OnKeyBindDown    += CommandBarOnOnKeyBindDown;
            CommandBar.OnTextEntered    += CommandEntered;
            CommandBar.OnHistoryChanged += OnHistoryChanged;

            _console.AddString    += (_, args) => AddLine(args.Text, args.Color);
            _console.AddFormatted += (_, args) => AddFormattedLine(args.Message);
            _console.ClearText    += (_, args) => Clear();

            _loadHistoryFromDisk();
        }
        protected ScriptConsole()
        {
            Contents.AddChild(new BoxContainer
            {
                Orientation = LayoutOrientation.Vertical,
                Children    =
                {
                    new PanelContainer
                    {
                        PanelOverride = new StyleBoxFlat
                        {
                            BackgroundColor           = Color.FromHex("#1E1E1E"),
                            ContentMarginLeftOverride = 4
                        },
                        Children =
                        {
                            (OutputPanel = new OutputPanel())
                        },
                        VerticalExpand = true,
                    },
                    new BoxContainer
                    {
                        Orientation = LayoutOrientation.Horizontal,
                        Children    =
                        {
                            (InputBar            = new HistoryLineEdit
                            {
                                HorizontalExpand = true,
                                PlaceHolder      = "Your C# code here."
                            }),
                            (RunButton           = new Button {
                                Text             = "Run"
                            })
                        }
                    },
                }
            });

            Suggestions             = new Completions(InputBar);
            InputBar.OnTabComplete += _ => Complete();
            InputBar.OnTextChanged += _ => Suggestions.TextChanged();
            InputBar.OnTextEntered += _ => Run();
            RunButton.OnPressed    += _ => Run();
            MinSize = (550, 300);
        }
Exemple #19
0
        protected ScriptConsole()
        {
            Contents.AddChild(new VBoxContainer
            {
                Children =
                {
                    new PanelContainer
                    {
                        PanelOverride = new StyleBoxFlat
                        {
                            BackgroundColor           = Color.FromHex("#1E1E1E"),
                            ContentMarginLeftOverride = 4
                        },
                        Children =
                        {
                            (OutputPanel          = new OutputPanel
                            {
                                SizeFlagsVertical = SizeFlags.FillExpand,
                            })
                        },
                        SizeFlagsVertical = SizeFlags.FillExpand
                    },
                    new HBoxContainer
                    {
                        Children =
                        {
                            (InputBar               = new HistoryLineEdit
                            {
                                SizeFlagsHorizontal = SizeFlags.FillExpand,
                                PlaceHolder         = Loc.GetString("Your C# code here.")
                            }),
                            (RunButton              = new Button {
                                Text                = Loc.GetString("Run")
                            })
                        }
                    },
                }
            });

            InputBar.OnTextEntered += _ => Run();
            RunButton.OnPressed    += _ => Run();
            CustomMinimumSize       = (550, 300);
        }
            public void ReceiveResponse(MsgScriptResponse response)
            {
                RunButton.Disabled = false;

                // Remove > or . at the end of the output panel.
                OutputPanel.RemoveEntry(^ 1);
                _linesEntered += 1;

                if (!response.WasComplete)
                {
                    if (_linesEntered == 1)
                    {
                        OutputPanel.AddText($"> {_lastEnteredText}");
                    }
                    else
                    {
                        OutputPanel.AddText($". {_lastEnteredText}");
                    }

                    OutputPanel.AddText(".");
                    return;
                }

                // Remove echo of partial submission from the output panel.
                for (var i = 1; i < _linesEntered; i++)
                {
                    OutputPanel.RemoveEntry(^ 1);
                }

                _linesEntered = 0;

                // Echo entered script.
                var echoMessage = new FormattedMessage();

                echoMessage.PushColor(Color.FromHex("#D4D4D4"));
                echoMessage.AddText("> ");
                echoMessage.AddMessage(response.Echo);
                OutputPanel.AddMessage(echoMessage);

                OutputPanel.AddMessage(response.Response);

                OutputPanel.AddText(">");
            }
        protected override void Initialize()
        {
            IoCManager.InjectDependencies(this);

            Visible = false;

            AnchorRight  = 1f;
            AnchorBottom = 0.35f;

            var boxContainer = new VBoxContainer {
                SeparationOverride = 0
            };

            boxContainer.SetAnchorPreset(LayoutPreset.Wide);
            AddChild(boxContainer);
            var styleBox = new StyleBoxFlat
            {
                BackgroundColor = Color.Gray.WithAlpha(0.5f),
            };

            styleBox.SetContentMarginOverride(StyleBox.Margin.All, 3);
            Output = new OutputPanel
            {
                SizeFlagsVertical = SizeFlags.FillExpand,
                StyleBoxOverride  = styleBox
            };
            boxContainer.AddChild(Output);

            CommandBar = new LineEdit {
                PlaceHolder = "Command Here"
            };
            boxContainer.AddChild(CommandBar);
            CommandBar.OnKeyDown     += CommandBarOnOnKeyDown;
            CommandBar.OnTextEntered += CommandEntered;
            CommandBar.OnTextChanged += CommandBarOnOnTextChanged;

            console.AddString    += (_, args) => AddLine(args.Text, args.Channel, args.Color);
            console.AddFormatted += (_, args) => AddFormattedLine(args.Message);
            console.ClearText    += (_, args) => Clear();

            _loadHistoryFromDisk();
        }
Exemple #22
0
        protected override void Initialize()
        {
            base.Initialize();

            Input                = GetChild <LineEdit>("VBoxContainer/Input");
            Input.OnKeyDown     += InputKeyDown;
            Input.OnTextEntered += Input_OnTextEntered;
            GetChild <Control>("VBoxContainer/Contents").Dispose();

            contents = new OutputPanel
            {
                SizeFlagsVertical = SizeFlags.FillExpand,
            };
            GetChild("VBoxContainer").AddChild(contents);
            contents.SetPositionInParent(0);

            PanelOverride = new StyleBoxFlat {
                BackgroundColor = Color.Gray.WithAlpha(0.5f)
            };
        }
Exemple #23
0
    //
    // Event Methods
    //

    protected override void OnComponentRegistrationFinished()
    {
        base.OnComponentRegistrationFinished();

        // Get Components
        dataLayers          = ComponentManager.Instance.Get <DataLayers>();
        gridLayerController = map.GetLayerController <GridLayerController>();
        inputHandler        = ComponentManager.Instance.Get <InputHandler>();
        outputPanel         = ComponentManager.Instance.Get <OutputPanel>();
        mapViewArea         = ComponentManager.Instance.Get <MapViewArea>();
        canvas    = GameObject.FindWithTag("Canvas").GetComponent <Canvas>();
        infoPanel = FindObjectOfType <InfoPanel>();


        lineInspectorPanel.Init(toolLayers, canvas, maxInspectionCount);
        lineInspector = lineInspectorPanel.lineInspector;
        lineInfos     = lineInspectorPanel.lineInfos;

        areaInspector.Init(toolLayers);
        InitAreaInspectorInfo();
    }
Exemple #24
0
        private void PerformLayout()
        {
            Visible = false;

            AnchorRight  = 1f;
            AnchorBottom = 0.35f;

            var boxContainer = new VBoxContainer {
                SeparationOverride = 0
            };

            boxContainer.SetAnchorPreset(LayoutPreset.Wide);
            AddChild(boxContainer);
            var styleBox = new StyleBoxFlat
            {
                BackgroundColor = Color.FromHex("#25252add"),
            };

            styleBox.SetContentMarginOverride(StyleBox.Margin.All, 3);
            Output = new OutputPanel
            {
                SizeFlagsVertical = SizeFlags.FillExpand,
                StyleBoxOverride  = styleBox
            };
            boxContainer.AddChild(Output);

            CommandBar = new LineEdit {
                PlaceHolder = "Command Here"
            };
            boxContainer.AddChild(CommandBar);
            CommandBar.OnKeyBindDown += CommandBarOnOnKeyBindDown;
            CommandBar.OnTextEntered += CommandEntered;
            CommandBar.OnTextChanged += CommandBarOnOnTextChanged;

            _console.AddString    += (_, args) => AddLine(args.Text, args.Color);
            _console.AddFormatted += (_, args) => AddFormattedLine(args.Message);
            _console.ClearText    += (_, args) => Clear();

            _loadHistoryFromDisk();
        }
Exemple #25
0
        public ScriptConsole()
        {
            _globals = new ScriptGlobals(this);

            IoCManager.InjectDependencies(this);

            Title = Loc.GetString("Robust C# Interactive");

            Contents.AddChild(new VBoxContainer
            {
                Children =
                {
                    new PanelContainer
                    {
                        PanelOverride = new StyleBoxFlat
                        {
                            BackgroundColor           = Color.FromHex("#1E1E1E"),
                            ContentMarginLeftOverride = 4
                        },
                        Children =
                        {
                            (_outputPanel         = new OutputPanel
                            {
                                SizeFlagsVertical = SizeFlags.FillExpand,
                            })
                        },
                        SizeFlagsVertical = SizeFlags.FillExpand
                    },
                    (_inputBar = new HistoryLineEdit{
                        PlaceHolder = Loc.GetString("Your C# code here.")
                    })
                }
            });

            _inputBar.OnTextEntered += InputBarOnOnTextEntered;
            CustomMinimumSize        = (550, 300);

            _outputPanel.AddText(Loc.GetString(@"Robust C# interactive console."));
            _outputPanel.AddText(">");
        }
Exemple #26
0
        public void Init(EditPanel editPanel, FileInputPanel fileInputPanel, AboutPanel aboutPanel, SettingsPanel settingsPanel, OutputPanel outputPanel, TopPanel topPanel)
        {
            this.topPanel = topPanel;

            this.editPanel      = editPanel;
            this.fileInputPanel = fileInputPanel;
            this.aboutPanel     = aboutPanel;
            this.settingsPanel  = settingsPanel;
            this.outputPanel    = outputPanel;


            userControls.Add(editPanel);
            userControls.Add(fileInputPanel);
            userControls.Add(aboutPanel);
            userControls.Add(settingsPanel);

            userControls.Add(outputPanel);

            //temp measure
            //DeactivateAllUserControls();
            buttonAbout_Click(buttonAbout, null);
        }
Exemple #27
0
        private void showComplete(int lastPoint)
        {
            OutputPanel.CreateGraphics().DrawImageUnscaled(getOutpanelBitmap(lastPoint, ""), 0, 0);

            return;
        }
Exemple #28
0
        public ChatBox()
        {
            /*MarginLeft = -475.0f;
             * MarginTop = 10.0f;
             * MarginRight = -10.0f;
             * MarginBottom = 235.0f;
             *
             * AnchorLeft = 1.0f;
             * AnchorRight = 1.0f;*/
            MouseFilter = MouseFilterMode.Stop;

            var outerVBox = new VBoxContainer();

            var panelContainer = new PanelContainer
            {
                PanelOverride = new StyleBoxFlat {
                    BackgroundColor = Color.FromHex("#25252aaa")
                },
                SizeFlagsVertical = SizeFlags.FillExpand
            };
            var vBox = new VBoxContainer();

            panelContainer.AddChild(vBox);
            var hBox = new HBoxContainer();

            outerVBox.AddChild(panelContainer);
            outerVBox.AddChild(hBox);


            var contentMargin = new MarginContainer
            {
                MarginLeftOverride = 4, MarginRightOverride = 4,
                SizeFlagsVertical  = SizeFlags.FillExpand
            };

            Contents = new OutputPanel();
            contentMargin.AddChild(Contents);
            vBox.AddChild(contentMargin);

            Input = new HistoryLineEdit();
            Input.OnKeyBindDown += InputKeyBindDown;
            Input.OnTextEntered += Input_OnTextEntered;
            vBox.AddChild(Input);

            AllButton = new Button
            {
                Text = Loc.GetString("All"),
                Name = "ALL",
                SizeFlagsHorizontal = SizeFlags.ShrinkEnd | SizeFlags.Expand,
                ToggleMode          = true,
            };

            LocalButton = new Button
            {
                Text       = Loc.GetString("Local"),
                Name       = "Local",
                ToggleMode = true,
            };

            OOCButton = new Button
            {
                Text       = Loc.GetString("OOC"),
                Name       = "OOC",
                ToggleMode = true,
            };

            AdminButton = new Button
            {
                Text       = Loc.GetString("Admin"),
                Name       = "Admin",
                ToggleMode = true,
                Visible    = false
            };

            AllButton.OnToggled   += OnFilterToggled;
            LocalButton.OnToggled += OnFilterToggled;
            OOCButton.OnToggled   += OnFilterToggled;
            AdminButton.OnToggled += OnFilterToggled;

            hBox.AddChild(AllButton);
            hBox.AddChild(LocalButton);
            hBox.AddChild(OOCButton);
            hBox.AddChild(AdminButton);

            AddChild(outerVBox);
        }
Exemple #29
0
        public ChatBox()
        {
            MouseFilter = MouseFilterMode.Stop;

            var outerVBox = new VBoxContainer();

            var panelContainer = new PanelContainer
            {
                PanelOverride = new StyleBoxFlat {
                    BackgroundColor = Color.FromHex("#25252aaa")
                },
                VerticalExpand = true
            };
            var vBox = new VBoxContainer();

            panelContainer.AddChild(vBox);
            var hBox = new HBoxContainer();

            outerVBox.AddChild(panelContainer);
            outerVBox.AddChild(hBox);

            Contents = new OutputPanel {
                Margin = new Thickness(4, 0), VerticalExpand = true
            };
            vBox.AddChild(Contents);

            Input = new HistoryLineEdit();
            Input.OnKeyBindDown += InputKeyBindDown;
            Input.OnTextEntered += Input_OnTextEntered;
            vBox.AddChild(Input);

            AllButton = new Button
            {
                Text                = Loc.GetString("All"),
                Name                = "ALL",
                HorizontalExpand    = true,
                HorizontalAlignment = HAlignment.Right,
                ToggleMode          = true,
            };

            LocalButton = new Button
            {
                Text       = Loc.GetString("Local"),
                Name       = "Local",
                ToggleMode = true,
            };

            OOCButton = new Button
            {
                Text       = Loc.GetString("OOC"),
                Name       = "OOC",
                ToggleMode = true,
            };

            AdminButton = new Button
            {
                Text       = Loc.GetString("Admin"),
                Name       = "Admin",
                ToggleMode = true,
                Visible    = false
            };

            DeadButton = new Button
            {
                Text       = Loc.GetString("Dead"),
                Name       = "Dead",
                ToggleMode = true,
                Visible    = false
            };

            AllButton.OnToggled   += OnFilterToggled;
            LocalButton.OnToggled += OnFilterToggled;
            OOCButton.OnToggled   += OnFilterToggled;
            AdminButton.OnToggled += OnFilterToggled;
            DeadButton.OnToggled  += OnFilterToggled;

            hBox.AddChild(AllButton);
            hBox.AddChild(LocalButton);
            hBox.AddChild(DeadButton);
            hBox.AddChild(OOCButton);
            hBox.AddChild(AdminButton);

            AddChild(outerVBox);
        }
Exemple #30
0
        void Init()
        {
            if (!NameContains(Me, MultiMix_UsedBlocks))
            {
                throw new Exception($"Programmable block does not have '{MultiMix_UsedBlocks}' in its custom-name.\nDid you read the instructions?");
            }

            lcdLeft.Clear();
            lcdCntr.Clear();
            lcdRght.Clear();
            var lcdBearing = new OutputPanel();

            ActionOnBlocksOfType <IMyTextPanel>(this, Me, p => {
                if (p.IsWorking && !NameContains(p, MultiMix_IgnoreBlocks))
                {
                    if (NameContains(p, "Center"))
                    {
                        lcdCntr.Add(p);
                    }
                    else if (NameContains(p, "Left"))
                    {
                        lcdLeft.Add(p);
                    }
                    else if (NameContains(p, "Right"))
                    {
                        lcdRght.Add(p);
                    }
                    else if (NameContains(p, "Bearing"))
                    {
                        lcdBearing.Add(p);
                    }
                }
            });
            lcdLeft.ShowPublicText("Initializing: Left panel(s)");
            lcdCntr.ShowPublicText("Initializing: Center panel(s)");
            lcdRght.ShowPublicText("Initializing: Right panel(s)");

            var sc = GetShipController(MultiMix_UsedBlocks, true);

            var alignActive = alignMgr?.Active ?? false;
            var cargoActive = cargoMgr?.Active ?? true;

            alignMgr  = alignMgr ?? new AlignModule(this);
            ascDecMgr = ascDecMgr ?? new AscendDecendModule(this);
            cargoMgr  = cargoMgr ?? new CargoModule(this);
            yieldMgr  = yieldMgr ?? new YieldModule(this);

            alignMgr.Refresh(ascDecMgr, sc);
            ascDecMgr.Refresh(lcdRght, alignMgr, sc);
            cargoMgr.Refresh(lcdLeft);

            alignMgr.Active = alignActive;
            cargoMgr.Active = cargoActive;

            engineMgr = engineMgr ?? new EngineModule(this);
            engineMgr.Refresh(Me, sc);

            toolsMgr = toolsMgr ?? new ToolsModule(this);
            toolsMgr.Refresh();

            bearingMgr = bearingMgr ?? new Whip_Bearing(this);
            bearingMgr.Refresh(lcdBearing, sc);
            bearingMgr.Active = (lcdBearing.Count > 0);

            menuMgr = menuMgr ?? new MenuManager(this);
            BuildMenu();
        }