public Vector4Field AddVector4Field(Vector4 value = new Vector4(), bool alternate = false, bool secondAlternate = false, bool thirdAlternate = false) { Vector4Field el = new Vector4Field(); el.value = value; el.AddToClassList("list-item-input"); el.AddToClassList("list-item-vector-input"); AddAlternates(el, alternate, secondAlternate, thirdAlternate); el.RegisterValueChangedCallback(e => { eventManager.Raise <ListItemInputChange>(new ListItemInputChange(el)); }); this.Add(el); return(el); }
public VisualElement Build(InspectorDataProxy <float4> proxy) { m_VectorField = new Vector4Field(proxy.Name); m_VectorField.AddToClassList(proxy.Name); SetInputClass(m_VectorField.Q <FloatField>("unity-x-input"), "x"); SetInputClass(m_VectorField.Q <FloatField>("unity-y-input"), "y"); SetInputClass(m_VectorField.Q <FloatField>("unity-z-input"), "z"); SetInputClass(m_VectorField.Q <FloatField>("unity-w-input"), "w"); m_VectorField.RegisterValueChangedCallback(evt => ValueChanged(proxy, evt)); return(m_VectorField); }
internal override void Apply(VisualElement container) { /// <sample> // Get a reference to the field from UXML and assign it its value. var uxmlField = container.Q<Vector4Field>("the-uxml-field"); uxmlField.value = new Vector4(23.8f, 12.6f, 88.3f, 92.1f); // Create a new field, disable it, and give it a style class. var csharpField = new Vector4Field("C# Field"); csharpField.SetEnabled(false); csharpField.AddToClassList("some-styled-field"); csharpField.value = uxmlField.value; container.Add(csharpField); // Mirror value of uxml field into the C# field. uxmlField.RegisterCallback<ChangeEvent<Vector4>>((evt) => { csharpField.value = evt.newValue; }); /// </sample> }