47 lines
936 B
C#
47 lines
936 B
C#
|
|
using UnityEditor;
|
|
|
|
namespace Obi
|
|
{
|
|
public class BooleanPreference
|
|
{
|
|
bool m_Value;
|
|
string m_Name;
|
|
bool m_Loaded;
|
|
|
|
public BooleanPreference(string name, bool value)
|
|
{
|
|
m_Name = name;
|
|
m_Loaded = false;
|
|
m_Value = value;
|
|
}
|
|
|
|
private void Load()
|
|
{
|
|
if (m_Loaded)
|
|
return;
|
|
|
|
m_Loaded = true;
|
|
m_Value = EditorPrefs.GetBool(m_Name, m_Value);
|
|
}
|
|
|
|
public bool value
|
|
{
|
|
get { Load(); return m_Value; }
|
|
set
|
|
{
|
|
Load();
|
|
if (m_Value == value)
|
|
return;
|
|
m_Value = value;
|
|
EditorPrefs.SetBool(m_Name, value);
|
|
}
|
|
}
|
|
|
|
public static implicit operator bool(BooleanPreference s)
|
|
{
|
|
return s.value;
|
|
}
|
|
}
|
|
}
|