private void ShowModDebugScreen(ref MyInputContext.ActionEvent action)
        {
            // Disable developer screen on public unless they are in a creative game
            if (MyAPIGateway.Input == null || !MyAPIGateway.Input.ENABLE_DEVELOPER_KEYS)
            {
                if (MySession.Static == null || !MyAPIGateway.Session.CreativeMode)
                    return;
            }

            if (_screen != null)
            {
                RemoveScreen(_screen);
                _screen = null;
                return;
            }

            if (MyAPIGateway.Input != null && MyAPIGateway.Input.ENABLE_DEVELOPER_KEYS)
                ShowModDebugScreenInternal();
            else
                MyMessageBox.Show(
                    MyCommonTexts.MessageBoxTextF12Question,
                    MyCommonTexts.MessageBoxF12Question,
                    MyMessageBoxButtons.YesNo,
                    MyMessageBoxIcon.Question,
                    callback: (result) =>
                    {
                        if (result == MyDialogResult.Yes)
                            ShowModDebugScreenInternal();
                    });
        }
 private void ShowModDebugScreenInternal()
 {
     _screen = new GuiScreenDebugMods(this);
     AddScreen(_screen);
     _screen.Closed += (screen) => _screen = null;
 }