CleanTools.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.IO;
  2. using UnityEditor;
  3. using UnityEditor.SceneManagement;
  4. using UnityEngine;
  5. public class CleanTools
  6. {
  7. [MenuItem("清理工具/清除本地数据")]
  8. public static void CleanLocalData()
  9. {
  10. PlayerPrefs.DeleteAll();
  11. var localPath = Application.persistentDataPath;
  12. Debug.Log("正在清理-->" + localPath);
  13. PlayerPrefs.DeleteAll();
  14. if (Directory.Exists(localPath)) DelectDir(localPath);
  15. }
  16. public static void DelectDir(string srcPath)
  17. {
  18. var dir = new DirectoryInfo(srcPath);
  19. var fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录
  20. foreach (var i in fileinfo)
  21. if (i is DirectoryInfo) //判断是否文件夹
  22. {
  23. var subdir = new DirectoryInfo(i.FullName);
  24. subdir.Delete(true); //删除子目录和文件
  25. }
  26. else
  27. {
  28. File.Delete(i.FullName); //删除指定文件
  29. }
  30. dir.Delete();
  31. }
  32. [MenuItem("场景工具/进入Init")]
  33. public static void GoToInit()
  34. {
  35. EditorSceneManager.OpenScene("Packages/com.game.common/Runtime/Scenes/Init.unity", OpenSceneMode.Single);
  36. }
  37. [MenuItem("场景工具/进入Splash")]
  38. public static void GoToSplash()
  39. {
  40. EditorSceneManager.OpenScene("Assets/Scenes/Splash.unity", OpenSceneMode.Single);
  41. }
  42. }