private void DrawControls(float transitionAlpha, float backgroundTransitionAlpha) { // Then draw all screen controls, except opened combobox and drag and drop - must be drawn as last // foreach (MyGuiControlBase control in Controls.GetVisibleControls()) //dont use this - allocations List <MyGuiControlBase> visibleControls = Controls.GetVisibleControls(); for (int i = 0; i < visibleControls.Count; i++) { MyGuiControlBase control = visibleControls[i]; if (control != m_comboboxHandlingNow && control != m_gridDragAndDropHandlingNow && !(control is MyGuiControlGridDragAndDrop)) { //if (MySandboxGame.IsPaused && !control.DrawWhilePaused) continue; control.Draw(transitionAlpha * control.Alpha, backgroundTransitionAlpha * control.Alpha); } } // Finaly draw opened combobox and dragAndDrop, so it will overdraw all other controls if (m_comboboxHandlingNow != null) { m_comboboxHandlingNow.Draw(transitionAlpha * m_comboboxHandlingNow.Alpha, backgroundTransitionAlpha * m_comboboxHandlingNow.Alpha); } if (m_gridDragAndDropHandlingNow != null) { m_gridDragAndDropHandlingNow.Draw(transitionAlpha * m_gridDragAndDropHandlingNow.Alpha, backgroundTransitionAlpha * m_gridDragAndDropHandlingNow.Alpha); } }
private void DrawControls(float transitionAlpha) { // Then draw all screen controls, except opened combobox and drag and drop - must be drawn as last // foreach (MyGuiControlBase control in Controls.GetVisibleControls()) //dont use this - allocations List <MyGuiControlBase> visibleControls = Controls.GetVisibleControls(); for (int i = 0; i < visibleControls.Count; i++) { MyGuiControlBase control = visibleControls[i]; if (control != m_comboboxHandlingNow && control != m_listboxDragAndDropHandlingNow) { //if (MySandboxGame.IsPaused && !control.DrawWhilePaused) continue; control.Draw(transitionAlpha); } } // Finaly draw opened combobox and dragAndDrop, so it will overdraw all other controls if (m_comboboxHandlingNow != null) { m_comboboxHandlingNow.Draw(transitionAlpha); } if (m_listboxDragAndDropHandlingNow != null) { m_listboxDragAndDropHandlingNow.Draw(transitionAlpha); } // draw tooltips only when screen has focus if (this == MyScreenManager.GetScreenWithFocus()) { // Draw tooltips foreach (var control in Controls.GetVisibleControls()) { control.ShowToolTip(); } } }