|
|
|
|
|
|
using System; |
|
|
|
using UnityEditor.Experimental.UIElements; |
|
|
|
using UnityEditor.Graphing; |
|
|
|
using UnityEngine.Experimental.UIElements; |
|
|
|
|
|
|
|
namespace UnityEditor.ShaderGraph.Drawing.Slots |
|
|
|
{ |
|
|
|
public class UVSlotControlView : VisualElement |
|
|
|
{ |
|
|
|
UVMaterialSlot m_Slot; |
|
|
|
|
|
|
|
public UVSlotControlView(UVMaterialSlot slot) |
|
|
|
{ |
|
|
|
m_Slot = slot; |
|
|
|
var enumField = new EnumField(slot.channel); |
|
|
|
enumField.OnValueChanged(OnValueChanged); |
|
|
|
Add(enumField); |
|
|
|
} |
|
|
|
|
|
|
|
void OnValueChanged(ChangeEvent<Enum> evt) |
|
|
|
{ |
|
|
|
var channel = (UVChannel) evt.newValue; |
|
|
|
if (channel != m_Slot.channel) |
|
|
|
{ |
|
|
|
m_Slot.owner.owner.owner.RegisterCompleteObjectUndo("Change UV Channel"); |
|
|
|
m_Slot.channel = channel; |
|
|
|
if (m_Slot.owner.onModified != null) |
|
|
|
m_Slot.owner.onModified(m_Slot.owner, ModificationScope.Graph); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |