Files
CartoonRPG/Library/PackageCache/com.unity.visualeffectgraph@2973a8ac1070/Editor/GraphView/Views/Properties/GradientPropertyRM.cs
Caleb Sandford deQuincey 02c4b5ab66 Adding in new packages
2025-06-05 22:59:18 +01:00

51 lines
1.4 KiB
C#

using UnityEngine;
using UnityEngine.UIElements;
using UnityEditor.UIElements;
namespace UnityEditor.VFX.UI
{
class GradientPropertyRM : PropertyRM<Gradient>
{
public GradientPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth)
{
m_GradientField = new GradientField(ObjectNames.NicifyVariableName(controller.name));
m_GradientField.RegisterCallback<ChangeEvent<Gradient>>(OnValueChanged);
m_GradientField.colorSpace = ColorSpace.Linear;
m_GradientField.hdr = true;
Add(m_GradientField);
}
public override float GetPreferredControlWidth()
{
return 120;
}
public void OnValueChanged(ChangeEvent<Gradient> e)
{
Gradient newValue = m_GradientField.value;
m_Value = newValue;
NotifyValueChanged();
}
GradientField m_GradientField;
protected override void UpdateEnabled()
{
m_GradientField.SetEnabled(propertyEnabled);
}
protected override void UpdateIndeterminate()
{
m_GradientField.visible = !indeterminate;
}
public override void UpdateGUI(bool force)
{
m_GradientField.SetValueWithoutNotify(m_Value);
}
public override bool showsEverything { get { return true; } }
}
}