Esempio n. 1
0
 /// <summary>
 /// Restores active savefile from a given backup; aborts if active savefile is not empty.
 /// </summary>
 /// <param name="backup"><see cref="UserDataStateRelay"/> to be cloned.</param>
 /// <returns><c>true</c> if the operation was successful; <c>false</c> otherwise.</returns>
 public static bool RestoreActiveSaveFromBackup(UserDataStateRelay backup)
 {
     if (backup.Location == ActiveSave?.Location)
     {
         Wood.WriteLine("Can not copy active save into itself!"); return(false);
     }
     if (ActiveSave?.CurrState != UserDataStateRelay.UDSRState.Empty)
     {
         Wood.WriteLine("Active save not empty, will not overwrite!"); return(false);
     }
     ;
     try
     {
         Wood.WriteLine("Restoring save from backup...");
         ActiveSave = backup.CloneTo(UserDataFolder);
         Wood.WriteLine("Backup restore successful.");
         return(true);
     }
     catch (NullReferenceException ne)
     {
         Wood.WriteLine("ERROR RESTORING A SAVEFILE BACKUP:");
         Wood.WriteLine(ne, 1);
     }
     return(true);
 }
Esempio n. 2
0
        public static void StashActiveSave()
        {
            if (!BlepOut.IsMyPathCorrect)
            {
                return;
            }
            UserDataStateRelay udsr = ActiveSave ?? new UserDataStateRelay(UserDataFolder);

            AllBackups.Add(udsr.CloneTo(PathForNewBackup));
        }