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++; } }
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); }