CNCMaps.GUI.MainForm.GetRenderSettings C# (CSharp) Метод

GetRenderSettings() приватный Метод

private GetRenderSettings ( ) : RenderSettings
Результат RenderSettings
        private RenderSettings GetRenderSettings()
        {
            var rs = new RenderSettings();
            rs.InputFile = tbInput.Text;
            if (cbOutputPNG.Checked) {
                rs.SavePNG=true;
                rs.PNGQuality = (int)nudCompression.Value;
            }

            if (rbCustomFilename.Checked) rs.OutputFile = tbCustomOutput.Text;
            if (cbOutputJPG.Checked) {
                rs.SaveJPEG=true;
                rs.JPEGCompression= (int)nudEncodingQuality.Value;
            }

            if (cbModConfig.Checked)
                rs.ModConfig = tbModConfig.Text;
            else if (!string.IsNullOrWhiteSpace(tbMixDir.Text) && tbMixDir.Text != FindMixDir(rbEngineAuto.Checked || rbEngineRA2.Checked || rbEngineYR.Checked))
                rs.MixFilesDirectory = tbMixDir.Text;

            if (cbEmphasizeOre.Checked) rs.MarkOreFields = true;
            if (cbTiledStartPositions.Checked) rs.StartPositionMarking = StartPositionMarking.Tiled;
            if (cbSquaredStartPositions.Checked) rs.StartPositionMarking = StartPositionMarking.Squared;

            if (rbEngineRA2.Checked) rs.Engine = EngineType.RedAlert2;
            else if (rbEngineYR.Checked) rs.Engine = EngineType.YurisRevenge;
            else if (rbEngineTS.Checked) rs.Engine = EngineType.TiberianSun;
            else if (rbEngineFS.Checked) rs.Engine = EngineType.Firestorm;

            if (rbSizeLocal.Checked) rs.SizeMode = SizeMode.Local;
            else if (rbSizeFullmap.Checked) rs.SizeMode = SizeMode.Full;

            if (rbPreferSoftwareRendering.Checked) rs.PreferOSMesa = true;

            if (cbReplacePreview.Checked) {
                rs.GeneratePreviewPack = true;
                if (cbMarkersType.Text == "None")
                    rs.PreviewMarkers = PreviewMarkersType.None;
                else if (cbMarkersType.Text == "Squared")
                    rs.PreviewMarkers = PreviewMarkersType.Squared;
                else if (cbMarkersType.Text == "Aro")
                    rs.PreviewMarkers = PreviewMarkersType.Aro;
                else if (cbMarkersType.Text == "Bittah")
                    rs.PreviewMarkers = PreviewMarkersType.Bittah;
            }

            if (cbOutputThumbnail.Checked) {
                var wh = tbThumbDimensions.Text.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();
                int w, h;
                if (wh.Count == 2 && int.TryParse(wh[0], out w) && int.TryParse(wh[1], out h)) {
                    rs.ThumbnailConfig = "";
                    if (cbPreserveThumbAspect.Checked)
                        rs.ThumbnailConfig += "+";
                    rs.ThumbnailConfig += string.Format("({0},{1})", w, h);
                }
            }

            return rs;
        }