123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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;
- }
- }
- }
|