using UnityEditor;
#if !UNITY_6000_3_OR_NEWER
using SplitterState = Unity.PlasticSCM.Editor.UnityInternals.UnityEditor.SplitterState;
#endif
namespace Unity.PlasticSCM.Editor.UI
{
internal static class SplitterSettings
{
internal static float[] Load(
string settingName,
float[] defaultValue)
{
float leftValue = EditorPrefs.GetFloat(
GetSettingKey(settingName, false),
defaultValue[0]);
float rightValue = EditorPrefs.GetFloat(
GetSettingKey(settingName, true),
defaultValue[1]);
return new float [] { leftValue, rightValue };
}
internal static void Save(
SplitterState splitterState,
string settingName)
{
float[] relativeSizes = splitterState.relativeSizes;
EditorPrefs.SetFloat(
GetSettingKey(settingName, false),
relativeSizes[0]);
EditorPrefs.SetFloat(
GetSettingKey(settingName, true),
relativeSizes[1]);
}
static string GetSettingKey(string settingName, bool isRight)
{
return string.Format(
settingName,
PlayerSettings.productGUID,
isRight ? RIGHT_SPLITTER_KEY_SUFFIX : LEFT_SPLITTER_KEY_SUFFIX);
}
static string LEFT_SPLITTER_KEY_SUFFIX = "LeftSplitter";
static string RIGHT_SPLITTER_KEY_SUFFIX = "RightSplitter";
}
}