public VisualElement Build(InspectorDataProxy <Rect> proxy) { var c = proxy.Data; m_Field = new RectField(proxy.Name); m_Field.AddToClassList(proxy.Name); SetInputClass(m_Field.Q <FloatField>("unity-x-input"), "x"); SetInputClass(m_Field.Q <FloatField>("unity-y-input"), "y"); SetInputClass(m_Field.Q <FloatField>("unity-width-input"), "width"); SetInputClass(m_Field.Q <FloatField>("unity-height-input"), "height"); m_Field.RegisterValueChangedCallback(evt => RectChanged(proxy, evt)); return(m_Field); }
internal override void Apply(VisualElement container) { /// <sample> // Get a reference to the field from UXML and assign it its value. var uxmlField = container.Q <RectField>("the-uxml-field"); uxmlField.value = new Rect(0.0f, 5.5f, 10.1f, 20.3f); // Create a new field, disable it, and give it a style class. var csharpField = new RectField("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 <Rect> >((evt) => { csharpField.value = evt.newValue; }); /// </sample> }