12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using UnityEngine;
- using UnityEditor.Experimental.GraphView;
- using UnityEngine.UIElements;
- namespace UnityEditor.ShaderGraph.Drawing
- {
- class GradientEdge : Edge
- {
- readonly CustomStyleProperty<Color> k_InputColorProperty = new CustomStyleProperty<Color>("--edge-input-color");
- readonly CustomStyleProperty<Color> k_OutputColorProperty = new CustomStyleProperty<Color>("--edge-output-color");
- Color m_InputColor;
- Color m_OutputColor;
- public Color inputColor
- {
- get { return m_InputColor; }
- }
- public Color outputColor
- {
- get { return m_OutputColor; }
- }
- public GradientEdge()
- {
- m_InputColor = defaultColor;
- m_OutputColor = defaultColor;
- RegisterCallback<CustomStyleResolvedEvent>(OnCustomStyleResolved);
- }
- public void UpdateClasses(ConcreteSlotValueType outputType, ConcreteSlotValueType inputType)
- {
- ClearClassList();
- AddToClassList("edge");
- AddToClassList("from" + outputType);
- AddToClassList("to" + inputType);
- }
- private void OnCustomStyleResolved(CustomStyleResolvedEvent e)
- {
- Color inputValue;
- Color outputValue;
- ICustomStyle styles = e.customStyle;
- if (styles.TryGetValue(k_InputColorProperty, out inputValue))
- m_InputColor = inputValue;
- if (styles.TryGetValue(k_OutputColorProperty, out outputValue))
- m_OutputColor = outputValue;
- }
- }
- }
|