您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
69 行
2.1 KiB
69 行
2.1 KiB
namespace UnityEngine.Rendering
|
|
{
|
|
// This file can't be in the editor assembly as we need to access it in runtime-editor-specific
|
|
// places like OnGizmo etc and we don't want to add the editor assembly as a dependency of the
|
|
// runtime one
|
|
|
|
// The UI layout/styling in this panel is broken and can't match the one from built-ins
|
|
// preference panels as everything needed is internal/private (at the time of writing this
|
|
// comment)
|
|
|
|
#if UNITY_EDITOR
|
|
using UnityEditor;
|
|
|
|
public static class CoreRenderPipelinePreferences
|
|
{
|
|
static bool m_Loaded = false;
|
|
|
|
static Color s_VolumeGizmoColor = new Color(0.2f, 0.8f, 0.1f, 0.5f);
|
|
public static Color volumeGizmoColor
|
|
{
|
|
get => s_VolumeGizmoColor;
|
|
set
|
|
{
|
|
if (s_VolumeGizmoColor == value) return;
|
|
s_VolumeGizmoColor = value;
|
|
EditorPrefs.SetInt(Keys.volumeGizmoColor, (int)ColorUtils.ToHex(value));
|
|
}
|
|
}
|
|
|
|
static class Keys
|
|
{
|
|
internal const string volumeGizmoColor = "CoreRP.Volume.GizmoColor";
|
|
}
|
|
|
|
[SettingsProvider]
|
|
static SettingsProvider PreferenceGUI()
|
|
{
|
|
return new SettingsProvider("Preferences/Core Render Pipeline", SettingsScope.User)
|
|
{
|
|
guiHandler = searchContext =>
|
|
{
|
|
if (!m_Loaded)
|
|
Load();
|
|
|
|
volumeGizmoColor = EditorGUILayout.ColorField("Volume Gizmo Color", volumeGizmoColor);
|
|
}
|
|
};
|
|
}
|
|
|
|
static CoreRenderPipelinePreferences()
|
|
{
|
|
Load();
|
|
}
|
|
|
|
static void Load()
|
|
{
|
|
s_VolumeGizmoColor = GetColor(Keys.volumeGizmoColor, new Color(0.2f, 0.8f, 0.1f, 0.5f));
|
|
|
|
m_Loaded = true;
|
|
}
|
|
|
|
static Color GetColor(string key, Color defaultValue)
|
|
{
|
|
int value = EditorPrefs.GetInt(key, (int)ColorUtils.ToHex(defaultValue));
|
|
return ColorUtils.ToRGBA((uint)value);
|
|
}
|
|
}
|
|
#endif
|
|
}
|