Rasagar/Library/PackageCache/com.unity.settings-manager/Samples~/PackageWithProjectAndUserSettings/MySettingsManager.cs
2024-08-26 23:07:20 +03:00

50 lines
1.5 KiB
C#

using UnityEditor.SettingsManagement;
namespace UnityEditor.SettingsManagement.Examples
{
/// <summary>
/// This class will act as a manager for the <see cref="Settings"/> singleton.
/// </summary>
static class MySettingsManager
{
// Replace this with your own package name. Project settings will be stored in a JSON file in a directory matching
// this name.
internal const string k_PackageName = "com.unity.settings-manager-examples";
static Settings s_Instance;
internal static Settings instance
{
get
{
if (s_Instance == null)
s_Instance = new Settings(k_PackageName);
return s_Instance;
}
}
// The rest of this file is just forwarding the various setting methods to the instance.
public static void Save()
{
instance.Save();
}
public static T Get<T>(string key, SettingsScope scope = SettingsScope.Project, T fallback = default(T))
{
return instance.Get<T>(key, scope, fallback);
}
public static void Set<T>(string key, T value, SettingsScope scope = SettingsScope.Project)
{
instance.Set<T>(key, value, scope);
}
public static bool ContainsKey<T>(string key, SettingsScope scope = SettingsScope.Project)
{
return instance.ContainsKey<T>(key, scope);
}
}
}