public void Disable() {
Logging.Warning("RollBack()");
if (!IsPatched()) return;
if (AcRootDirectory.Instance.Value == null) {
Logging.Warning("AC Root directory is missing.");
return;
}
var launcherFilename = LauncherFilename;
var backupFilename = BackupFilename;
if (!File.Exists(backupFilename)) {
Logging.Warning("Backup file is missing.");
return;
}
if (File.Exists(launcherFilename)) {
try {
File.Delete(launcherFilename);
} catch (Exception e) {
Logging.Warning("Can’t move modified file out of the way: " + e);
return;
}
}
try {
File.Move(backupFilename, launcherFilename);
} catch (Exception) {
try {
File.Copy(backupFilename, launcherFilename);
} catch (Exception e) {
Logging.Warning("Can’t move restore original file: " + e);
}
}
Logging.Write("Disabled.");
}