public void RemoveSavestate(Savestate savestate) { if (savestates.Contains(savestate)) { savestates.Remove(savestate); } }
private void RenameSavestate(Savestate savestate) { using (NameEditForm nameEditForm = new NameEditForm($"Edit {savestate.DisplayName}", "Savestate Name:", savestate.DisplayName)) { if (nameEditForm.ShowDialog() == DialogResult.OK) { if (savestate.DisplayName.Equals(nameEditForm.Input)) { return; } if (Savestate.ExistsInProfile(nameEditForm.Input, currentlySelectedProfile) && !savestate.DisplayName.Equals(nameEditForm.Input, StringComparison.OrdinalIgnoreCase)) { MessageBox.Show($"A savestate named \"{nameEditForm.Input}\" already exists!", "Savestate Already Exists", MessageBoxButtons.OK, MessageBoxIcon.Warning); RenameSavestate(savestate); return; } savestate.ChangeName(nameEditForm.Input); trvSavestates.SelectedNode.Text = nameEditForm.Input; TreeNode nodeToSelect = trvSavestates.SelectedNode; trvSavestates.Sort(); trvSavestates.SelectedNode = nodeToSelect; } } }
public void AddSavestate(Savestate savestate) { if (!savestates.Contains(savestate)) { savestates.Add(savestate); } }
private void ImportSavestate(Profile profile) { if (!ReadyForImport()) { return; } string saveName = GetNewSavestateName(profile.FullPath); string savePath = Path.Combine(profile.FullPath, saveName); try { Directory.CreateDirectory(savePath); CopySaveFolderAndContents(settings.SavefileDirectory, savePath); } catch (Exception e) { MessageBox.Show($"An error occured while importing the savestate:\n\n{e.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Savestate save = new Savestate(saveName, savePath); profile.AddSavestate(save); TreeNode node = new TreeNode() { Text = save.DisplayName, Tag = save }; trvSavestates.Nodes.Add(node); trvSavestates.Select(); trvSavestates.SelectedNode = node; SetStatusText("Import Successful!", Color.RoyalBlue); }
private void ReplaceSavestate(Savestate savestate) { DialogResult result = MessageBox.Show($"Are you sure you want to replace \"{savestate.DisplayName}\"?", $"Replace {savestate.DisplayName}", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) { return; } try { Directory.Delete(Path.Combine(savestate.FullPath, GetSavefileFolderName()), true); CopySaveFolderAndContents(settings.SavefileDirectory, savestate.FullPath); SetStatusText("Replace Successful!", Color.Orange); } catch (Exception e) { MessageBox.Show($"An error occured while replacing the savestate:\n\n{e.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void LoadSavestate(Savestate savestate) { if (!ReadyForLoad()) { return; } try { Directory.Delete(settings.SavefileDirectory, true); Directory.CreateDirectory(settings.SavefileDirectory); CopySaveFolderAndContents(Path.Combine(savestate.FullPath, new DirectoryInfo(settings.SavefileDirectory).Name), new DirectoryInfo(settings.SavefileDirectory).Parent.FullName); } catch (Exception e) { MessageBox.Show($"An error occured while loading the savestate:\n\n{e.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } SetStatusText("Load Successful!", Color.Green); }
private void DeleteSavestate(Savestate savestate) { DialogResult result = MessageBox.Show($"Are you sure you want to delete \"{savestate.DisplayName}\"?", "Delete Savestate", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { try { Directory.Delete(savestate.FullPath, true); currentlySelectedProfile.RemoveSavestate(savestate); FillSavestates(currentlySelectedProfile); trvSavestates.Select(); } catch (Exception e) { MessageBox.Show($"An error occured while deleting the savestate:\n\n{e.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } SetStatusText("Delete Successful!", Color.Red); } }
public int Compare(object x, object y) { TreeNode node1 = x as TreeNode; TreeNode node2 = y as TreeNode; if (node1 == null && node2 == null) { return(0); } Savestate save1 = node1.Tag as Savestate; Savestate save2 = node2.Tag as Savestate; if (save1 == null || save2 == null) { return(0); } DateTime save1CreationTime = Directory.GetCreationTimeUtc(save1.FullPath); DateTime save2CreationTime = Directory.GetCreationTimeUtc(save2.FullPath); return(DateTime.Compare(save1CreationTime, save2CreationTime)); }