Esempio n. 1
0
 public static void DeleteSave(UserDataStateRelay toDelete)
 {
     try
     {
         Directory.Delete(toDelete.Location, true);
         if (toDelete.Location == ActiveSave?.Location)
         {
             Directory.CreateDirectory(toDelete.Location);
         }
         if (AllBackups.Contains(toDelete))
         {
             AllBackups.Remove(toDelete);
         }
         else if (ActiveSave == toDelete)
         {
             ActiveSave = null;
         }
     }
     catch (IOException ioe)
     {
         Wood.WriteLine($"ERROR DELETING SAVE {toDelete.MyName}:");
         Wood.Indent();
         Wood.WriteLine(ioe);
         Wood.Unindent();
     }
 }
Esempio n. 2
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. 3
0
        public static void StashActiveSave()
        {
            if (!BlepOut.IsMyPathCorrect)
            {
                return;
            }
            UserDataStateRelay udsr = ActiveSave ?? new UserDataStateRelay(UserDataFolder);

            AllBackups.Add(udsr.CloneTo(PathForNewBackup));
        }
Esempio n. 4
0
        public static bool RestoreActiveSaveFromBackup(UserDataStateRelay backup)
        {
            if (backup.Location == ActiveSave?.Location)
            {
                return(false);
            }
            if (ActiveSave?.CurrState != UserDataStateRelay.StateState.Empty)
            {
                return(false);
            }
            ;

            return(false);
        }
Esempio n. 5
0
        public static void LoadBackupList()
        {
            bool flag = BlepOut.IsMyPathCorrect;

            if (!Directory.Exists(BackupFolderPath))
            {
                Directory.CreateDirectory(BackupFolderPath);
            }
            if (flag)
            {
                ActiveSave = new UserDataStateRelay(UserDataFolder)
                {
                    CreationTime = DateTime.Now
                };
            }
            AllBackups.Clear();
            foreach (DirectoryInfo dir in new DirectoryInfo(BackupFolderPath).GetDirectories())
            {
                AllBackups.Add(new UserDataStateRelay(dir)
                {
                });
            }
        }