using System; using UnityEditor.Graphing; using UnityEngine; namespace UnityEditor.ShaderGraph.Internal { [Serializable] [FormerName("UnityEditor.ShaderGraph.Vector2ShaderProperty")] public sealed class Vector2ShaderProperty : VectorShaderProperty { internal Vector2ShaderProperty() { displayName = "Vector2"; } public override PropertyType propertyType => PropertyType.Vector2; internal override AbstractMaterialNode ToConcreteNode() { var node = new Vector2Node(); node.FindInputSlot(Vector2Node.InputSlotXId).value = value.x; node.FindInputSlot(Vector2Node.InputSlotYId).value = value.y; return node; } internal override PreviewProperty GetPreviewMaterialProperty() { return new PreviewProperty(propertyType) { name = referenceName, vector4Value = value }; } internal override ShaderInput Copy() { return new Vector2ShaderProperty() { displayName = displayName, hidden = hidden, value = value }; } } }