AssetDatabase.IsDirectoryMonitoringEnabled
Declaration
public static bool IsDirectoryMonitoringEnabled();Возвращаемое значение
логическое Возвращает true, если включено Мониторинг Справочника. В противном случае возвращает false.
Описание
Сообщает, включено ли наблюдение за каталогами.
Включите или выключите Мониторинг Справочника в настройках Настройки или в скрипте с помощью EditorPrefs.SetBool("DirectoryMonitoring", boolValue).
Мониторинг Справочника может быть отключен флагом командной строки [[-DisableDirectoryMonitor]] и Мониторинг Справочника автоматически отключается, когда Unity обнаруживает символические ссылки в проекте.
using UnityEngine; using UnityEditor; using UnityEngine.Profiling; using System.IO;
public class DirectoryMonitoringTest { [MenuItem("AssetDatabase/Directory Monitoring Test")] static void DirectoryMonitoringBenchmark() { var BenchmarkCount = 1;
//Disabling the Directory Monitoring will use a brute force scanning method to evaluate which files in the project have been changed, and is much slower EditorPrefs.SetBool("DirectoryMonitoring", false); Debug.Log("Is Directory Monitoring Enabled? - " + AssetDatabase.IsDirectoryMonitoringEnabled());
Benchmark(BenchmarkCount); BenchmarkCount++;
EditorPrefs.SetBool("DirectoryMonitoring", true); Debug.Log("Is Directory Monitoring Enabled? - " + AssetDatabase.IsDirectoryMonitoringEnabled()); Benchmark(BenchmarkCount); }
//This test will show faster scan time when using Directory Monitoring static void Benchmark(int BenchmarkCount) { var relativePath = "Assets/test_file01.txt"; if (!File.Exists(relativePath)) { using (StreamWriter sw = File.CreateText(relativePath)) { sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); } }
Profiler.BeginSample("Benchmark " + BenchmarkCount); ; AssetDatabase.ImportAsset(relativePath); Profiler.EndSample();
AssetDatabase.DeleteAsset(relativePath); AssetDatabase.Refresh(); } }