コード例 #1
0
        private void PerformMigration(GameMigrationConflictSolution solution)
        {
            switch (solution)
            {
            case GameMigrationConflictSolution.NoDecisionThisTime:
            case GameMigrationConflictSolution.NoDecision:
                break;

            case GameMigrationConflictSolution.KeepGamesXml:
                File.Delete(oldGameListFilename);
                break;

            case GameMigrationConflictSolution.KeepBoth:
                WriteGamesFromBothFiles();
                File.Delete(oldGameListFilename);
                break;

            case GameMigrationConflictSolution.NoConflict:
            case GameMigrationConflictSolution.KeepProfilesXml:
            default:
                File.Delete(DataManagers.GameListFilename);
                WriteDocument();
                File.Delete(oldGameListFilename);
                break;
            }
        }
コード例 #2
0
 void ContinueAndCloseIfAgeed(GameMigrationConflictSolution solution)
 {
     if (AskForConfirmation(solution))
     {
         ConflictSolution = solution;
         DialogResult     = DialogResult.OK;
         Close();
     }
 }
コード例 #3
0
        /// <returns>True if user confirmed</returns>
        bool AskForConfirmation(GameMigrationConflictSolution solution)
        {
            StringBuilder messageBuilder = new StringBuilder();

            switch (solution)
            {
            case GameMigrationConflictSolution.KeepProfilesXml:
                messageBuilder.AppendLine("Are you sure to keep ONLY games from file profiles.xml?");
                break;

            case GameMigrationConflictSolution.KeepGamesXml:
                messageBuilder.AppendLine("Are you sure to keep ONLY games from file games.xml?");
                break;

            case GameMigrationConflictSolution.KeepBoth:
                messageBuilder.AppendLine("Are you sure to keep ALL games from both files?");
                break;

            case GameMigrationConflictSolution.NoDecisionThisTime:
                return(true);

            default:
                MessageBox.Show(
                    "Please choose at least one option",
                    "Custom SDK Launcher",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                return(false);
            }
            messageBuilder.Append("This can not be undone");

            var dialogResult = MessageBox.Show(
                messageBuilder.ToString(),
                "Custom SDK Launcher",
                MessageBoxButtons.YesNoCancel,
                MessageBoxIcon.Warning);

            return(dialogResult == DialogResult.Yes);
        }
コード例 #4
0
        private void OkButton_Click(object sender, EventArgs e)
        {
            GameMigrationConflictSolution solution = GameMigrationConflictSolution.NoDecision;

            if (ignoreFutureConflictsCheckBox.Checked)
            {
                Config.AddVariable("IgnoreGameMigrationConflicts", true);
            }

            foreach (Control c in Controls)
            {
                if (c is RadioButton radioButton)
                {
                    if (radioButton.Checked)
                    {
                        solution = (GameMigrationConflictSolution)radioButton.Tag;
                        break;
                    }
                }
            }

            ContinueAndCloseIfAgeed(solution);
        }