public Vector3PropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { bool isColor = VFXPropertyAttribute.IsColor(m_Provider.attributes); if (isColor) { m_ColorField = new VFXColorField(m_Label); m_ColorField.OnValueChanged = OnColorValueChanged; m_ColorField.showAlpha = false; m_VectorField = new VFXVector3Field(); m_VectorField.RegisterCallback <ChangeEvent <Vector3> >(OnValueChanged); var mainContainer = new VisualElement() { name = "mainContainer" }; mainContainer.AddToClassList("maincontainer"); mainContainer.Add(m_ColorField); mainContainer.Add(m_VectorField); Add(mainContainer); m_VectorField.AddToClassList("fieldContainer"); } else { var labeledField = new VFXLabeledField <VFXVector3Field, Vector3>(m_Label); m_VectorField = labeledField.control; labeledField.RegisterCallback <ChangeEvent <Vector3> >(OnValueChanged); Add(labeledField); labeledField.AddToClassList("fieldContainer"); } }
public ColorPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_MainContainer = new VisualElement(); #if USE_MY_COLOR_FIELD m_ColorField = new UnityEditor.VFX.UI.VFXColorField(m_Label); m_ColorField.OnValueChanged = OnValueChanged; #else m_ColorField = new LabeledField <UnityEditor.UIElements.ColorField, Color>(m_Label); m_ColorField.RegisterCallback <ChangeEvent <Color> >(OnValueChanged); #endif m_MainContainer.Add(m_ColorField); m_MainContainer.AddToClassList("maincontainer"); VisualElement fieldContainer = new VisualElement(); fieldContainer.AddToClassList("fieldContainer"); m_FloatFields = new FloatField[4]; m_TooltipHolders = new VisualElement[4]; m_FieldParents = new VisualElement[4]; for (int i = 0; i < 4; ++i) { m_FloatFields[i] = new FloatField(names[i]); m_FloatFields[i].RegisterCallback <ChangeEvent <float> >(OnValueChanged); m_FieldParents[i] = new VisualElement(); m_FieldParents[i].Add(m_FloatFields[i]); m_FieldParents[i].style.flexGrow = 1; m_TooltipHolders[i] = new VisualElement(); m_TooltipHolders[i].style.position = UnityEngine.UIElements.Position.Absolute; m_TooltipHolders[i].style.top = 0; m_TooltipHolders[i].style.left = 0; m_TooltipHolders[i].style.right = 0; m_TooltipHolders[i].style.bottom = 0; fieldContainer.Add(m_FieldParents[i]); } m_MainContainer.Add(fieldContainer); m_FloatFields[0].label.AddToClassList("first"); Add(m_MainContainer); }
public ColorPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_MainContainer = new VisualElement(); #if USE_MY_COLOR_FIELD m_ColorField = new UnityEditor.VFX.UI.VFXColorField(m_Label); m_ColorField.OnValueChanged = OnValueChanged; #else m_ColorField = new LabeledField <UnityEditor.UIElements.ColorField, Color>(m_Label); m_ColorField.RegisterCallback <ChangeEvent <Color> >(OnValueChanged); #endif m_MainContainer.Add(m_ColorField); m_MainContainer.AddToClassList("maincontainer"); VisualElement fieldContainer = new VisualElement(); fieldContainer.AddToClassList("fieldContainer"); m_RFloatField = new FloatField("R"); m_RFloatField.RegisterCallback <ChangeEvent <float> >(OnValueChanged); m_GFloatField = new FloatField("G"); m_GFloatField.RegisterCallback <ChangeEvent <float> >(OnValueChanged); m_BFloatField = new FloatField("B"); m_BFloatField.RegisterCallback <ChangeEvent <float> >(OnValueChanged); m_AFloatField = new FloatField("A"); m_AFloatField.RegisterCallback <ChangeEvent <float> >(OnValueChanged); fieldContainer.Add(m_RFloatField); fieldContainer.Add(m_GFloatField); fieldContainer.Add(m_BFloatField); fieldContainer.Add(m_AFloatField); m_MainContainer.Add(fieldContainer); Add(m_MainContainer); }