public MyGuiControlItem(MyAbstractControlMenuItem item, Vector2? size = null)
                : base(size: size)
            {
                m_item = item;
                m_item.UpdateValue();
                m_label = new MyGuiControlLabel(text: item.ControlLabel, textScale: 0.8f);
                m_value = new MyGuiControlLabel(text: item.CurrentValue, textScale: 0.8f);

                MyLayoutVertical layout = new MyLayoutVertical(this, 28);
                layout.Add(m_label, m_value);
            }
        public override void RecreateControls(bool constructor)
        {
            base.RecreateControls(constructor);

            base.m_position = new Vector2(MyGuiManager.GetMaxMouseCoord().X - 0.25f, 0.5f);

            var layout = new MyLayoutVertical(this, 35f);

            layout.Advance(20);

            {
                layout.Add(new MyGuiControlLabel(text: MyTexts.GetString(MyCommonTexts.BotSettingsScreen_Title)), MyAlignH.Center);
            }

            layout.Advance(30);

            {
                var enableDebuggingCheckBox = new MyGuiControlCheckbox(isChecked: MyDebugDrawSettings.DEBUG_DRAW_BOTS);
                enableDebuggingCheckBox.IsCheckedChanged += enableDebuggingCheckBox_IsCheckedChanged;
                layout.Add(new MyGuiControlLabel(text: MyTexts.GetString(MyCommonTexts.BotSettingsScreen_EnableBotsDebugging)), MyAlignH.Left, advance: false);
                layout.Add(enableDebuggingCheckBox, MyAlignH.Right);
            }

            layout.Advance(15);

            {
                MyGuiControlButton nextButton = new MyGuiControlButton(
                    text: MyTexts.Get(MyCommonTexts.BotSettingsScreen_NextBot),
                    onButtonClick: nextButton_OnButtonClick);
                MyGuiControlButton previousButton = new MyGuiControlButton(
                    text: MyTexts.Get(MyCommonTexts.BotSettingsScreen_PreviousBot),
                    onButtonClick: previousButton_OnButtonClick);
                layout.Add(nextButton, previousButton);
            }

            layout.Advance(30);

            {
                layout.Add(new MyGuiControlButton(text: MyTexts.Get(MyCommonTexts.Close), onButtonClick: OnCloseClicked), MyAlignH.Center);
            }
        }
        public override void RecreateControls(bool constructor)
        {
            base.RecreateControls(constructor);

            AddCaption(MySpaceTexts.ScreenControlMenu_Title, captionScale: 1.3f);

            MyGuiControlParent parent = new MyGuiControlParent(size: new Vector2(Size.Value.X - 0.05f, m_items.Count * ITEM_SIZE));
            m_scrollPanel = new MyGuiControlScrollablePanel(parent);
            m_scrollPanel.ScrollbarVEnabled = true;
            m_scrollPanel.ScrollBarVScale = 1f;
            m_scrollPanel.Size = new Vector2(Size.Value.X - 0.05f, Size.Value.Y - 0.2f);

            MyLayoutVertical layout = new MyLayoutVertical(parent, 20);
            foreach (var item in m_items)
            {
                layout.Add(item, MyAlignH.Left, true);
            }
            m_itemsRect.Position = m_scrollPanel.GetPositionAbsoluteTopLeft();
            m_itemsRect.Size = new Vector2(Size.Value.X - 0.05f, Size.Value.Y - 0.2f);

            FocusedControl = parent;

            m_selectedItem = m_items.Count != 0 ? 0 : -1;

            Controls.Add(m_scrollPanel);
        }