Example #1
0
        protected MyGuiControlButton AddButton(StringBuilder text, MyGuiControlButton.OnButtonClick onClick, List <MyGuiControlBase> controlGroup = null, MyGuiControlButtonTextAlignment textAlign = MyGuiControlButtonTextAlignment.CENTERED, Vector4?textColor = null, Vector2?size = null)
        {
            MyGuiControlButton button = new MyGuiControlButton(this, new Vector2(m_buttonXOffset, m_currentPosition.Y), size ?? new Vector2(0.20f, 0.03f), Vector4.One, text, null, textColor ?? m_defaultColor, MyGuiConstants.LABEL_TEXT_SCALE * MyGuiConstants.DEBUG_BUTTON_TEXT_SCALE * m_scale, onClick, textAlign, true, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, true);

            Controls.Add(button);

            m_currentPosition.Y += 0.04f * m_scale;

            if (controlGroup != null)
            {
                controlGroup.Add(button);
            }

            return(button);
        }
        void CreateTravelControls(List <MyGuiControlBase> group, int minIndex, int maxIndex)
        {
            int i = 0;

            foreach (var solarSystemAreaPair in MySolarSystemConstants.Areas.OrderBy(x => x.Value.Name))
            {
                if ((i >= minIndex) && (i < maxIndex))
                {
                    var sectorID = solarSystemAreaPair.Key;
                    MyGuiControlButton.OnButtonClick handler = new MyGuiControlButton.OnButtonClick((bnt) => ButtonClickAction(sectorID));
                    AddButton(new StringBuilder(solarSystemAreaPair.Value.Name), handler, group);
                }
                i++;
            }
        }
        void CreateMissionControls(List <MyGuiControlBase> group, int minIndex, int maxIndex)
        {
            int i = 0;

            foreach (var mission in MyMissions.Missions.Values.OfType <MyMission>().OrderBy(x => x.DebugName.ToString()))
            {
                if ((i >= minIndex) && (i < maxIndex))
                {
                    var missionId = mission.ID; // local copy for lambda
                    MyGuiControlButton.OnButtonClick handler = new MyGuiControlButton.OnButtonClick((bnt) => ButtonClickAction(missionId));

                    AddButton(mission.DebugName, handler, group, MyGuiControlButtonTextAlignment.LEFT);
                }
                i++;
            }
        }
        private MyGuiControlButton AddToolbarButton(EditorToolBarButtonType buttonType, MyTextsWrapperEnum text, StringBuilder tooltip, MyGuiControlButton.OnButtonClick onButtonClick)
        {
            var screenZero = MyGuiManager.GetNormalizedCoordinateFromScreenCoordinate_FULLSCREEN(new Vector2(0, 0));
            int index      = 0;

            foreach (var item in m_toolbarButtons)
            {
                if (item != null)
                {
                    index++;
                }
            }

            Vector2 buttonPosition = screenZero + MyGuiConstants.TOOLBAR_PADDING;
            Vector2 buttonSize     = MyGuiConstants.TOOLBAR_BUTTON_SIZE;
            Vector2 buttonOffset   = new Vector2(buttonSize.X + MyGuiConstants.TOOLBAR_BUTTON_OFFSET, 0);

            var button = new MyGuiControlButton(
                m_parentScreen,
                buttonPosition + buttonOffset * index,
                buttonSize,
                Vector4.One,
                MyGuiManager.GetToolbarButton(),
                MyGuiManager.GetToolbarButtonHover(),
                MyGuiManager.GetToolbarButtonHover(),
                text,
                MyGuiConstants.TOOLBAR_TEXT_COLOR,
                MyGuiConstants.TOOLBAR_TEXT_SCALE,
                MyGuiControlButtonTextAlignment.CENTERED,
                onButtonClick,
                false,
                MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_TOP,
                true,
                false);

            button.SetToolTip(tooltip);
            button.SetHightlightType(MyGuiControlHighlightType.WHEN_CURSOR_OVER);

            if (GetEnabledButtons().Contains(buttonType) && button != null)
            {
                m_editorControls.Add(button);
                m_toolbarButtons[(int)buttonType] = button;
            }

            return(button);
        }
        void CreateTravelControls(List<MyGuiControlBase> group, int minIndex, int maxIndex)
        {
            int i = 0;

            foreach (var solarSystemAreaPair in MySolarSystemConstants.Areas.OrderBy(x => x.Value.Name))
            {
                if ((i >= minIndex) && (i < maxIndex))
                {
                    var sectorID = solarSystemAreaPair.Key;
                    MyGuiControlButton.OnButtonClick handler = new MyGuiControlButton.OnButtonClick((bnt) => ButtonClickAction(sectorID));
                    AddButton(new StringBuilder(solarSystemAreaPair.Value.Name), handler, group);
                }
                i++;
            }
        }
        void CreateMissionControls(List<MyGuiControlBase> group, int minIndex, int maxIndex)
        {
            int i = 0;
            foreach (var mission in MyMissions.Missions.Values.OfType<MyMission>().OrderBy(x => x.DebugName.ToString()))
            {
                if ((i >= minIndex) && (i < maxIndex))
                {
                    var missionId = mission.ID; // local copy for lambda
                    MyGuiControlButton.OnButtonClick handler = new MyGuiControlButton.OnButtonClick((bnt) => ButtonClickAction(missionId));

                    AddButton(mission.DebugName, handler, group, MyGuiControlButtonTextAlignment.LEFT);
                }
                i++;
            }
        }
Example #7
0
        private MyGuiControlButton AddButton(int index, int extraOffset, MyTextsWrapperEnum text, MyGuiControlButton.OnButtonClick onButtonClick, bool implemented = true)
        {
            Vector2 origin         = new Vector2(m_size.Value.X / 2 - MyGuiConstants.MESSAGE_BOX_BORDER_AREA_X - BUTTON_SIZE.X * 0.8f, CAPTION_OFFSET_Y - m_size.Value.Y / 2);
            Vector2 buttonPosition = origin + BUTTON_SIZE / 2 + BUTTON_OFFSET * index + EXTRA_BUTTON_OFFSET * extraOffset;

            var button = new MyGuiControlButton(this, buttonPosition, BUTTON_SIZE, MyGuiConstants.BUTTON_BACKGROUND_COLOR,
                                                text, MyGuiConstants.BUTTON_TEXT_COLOR, MyGuiConstants.BUTTON_TEXT_SCALE, onButtonClick, MyGuiControlButtonTextAlignment.CENTERED, true, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, implemented);

            Controls.Add(button);

            return(button);
        }