Объявление
public static void NotifySettingsProviderChanged();Описание
Используйте эту функцию, чтобы уведомить SettingsService об изменении SettingsProvider.
Клиент, управляющий SettingsProvider, должен вызывать эту функцию при добавлении, удалении или изменении SettingsProvider и необходимости обновления окна настроек.
using System.Linq;
using UnityEditor;
class MyCustomSettingsProcessor : AssetPostprocessor
{
const string k_MyCustomSettingsPath = "Resources/MyCustomSettings.asset";
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
var settingsTouched = importedAssets.Any(a => a.Contains(k_MyCustomSettingsPath));
settingsTouched = settingsTouched || deletedAssets.Any(a => a.Contains(k_MyCustomSettingsPath));
settingsTouched = settingsTouched || movedAssets.Any(a => a.Contains(k_MyCustomSettingsPath));
settingsTouched = settingsTouched || movedFromAssetPaths.Any(a => a.Contains(k_MyCustomSettingsPath));
if (settingsTouched)
{
// Notify the SettingsWindow that MyCustomSettings has been removed or added. This tells the SettingsWindow to Add/Remove
// a new Settings section.
SettingsService.NotifySettingsProviderChanged();
}
}
}