You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
using System; |
|
|
|
using UnityEditor; |
|
|
|
namespace Unity.PlasticSCM.Editor.UI |
|
{ |
|
internal static class EnumPopupSetting<E> |
|
{ |
|
internal static E Load( |
|
string popupSettingName, |
|
E defaultValue) |
|
{ |
|
string enumValue = EditorPrefs.GetString( |
|
GetSettingKey(popupSettingName)); |
|
|
|
if (string.IsNullOrEmpty(enumValue)) |
|
return defaultValue; |
|
|
|
return (E)Enum.Parse(typeof(E), enumValue); |
|
} |
|
|
|
internal static void Save( |
|
E selected, |
|
string popupSettingName) |
|
{ |
|
EditorPrefs.SetString( |
|
GetSettingKey(popupSettingName), |
|
selected.ToString()); |
|
} |
|
|
|
internal static void Clear( |
|
string popupSettingName) |
|
{ |
|
EditorPrefs.DeleteKey( |
|
GetSettingKey(popupSettingName)); |
|
} |
|
|
|
static string GetSettingKey(string popupSettingName) |
|
{ |
|
return string.Format( |
|
popupSettingName, PlayerSettings.productGUID, |
|
SELECTED_ENUM_VALUE_KEY); |
|
} |
|
|
|
static string SELECTED_ENUM_VALUE_KEY = "SelectedEnumValue"; |
|
} |
|
}
|
|
|