Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

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(); } }