protected override void InitUI(UIWidget layout) { UIListView listView = GetTarget <UIListView>(); UIEnumFieldWidget movementType = new UIEnumFieldWidget("MovementType", listView.movementType); movementType.OnValueChanged = (Object value) => { listView.movementType = (ScrollRect.MovementType)value; UpdateElasticity(layout, movementType); }; layout.Add(movementType); UpdateElasticity(layout, movementType); //////////////////////////////////////////////////////////// UIBooleanFieldWidget inertia = new UIBooleanFieldWidget("Inertia", listView.inertia); inertia.OnValueChanged = (Object value) => { listView.inertia = (bool)value; UpdateDecelerationRate(layout, inertia); }; layout.Add(inertia); UpdateDecelerationRate(layout, inertia); //////////////////////////////////////////////////////////// UIFloatFieldWidget scrollSensitivity = new UIFloatFieldWidget("ScrollSensitivity", listView.scrollSensitivity); scrollSensitivity.OnValueChanged = (Object value) => { listView.scrollSensitivity = (float)value; }; layout.Add(scrollSensitivity); //////////////////////////////////////////////////////////// UIEnumFieldWidget direction = new UIEnumFieldWidget("Direction", listView.Direction); direction.OnValueChanged = (Object value) => { listView.Direction = (ScrollDirection)value; }; layout.Add(direction); GUIButton btn = new GUIButton(); btn.Text = "Format"; btn.TriggerHandler = (Widget w) => { listView.FormatScrollView(); }; layout.Add(btn); }
private void UpdateElasticity(Layout layout, Widget w) { UIListView listView = GetTarget <UIListView>(); if (listView.movementType == ScrollRect.MovementType.Elastic) { if (elasticity == null) { elasticity = new UIFloatFieldWidget(" Elasticity", listView.elasticity); elasticity.OnValueChanged = (Object value) => { listView.elasticity = (float)value; }; } layout.InsertAfter(w, elasticity); } else { layout.Remove(elasticity); } }
private void UpdateDecelerationRate(Layout layout, Widget w) { UIListView listView = GetTarget <UIListView>(); if (listView.inertia) { if (decelerationRate == null) { decelerationRate = new UIFloatFieldWidget(" DecelerationRate", listView.decelerationRate); decelerationRate.OnValueChanged = (Object value) => { listView.decelerationRate = (float)value; }; } layout.InsertAfter(w, decelerationRate); } else { layout.Remove(decelerationRate); } }
protected override void InitUI(UIWidget layout) { UIFloatFieldWidget distance = new UIFloatFieldWidget("Distance", _distance); distance.OnValueChanged = (object value) => { _distance = (float)value; }; layout.Add(distance); layout.Add(new EditorHorizontalLine()); UITextFieldWidget axis = new UITextFieldWidget("AXIS:", GetText()); layout.Add(axis); EditorHorizontalLayout hlayout1 = new EditorHorizontalLayout(); layout.Add(hlayout1); GUIButton axisX = new GUIButton(); axisX.Text = "X"; axisX.TriggerHandler = (Widget w) => { this.OrderBy(OrderAxis.X); this.SetText(axis); }; hlayout1.Add(axisX); GUIButton axisY = new GUIButton(); axisY.Text = "Y"; axisY.TriggerHandler = (Widget w) => { this.OrderBy(OrderAxis.Y); this.SetText(axis); }; hlayout1.Add(axisY); GUIButton axisZ = new GUIButton(); axisZ.Text = "Z"; axisZ.TriggerHandler = (Widget w) => { this.OrderBy(OrderAxis.Z); this.SetText(axis); }; hlayout1.Add(axisZ); EditorPrefixLabel alignment = new EditorPrefixLabel(); alignment.Text = "Alignment:"; layout.Add(alignment); EditorHorizontalLayout hlayout2 = new EditorHorizontalLayout(); layout.Add(hlayout2); GUIButton left = new GUIButton(); left.ImagePath = EditorAssets.GetResourcePath("Icons/layout_alignment_left.png"); left.TriggerHandler = (Widget w) => { this.OrderBy(TextAlignment.Left); }; hlayout2.Add(left); GUIButton center = new GUIButton(); center.ImagePath = EditorAssets.GetResourcePath("Icons/layout_alignment_center.png"); center.TriggerHandler = (Widget w) => { this.OrderBy(TextAlignment.Center); }; hlayout2.Add(center); GUIButton right = new GUIButton(); right.ImagePath = EditorAssets.GetResourcePath("Icons/layout_alignment_right.png"); right.TriggerHandler = (Widget w) => { this.OrderBy(TextAlignment.Right); }; hlayout2.Add(right); }