public void Start(string path) { mPath = new NPath(path); mStringPath = path; if (!mPath.DirectoryExists()) { mPath.CreateDirectory(); } mPath.DeleteContents(); }
private static void RecreateDagDirectoryIfNeeded(NPath dagDirectory) { var beeBackendInfoPath = dagDirectory.Combine("bee_backend.info"); var currentInfo = new BeeBackendInfo() { BeeBackendHash = BeeBackendHash, UnityVersion = Application.unityVersion }; var diskInfo = new BeeBackendInfo(); // Clear dag directory if it was produced with a different bee_backend, to avoid problem where bee_backend sometimes looses track of files. if (dagDirectory.Exists()) { if (beeBackendInfoPath.Exists()) { var contents = beeBackendInfoPath.ReadAllText(); EditorJsonUtility.FromJsonOverwrite(contents, diskInfo); // Note: We're clearing dag directory only when bee backend hash has changed, it's fine for Unity version to be different. // Unity version is used here for informational purposes, so we can clearly see from which Unity version the user was upgrading if (string.IsNullOrEmpty(diskInfo.BeeBackendHash) || !diskInfo.BeeBackendHash.Equals(currentInfo.BeeBackendHash)) { Console.WriteLine($"Clearing Bee directory '{dagDirectory}', since bee backend hash ('{beeBackendInfoPath}') is different, previous hash was {diskInfo.BeeBackendHash} (Unity version: {diskInfo.UnityVersion}), current hash is {currentInfo.BeeBackendHash} (Unity version: {currentInfo.UnityVersion})."); dagDirectory.Delete(); } } else { Console.WriteLine($"Clearing Bee directory '{dagDirectory}', since bee backend information ('{beeBackendInfoPath}') is missing."); dagDirectory.Delete(); } } dagDirectory.CreateDirectory(); // Update info, if at least of one the fields is different if (string.IsNullOrEmpty(diskInfo.BeeBackendHash) || string.IsNullOrEmpty(diskInfo.UnityVersion) || !diskInfo.BeeBackendHash.Equals(currentInfo.BeeBackendHash) || !diskInfo.UnityVersion.Equals(currentInfo.UnityVersion)) { beeBackendInfoPath.WriteAllText(EditorJsonUtility.ToJson(currentInfo, true)); } }
public static NPath Empty(string nameSuggestion) { int num = 0; while (true) { string[] append = new string[] { nameSuggestion + ((num != 0) ? num.ToString() : "") }; NPath directory = Il2CppTemporaryDirectoryRoot.Combine(append); try { if (ForgivingCleanDirectory(directory)) { return(directory.CreateDirectory()); } num++; } catch (Exception) { Console.WriteLine("Failed getting an empty tempdir at: " + directory + ", going to try again with a new name."); num++; } } }