public SimplePropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_Field = CreateField(); m_Field.AddToClassList("fieldContainer"); m_Field.OnValueChanged += OnValueChanged; Add(m_Field); }
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 Matrix4x4PropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_FieldParent.style.flexDirection = FlexDirection.Row; fieldControl.onValueDragFinished = () => ValueDragFinished(); fieldControl.onValueDragStarted = () => ValueDragStarted(); }
public Vector3SpaceablePropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_VectorField = new VFXLabeledField <VFXVector3Field, Vector3>(m_Label); m_VectorField.RegisterCallback <ChangeEvent <Vector3> >(OnValueChanged); m_VectorField.AddToClassList("fieldContainer"); Add(m_VectorField); }
public override bool IsCompatible(IPropertyRMProvider provider) { if (!base.IsCompatible(provider)) return false; Vector2 range = VFXPropertyAttribute.FindRange(m_Provider.attributes); return RangeShouldCreateSlider(range) != (m_Slider == null); }
public IntegerPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_IndeterminateLabel = new Label() { name = "indeterminate", text = VFXControlConstants.indeterminateText }; m_IndeterminateLabel.SetEnabled(false); }
public PropertyRM(IPropertyRMProvider provider, float labelWidth) { this.AddStyleSheetPathWithSkinVariant("VFXControls"); this.AddStyleSheetPathWithSkinVariant("PropertyRM"); m_Provider = provider; m_labelWidth = labelWidth; m_IconClickable = new Clickable(OnExpand); isDelayed = m_Provider.attributes.Is(VFXPropertyAttributes.Type.Delayed); if (provider.attributes.Is(VFXPropertyAttributes.Type.Angle)) { SetMultiplier(Mathf.PI / 180.0f); } string labelText = provider.name; string labelTooltip = null; provider.attributes.ApplyToGUI(ref labelText, ref labelTooltip); m_Label = new Label() { name = "label", text = labelText }; m_Label.tooltip = labelTooltip; if (provider.depth != 0) { for (int i = 0; i < provider.depth; ++i) { VisualElement line = new VisualElement(); line.style.width = 1; line.name = "line"; line.style.marginLeft = depthOffset + (i == 0 ? -2 : 0); line.style.marginRight = ((i == provider.depth - 1) ? 2 : 0); Add(line); } } m_Icon = new VisualElement() { name = "icon" }; Add(m_Icon); m_Label.style.width = effectiveLabelWidth - provider.depth * depthOffset; Add(m_Label); AddToClassList("propertyrm"); RegisterCallback <MouseDownEvent>(OnCatchMouse); UpdateExpandable(); }
public SpaceablePropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_Button = new VisualElement() { name = "spacebutton" }; m_Button.AddManipulator(new Clickable(OnButtonClick)); Add(m_Button); AddToClassList("spaceablepropertyrm"); }
public override bool IsCompatible(IPropertyRMProvider provider) { if (!base.IsCompatible(provider)) { return(false); } bool isColor = VFXPropertyAttribute.IsColor(provider.attributes); return(isColor == (m_ColorField != null)); }
public GradientPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_GradientField = new GradientField(m_Label); m_GradientField.RegisterCallback <ChangeEvent <Gradient> >(OnValueChanged); m_GradientField.style.flexDirection = FlexDirection.Column; m_GradientField.style.alignItems = Align.Stretch; m_GradientField.style.flex = new Flex(1, 0); Add(m_GradientField); }
public override bool IsCompatible(IPropertyRMProvider provider) { if (!base.IsCompatible(provider)) { return(false); } Vector2 range = m_Provider.attributes.FindRange(); return(RangeShouldCreateSlider(range) != (m_Slider == null)); }
public SimpleUIPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_Field = CreateField(); isDelayed = VFXPropertyAttribute.IsDelayed(m_Provider.attributes); VisualElement fieldElement = m_Field as VisualElement; fieldElement.AddToClassList("fieldContainer"); fieldElement.RegisterCallback <ChangeEvent <U> >(OnValueChanged); Add(fieldElement); }
public CurvePropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_CurveField = new MyCurveField(m_Label); m_CurveField.control.renderMode = CurveField.RenderMode.Mesh; m_CurveField.RegisterCallback <ChangeEvent <AnimationCurve> >(OnValueChanged); m_CurveField.style.flexDirection = FlexDirection.Column; m_CurveField.style.alignItems = Align.Stretch; m_CurveField.style.flex = new Flex(1, 0); Add(m_CurveField); }
public GradientPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_GradientField = new GradientField(m_Label); m_GradientField.RegisterCallback <ChangeEvent <Gradient> >(OnValueChanged); m_GradientField.control.colorSpace = ColorSpace.Linear; m_GradientField.style.flexDirection = FlexDirection.Column; m_GradientField.style.alignItems = Align.Stretch; m_GradientField.style.flexGrow = 1f; m_GradientField.style.flexShrink = 1f; Add(m_GradientField); }
public static PropertyRM Create(IPropertyRMProvider controller, float labelWidth) { Type propertyType = GetPropertyType(controller); Profiler.BeginSample(propertyType.Name + ".CreateInstance"); PropertyRM result = System.Activator.CreateInstance(propertyType, new object[] { controller, labelWidth }) as PropertyRM; Profiler.EndSample(); return(result); }
public ObjectPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_ObjectField = new ObjectField(m_Label); if (controller.portType == typeof(Texture2D) || controller.portType == typeof(Texture3D) || controller.portType == typeof(Cubemap)) m_ObjectField.control.objectType = typeof(Texture); else m_ObjectField.control.objectType = controller.portType; m_ObjectField.RegisterCallback<ChangeEvent<UnityObject>>(OnValueChanged); m_ObjectField.control.allowSceneObjects = false; m_ObjectField.style.flexGrow = 1f; m_ObjectField.style.flexShrink = 1f; RegisterCallback<KeyDownEvent>(StopKeyPropagation); Add(m_ObjectField); }
static Type GetPropertyType(IPropertyRMProvider controller) { Type propertyType = null; Type type = controller.portType; if (type != null) { if (type.IsEnum) { propertyType = typeof(EnumPropertyRM); } else if (controller.spaceableAndMasterOfSpace) { if (!m_TypeDictionary.TryGetValue(type, out propertyType)) { propertyType = typeof(SpaceablePropertyRM <object>); } } else { while (type != typeof(object) && type != null) { if (!m_TypeDictionary.TryGetValue(type, out propertyType)) { /*foreach (var inter in type.GetInterfaces()) * { * if (m_TypeDictionary.TryGetValue(inter, out propertyType)) * { * break; * } * }*/ } if (propertyType != null) { break; } type = type.BaseType; } } } if (propertyType == null) { propertyType = typeof(EmptyPropertyRM); } return(propertyType); }
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 ObjectPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_ObjectField = new ObjectField(m_Label); if (controller.portType == typeof(Texture2D) || controller.portType == typeof(Texture3D) || controller.portType == typeof(Cubemap)) { m_ObjectField.control.objectType = typeof(Texture); } else { m_ObjectField.control.objectType = controller.portType; } m_ObjectField.RegisterCallback <ChangeEvent <Object> >(OnValueChanged); m_ObjectField.control.allowSceneObjects = false; m_ObjectField.style.flex = new Flex(1, 0); Add(m_ObjectField); }
public override bool IsCompatible(IPropertyRMProvider provider) { if (!base.IsCompatible(provider)) { return(false); } var stringProvider = FindStringProvider(m_Provider.customAttributes); var pushButtonInfo = FindPushButtonBehavior(m_Provider.customAttributes); if (stringProvider != null) { return(m_Field is VFXStringFieldProvider && (m_Field as VFXStringFieldProvider).stringProvider == stringProvider); } else if (pushButtonInfo.action != null) { return(m_Field is VFXStringFieldPushButton && (m_Field as VFXStringFieldPushButton).pushButtonProvider == pushButtonInfo.action); } return(!(m_Field is VFXStringFieldProvider) && !(m_Field is VFXStringFieldPushButton)); }
public override bool IsCompatible(IPropertyRMProvider provider) { if (!base.IsCompatible(provider)) { return(false); } if (m_Provider.attributes.Is(VFXPropertyAttributes.Type.Enum) == (m_EnumPopup == null)) { return(false); } if (m_Provider.attributes.Is(VFXPropertyAttributes.Type.Enum)) { string[] enumValues = m_Provider.attributes.FindEnum(); return(Enumerable.SequenceEqual(enumValues, m_EnumPopup.enumValues)); } return(true); }
public ColorPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_MainContainer = new VisualElement(); #if USE_MY_COLOR_FIELD m_ColorField = new UnityEditor.VFX.UIElements.VFXColorField(m_Label); m_ColorField.OnValueChanged = OnValueChanged; #else m_ColorField = new LabeledField <UnityEditor.Experimental.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); }
public SimpleUIPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_Field = CreateField(); isDelayed = m_Provider.attributes.Is(VFXPropertyAttributes.Type.Delayed); m_FieldParent = new VisualElement(); VisualElement fieldElement = m_Field as VisualElement; fieldElement.AddToClassList("fieldContainer"); fieldElement.RegisterCallback <ChangeEvent <U> >(OnValueChanged); m_FieldParent.Add(fieldElement); m_FieldParent.style.flexGrow = 1; m_TooltipHolder = new VisualElement(); m_TooltipHolder.style.position = UnityEngine.UIElements.Position.Absolute; m_TooltipHolder.style.top = 0; m_TooltipHolder.style.left = 0; m_TooltipHolder.style.right = 0; m_TooltipHolder.style.bottom = 0; Add(m_FieldParent); }
public FloatPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { }
public ListPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { AddToClassList("ListPropertyRM"); m_List = new ReorderableList(this); Add(m_List); }
public BoolPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { m_Toggle = new Toggle(); m_Toggle.RegisterCallback <ChangeEvent <bool> >(OnValueChanged); Add(m_Toggle); }
public EmptyPropertyRM(IPropertyRMProvider provider, float labelWidth) : base(provider, labelWidth) { }
public SimpleVFXUIPropertyRM(IPropertyRMProvider controller, float labelWidth) : base(controller, labelWidth) { }
public virtual bool IsCompatible(IPropertyRMProvider provider) { return(GetType() == GetPropertyType(provider)); }
protected override StringPropertyRM CreateField(IPropertyRMProvider provider) { return(new StringPropertyRM(provider, 18)); }