コード例 #1
0
        private void UpdateApply(Input input)
        {
            bool recalculateUiScale;

            if (GetButtonPress("Apply") || input.IsKeyPressed(Keys.Enter))
            {
                RemoveApplyButton();
                ComboMenuCycle menu;
                //Resolution Change
                menu = (ComboMenuCycle)GetUiControl("Resolution");
                Rectangle rect            = (Rectangle)menu.GetSelectedCycleObject();
                int       newResolutionId = DisplayController.GetResolutionId(rect.Width, rect.Height);
                recalculateUiScale             = newResolutionId != DisplayController.resolutionId;
                DisplayController.resolutionId = newResolutionId;


                //Vsync
                menu = (ComboMenuCycle)GetUiControl("TargetFrameRate");
                DisplayController.targetFrameRate = (int)menu.GetSelectedCycleObject();

                //Scale
                menu = (ComboMenuCycle)GetUiControl("Scale");
                DisplayController.uiScale = (float)menu.GetSelectedCycleObject();

                //Full Screen
                menu = (ComboMenuCycle)GetUiControl("FullScreen");
                bool isFullScreen = (bool)menu.GetSelectedCycleObject();

                if (isFullScreen != DisplayController.fullScreen)
                {
                    DisplayController.fullScreen = (bool)menu.GetSelectedCycleObject();
                    // if (isFullScreen)
                    //  {
                    recalculateUiScale = true;
                    //   }
                }

                //Night Brightness
                menu = (ComboMenuCycle)GetUiControl("NightBright");
                DisplayController.minNightBrightness = (float)menu.GetSelectedCycleObject();

                //MessageSpeed
                menu = (ComboMenuCycle)GetUiControl("MessageSpeed");
                DisplayController.messageSpeed = (float)menu.GetSelectedCycleObject();

                DisplayController.UpdateDisplay(recalculateUiScale);


                //In case we did a forced update of the ui scale size
                menu = (ComboMenuCycle)GetUiControl("Scale");
                menu.SetIndexByFloat(DisplayController.uiScale);

                //in case we forced it full screen we have changed our full screen res
                menu = (ComboMenuCycle)GetUiControl("Resolution");
                menu.SetIndex(DisplayController.resolutionId);

                Data.SaveSettings();
                ScreenController.ResolutionChange();
                WorldController.UpdateMinNightBrightness();
            }
        }