add project files
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
using System.IO;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
public static class SaveDataMenu
|
||||
{
|
||||
private const string MENU = "Tools/Run Rich 3D/Delete Save";
|
||||
|
||||
[MenuItem(MENU)]
|
||||
public static void DeleteSave()
|
||||
{
|
||||
var deleted = 0;
|
||||
foreach (var path in SavePaths())
|
||||
{
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
File.Delete(path);
|
||||
Debug.Log("Deleted " + path);
|
||||
deleted++;
|
||||
}
|
||||
PlayerPrefs.DeleteAll();
|
||||
PlayerPrefs.Save();
|
||||
Debug.Log(deleted > 0
|
||||
? "Save cleared. Next play starts at level 1."
|
||||
: "No save file found; PlayerPrefs cleared anyway. Next play starts at level 1.");
|
||||
}
|
||||
|
||||
private static string[] SavePaths()
|
||||
{
|
||||
var controller = Object.FindObjectOfType<SavedDataController>();
|
||||
var field = typeof(OHM.UnityToolkit.SavedDataController<SavedData>)
|
||||
.GetField("_dataPath", System.Reflection.BindingFlags.Instance
|
||||
| System.Reflection.BindingFlags.NonPublic);
|
||||
var name = controller != null && field != null ? field.GetValue(controller) as string : null;
|
||||
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
return Directory.Exists(Application.persistentDataPath)
|
||||
? Directory.GetFiles(Application.persistentDataPath, "*.json")
|
||||
: new string[0];
|
||||
}
|
||||
return new[] { Path.Combine(Application.persistentDataPath, name) };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user