示例#1
0
        public Vector2 Show(params Action[] actions)
        {
            var previousValue = Value;

            base.ShowTitle();

            var height = Mathf.Min(MaxHeight, Mathf.Max(MinHeight, Height));
            var width  = Mathf.Min(MaxWidth, Mathf.Max(MinWidth, Width));

            XGUILayout.VerticalLayout(() =>
            {
                Value = GUILayout.BeginScrollView(Value, GUILayout.Width(width),
                                                  GUILayout.MinWidth(width),
                                                  GUILayout.MaxWidth(width),
                                                  GUILayout.Height(height));
                foreach (var action in actions)
                {
                    action();
                }

                GUILayout.EndScrollView();
            },
                                      BoxSkin? GUI.skin.box : null, GUILayout.Height(height),
                                      GUILayout.MinHeight(height),
                                      GUILayout.MaxHeight(height));

            Updated = previousValue != Value;

            return(Value);
        }
示例#2
0
        public bool Show(params Action[] actions)
        {
            var previousValue = Value;

            XGUILayout.VerticalLayout(() =>
            {
                var buttonContent = (Value ? "\u25BC " : "\u25BA ") + Title;

                XGUILayout.HorizontalLayout(() =>
                {
                    var expand = !string.IsNullOrEmpty(Title);
                    Value      = Value != GUILayout.Button(buttonContent, FoldoutButtonStyle, GUILayout.ExpandWidth(expand));
                    ButtonFieldAction?.Invoke();
                });

                if (Value)
                {
                    XGUILayout.VerticalLayout(() =>
                    {
                        foreach (var action in actions)
                        {
                            action();
                        }
                    }, FoldoutBoxStyle);
                }
            }, Value && BoxSkin ? GUI.skin.box : null);

            Updated = previousValue != Value;

            return(Value);
        }
示例#3
0
        public override string Show(string value)
        {
            var previousValue = value;

            XGUILayout.HorizontalLayout(() =>
            {
                base.ShowTitle();
                value = ShowTextField(value);
            });

            Updated = previousValue != value;

            return(value);
        }
示例#4
0
        public override T Show(T value)
        {
            var previousValue = value;

            XGUILayout.VerticalLayout(() =>
            {
                base.ShowTitle();

                XGUILayout.HorizontalLayout(() =>
                {
                    value = ShowComponents(value);
                });
            });

            Updated = !previousValue.Equals(value);

            return(value);
        }
示例#5
0
        public override bool Show(bool value)
        {
            var previousValue = value;

            const string emptyText = "";

            XGUILayout.HorizontalLayout(() =>
            {
                base.ShowTitle(base.Title == null);

                GUILayout.FlexibleSpace();

                value = GUILayout.Toggle(value, emptyText);
            });

            Updated = previousValue != value;

            return(value);
        }
示例#6
0
 public override int Show(int value)
 {
     XGUILayout.Label("UnSupported : " + base.Title);
     return(-1);
 }