예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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>
        }