static bool Prefix(LoadGame __instance)
            {
                string path = $"{BetterSaves.GetSaveDirectory()}/{__instance.SelectedSaveFile.FileName}.tung";

                if (!File.Exists(path))
                {
                    return(false);
                }
                return(true);
            }
        private static string GetUniqueSaveName(string originalName)
        {
            string newName = originalName;

            while (File.Exists($"{BetterSaves.GetSaveDirectory()}/{newName}.btung"))
            {
                newName += "-";
            }
            return(newName);
        }
            static void Postfix(LoadGame __instance)
            {
                string oldPath = $"{BetterSaves.GetSaveDirectory()}/{__instance.SelectedSaveFile.FileName}.btung";
                string newPath = $"{BetterSaves.GetSaveDirectory()}/{newName}.btung";

                if (File.Exists(oldPath))
                {
                    File.Copy(oldPath, newPath);
                }
                __instance.GenerateLoadGamesMenu();
            }
            static bool Prefix(LoadGame __instance)
            {
                string path = $"{BetterSaves.GetSaveDirectory()}/{__instance.SelectedSaveFile.FileName}.tung";

                if (!File.Exists(path))
                {
                    newName = GetUniqueSaveName(__instance.SelectedSaveFile.FileName);
                    return(false);
                }
                newName = NewGame.ValidatedUniqueSaveName(__instance.SelectedSaveFile.FileName);
                return(true);
            }
            static void Postfix(LoadGame __instance)
            {
                string oldName = __instance.SelectedSaveFile.FileName;
                string newName = NewGame.ValidatedUniqueSaveName(__instance.RenameInput.text);
                string oldPath = $"{BetterSaves.GetSaveDirectory()}/{oldName}.btung";
                string newPath = $"{BetterSaves.GetSaveDirectory()}/{newName}.btung";

                if (File.Exists(oldPath))
                {
                    File.Move(oldPath, newPath);
                }
                __instance.GenerateLoadGamesMenu();
            }
            static void Postfix(LoadGame __instance)
            {
                if (__instance.SelectedSaveFile.FileName == null)
                {
                    return;
                }
                string fileName = $"{BetterSaves.GetSaveDirectory()}/{__instance.SelectedSaveFile.FileName}.btung";

                if (File.Exists(fileName))
                {
                    File.Delete(fileName);
                }
                __instance.GenerateLoadGamesMenu();
            }
            static void Postfix(LoadGame __instance)
            {
                foreach (var saveFile in __instance.UISaveFiles) // Color BetterSaved games
                {
                    string fileName = BetterSaves.GetSaveDirectory() + "/" + saveFile.FileName + ".btung";
                    if (File.Exists(fileName))
                    {
                        saveFile.Title.text = $"<color=#15A51A>{saveFile.Title.text}</color>";
                        FileInfo info   = new FileInfo(fileName);
                        long     kBsize = info.Length / 1000;
                        DateTime time   = info.LastWriteTime;
                        saveFile.Info.text = $"{kBsize} kB | {time}";
                    }
                }
                string[]      files = Directory.GetFiles(BetterSaves.GetSaveDirectory());
                List <string> toAdd = new List <string>();

                foreach (string file in files) // Find bettersaves without regular save
                {
                    string basename = Path.GetFileNameWithoutExtension(file);
                    string tungName = BetterSaves.GetSaveDirectory() + "/" + basename + ".tung";
                    if (file.EndsWith(".btung") && !File.Exists(tungName))
                    {
                        toAdd.Add(basename);
                    }
                }
                int index = __instance.UISaveFiles.Count;

                foreach (string name in toAdd)
                {
                    GameObject obj = UnityEngine.Object.Instantiate(__instance.LoadGamePrefab, __instance.Parent);
                    obj.name = name;
                    UISaveFile entry = obj.GetComponent <UISaveFile>();
                    entry.FileName   = name;
                    entry.Title.text = $"<color=\"blue\">{name}</color>";
                    entry.SetPosition(index);
                    FileInfo info   = new FileInfo(BetterSaves.GetSaveDirectory() + "/" + name + ".btung");
                    long     kBSize = info.Length / 1000;
                    DateTime time   = info.LastWriteTime;
                    entry.Info.text = $"{kBSize} kB | {time}";
                    __instance.UISaveFiles.Add(entry);
                    index++;
                }
                __instance.Parent.sizeDelta = new Vector2(784f, (float)(10 + index * 110));
            }