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);
            }
        }
Exemple #4
0
        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);
        }