예제 #1
0
        private void ResumeSave()
        {
            SavePoint save = saveBindingSource.Current as SavePoint;

            if (null != save)
            {
                //Debrief Eval
                if (save.DebriefEvaluation && !settings.DebriefActivityEval)
                {
                    if (!AcceptOfNonvalidDbfSetup())
                    {
                        return;
                    }
                }

                if (save.Valid != false && Found(save)) // I.e. true or null. Check is for safety as buttons should be disabled if SavePoint is invalid.
                {
                    if (save.Valid == null)
                    {
                        if (!AcceptUseOfNonvalidSave(save))
                        {
                            return;
                        }
                    }

                    SelectedSaveFile = save.File;
                    MainForm.UserAction selectedAction = SelectedAction;
                    switch (SelectedAction)
                    {
                    case MainForm.UserAction.SinglePlayerTimetableGame:
                        selectedAction = MainForm.UserAction.SinglePlayerResumeTimetableGame;
                        break;

                    case MainForm.UserAction.SingleplayerNewGame:
                        selectedAction = MainForm.UserAction.SingleplayerResumeSave;
                        break;

                    case MainForm.UserAction.MultiplayerClient:
                        selectedAction = MainForm.UserAction.MultiplayerClientResumeSave;
                        break;

                    case MainForm.UserAction.MultiplayerServer:
                        selectedAction = MainForm.UserAction.MultiplayerServerResumeSave;
                        break;
                    }
                    SelectedAction = selectedAction;
                    DialogResult   = DialogResult.OK;
                }
            }
        }
예제 #2
0
        public ResumeForm(UserSettings settings, Route route, MainForm.UserAction mainFormAction, Activity activity, TimetableInfo timetable,
                          MainForm parentForm)
        {
            MainForm       = parentForm;
            SelectedAction = mainFormAction;
            Multiplayer    = SelectedAction == MainForm.UserAction.MultiplayerClient || SelectedAction == MainForm.UserAction.MultiplayerServer;
            InitializeComponent();  // Needed so that setting StartPosition = CenterParent is respected.

            Localizer.Localize(this, catalog);

            // Windows 2000 and XP should use 8.25pt Tahoma, while Windows
            // Vista and later should use 9pt "Segoe UI". We'll use the
            // Message Box font to allow for user-customizations, though.
            Font = SystemFonts.MessageBoxFont;

            Settings  = settings;
            Route     = route;
            Activity  = activity;
            Timetable = timetable;

            checkBoxReplayPauseBeforeEnd.Checked = Settings.ReplayPauseBeforeEnd;
            numericReplayPauseBeforeEnd.Value    = Settings.ReplayPauseBeforeEndS;

            gridSaves_SelectionChanged(null, null);

            if (SelectedAction == MainForm.UserAction.SinglePlayerTimetableGame)
            {
                Text = String.Format("{0} - {1} - {2}", Text, route.Name, Path.GetFileNameWithoutExtension(Timetable.fileName));
                pathNameDataGridViewTextBoxColumn.Visible = true;
            }
            else
            {
                Text = String.Format("{0} - {1} - {2}", Text, route.Name, activity.FilePath != null ? activity.Name :
                                     activity.Name == "+ " + catalog.GetString("Explore in Activity Mode") + " +" ? catalog.GetString("Explore in Activity Mode") : catalog.GetString("Explore Route"));
                pathNameDataGridViewTextBoxColumn.Visible = activity.FilePath == null;
            }

            if (Multiplayer)
            {
                Text += " - Multiplayer ";
            }

            LoadSaves();
        }
예제 #3
0
        void ResumeSave()
        {
            var save = saveBindingSource.Current as Save;

            if (save.Valid != false) // I.e. true or null. Check is for safety as buttons should be disabled if Save is invalid.
            {
                if (Found(save))
                {
                    if (save.Valid == null)
                    {
                        if (!AcceptUseOfNonvalidSave(save))
                        {
                            return;
                        }
                    }

                    SelectedSaveFile = save.File;
                    SelectedAction   = SelectedAction == MainForm.UserAction.SinglePlayerTimetableGame ?
                                       MainForm.UserAction.SinglePlayerResumeTimetableGame : MainForm.UserAction.SingleplayerResumeSave;
                    DialogResult = DialogResult.OK;
                }
            }
        }
예제 #4
0
        internal ResumeForm(UserSettings settings, Route route, MainForm.UserAction mainFormAction, Activity activity, TimetableInfo timeTable,
                            IEnumerable <Route> mainRoutes, ICatalog catalog)
        {
            this.catalog   = catalog;
            globalRoutes   = mainRoutes;
            SelectedAction = mainFormAction;
            multiplayer    = SelectedAction == MainForm.UserAction.MultiplayerClient || SelectedAction == MainForm.UserAction.MultiplayerServer;
            InitializeComponent();  // Needed so that setting StartPosition = CenterParent is respected.

            Localizer.Localize(this, catalog);

            this.settings  = settings;
            this.route     = route;
            this.activity  = activity;
            this.timeTable = timeTable;

            checkBoxReplayPauseBeforeEnd.Checked = settings.ReplayPauseBeforeEnd;
            numericReplayPauseBeforeEnd.Value    = settings.ReplayPauseBeforeEndS;

            GridSaves_SelectionChanged(null, null);

            if (SelectedAction == MainForm.UserAction.SinglePlayerTimetableGame)
            {
                Text += $" - {route.Name} - {Path.GetFileNameWithoutExtension(timeTable.FileName)}";
                pathNameDataGridViewTextBoxColumn.Visible = true;
            }
            else
            {
                Text += $" - { route.Name} - {(activity.GetType() == typeof(Activity) ? activity.Name : activity is ExploreThroughActivity ? catalog.GetString("Explore in Activity Mode") : catalog.GetString("Explore Route"))}";
                pathNameDataGridViewTextBoxColumn.Visible = activity.FilePath == null;
            }

            if (multiplayer)
            {
                Text += $" - {catalog.GetString("Multiplayer")} ";
            }
        }
예제 #5
0
 private void ButtonReplayFromPreviousSave_Click(object sender, EventArgs e)
 {
     SelectedAction = MainForm.UserAction.SingleplayerReplaySaveFromSave;
     InitiateReplay(false);
 }
예제 #6
0
 private void ButtonReplayFromStart_Click(object sender, EventArgs e)
 {
     SelectedAction = MainForm.UserAction.SingleplayerReplaySave;
     InitiateReplay(true);
 }