using UnityEditor.SettingsManagement; namespace UnityEditor.Sequences { static class EditorSettings { const string k_PackageName = "com.unity.sequences"; static Settings s_Instance; [InitializeOnLoadMethod] static void SaveSettingsOnExit() { EditorApplication.quitting += Save; } [SettingsProvider] static SettingsProvider CreateSettingsProvider() { var provider = new UserSettingsProvider("Project/Sequences", instance, new[] { typeof(EditorSettings).Assembly }, SettingsScope.Project); return provider; } internal static Settings instance { get { if (s_Instance == null) { s_Instance = new Settings(k_PackageName); } return s_Instance; } } public static void Save() { instance.Save(); } public static void Set(string key, T value, SettingsScope scope = SettingsScope.Project) { instance.Set(key, value, scope); } public static T Get(string key, SettingsScope scope = SettingsScope.Project, T fallback = default(T)) { return instance.Get(key, scope, fallback); } public static bool ContainsKey(string key, SettingsScope scope = SettingsScope.Project) { return instance.ContainsKey(key, scope); } public static void Delete(string key, SettingsScope scope = SettingsScope.Project) { instance.DeleteKey(key, scope); } } }