示例#1
0
        private void ShowLaunchParameters(GameFilePlayAdapter playAdapter, IGameFile gameFile, ISourcePortData sourcePort)
        {
            TextBoxForm form = new TextBoxForm
            {
                Text          = "Launch Parameters",
                StartPosition = FormStartPosition.CenterParent
            };

            string launchParameters = playAdapter.GetLaunchParameters(AppConfiguration.GameFileDirectory,
                                                                      AppConfiguration.TempDirectory, gameFile, sourcePort, IsGameFileIwad(gameFile));

            if (launchParameters != null)
            {
                launchParameters = launchParameters.Replace(@" -", string.Concat(Environment.NewLine, " -"));
                launchParameters = launchParameters.Replace("\" \"", string.Concat("\"", Environment.NewLine, " \""));
                if (launchParameters.StartsWith(Environment.NewLine))
                {
                    launchParameters = launchParameters.Substring(Environment.NewLine.Length);
                }
                string individualFiles = string.Empty;

                if (m_currentPlayForm.SpecificFiles != null && m_currentPlayForm.SpecificFiles.Length > 0)
                {
                    individualFiles = Environment.NewLine + string.Format("Selected Files: {0}", string.Join(", ", m_currentPlayForm.SpecificFiles));
                }

                string sourcePortParams = string.Empty;
                if (!string.IsNullOrEmpty(sourcePort.ExtraParameters))
                {
                    sourcePortParams = string.Concat(Environment.NewLine, Environment.NewLine, "Paramters from source port: ", sourcePort.ExtraParameters);
                }

                form.DisplayText = string.Concat(launchParameters, Environment.NewLine, Environment.NewLine,
                                                 string.Format("Supported Extensions: {0}", sourcePort.SupportedExtensions),
                                                 individualFiles,
                                                 sourcePortParams,
                                                 Environment.NewLine, Environment.NewLine,
                                                 "*** If files appear to be missing check the 'Select Individual Files' option and supported extensions options in the Source Port form of the selected source port.");
            }
            else
            {
                form.DisplayText = "Failed to generate launch parameters";
            }

            form.SelectDisplayText(0, 0);
            form.ShowDialog(this);
        }