public static IIgniteGUIGroup AddRGBASlider(this IIgniteGUIGroup group, Action <Color> onValueChanged, Color?initialValue = null)
        {
            var color = initialValue ?? Color.white;

            return(group
                   .AddSlider("R", r =>
            {
                color.r = r;
                onValueChanged(color);
            }, initialValue: color.r)
                   .AddSlider("G", g =>
            {
                color.g = g;
                onValueChanged(color);
            }, initialValue: color.g)
                   .AddSlider("B", b =>
            {
                color.b = b;
                onValueChanged(color);
            }, initialValue: color.b)
                   .AddSlider("A", a =>
            {
                color.a = a;
                onValueChanged(color);
            }, initialValue: color.a));
        }
        public static IIgniteGUIGroup AddVector2Field(this IIgniteGUIGroup group, Action <Vector2> onValueChanged = null, Action <Vector2> onEndEdit = null, Vector2?initialValue = null)
        {
            Vector2 vector2         = initialValue ?? Vector2.zero;
            var     horizontalGroup = IgniteHorizontalGroup.Create();

            horizontalGroup.AddLabel("x").AddInputField(x =>
            {
                float result;
                if (float.TryParse(x, out result))
                {
                    vector2.x = result;
                    onValueChanged?.Invoke(vector2);
                }
            }, x => onEndEdit?.Invoke(vector2), initialValue: vector2.x.ToString(), placeHolder: "x", width: 100);

            horizontalGroup.AddLabel("y").AddInputField(y =>
            {
                float result;
                if (float.TryParse(y, out result))
                {
                    vector2.y = result;
                    onValueChanged?.Invoke(vector2);
                }
            }, y => onEndEdit?.Invoke(vector2), initialValue: vector2.y.ToString(), placeHolder: "y", width: 100);

            return(group.Add(horizontalGroup));
        }
Пример #3
0
        public static IIgniteGUIGroup AddInputFieldWithButton(this IIgniteGUIGroup group, string buttonName, Action <string> onButtonClick, Action <string> onValueChanged = null, Action <string> onEndEdit = null, string initialValue = null, string placeHolder = null, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, bool readOnly = false, float?width = null)
        {
            var inputField = IgniteInputField.Create(onValueChanged, onEndEdit, initialValue, placeHolder, characterValidation, readOnly, width);
            var button     = IgniteButton.Create(buttonName, () => onButtonClick(inputField.Text));

            return(group.Add(IgniteHorizontalGroup.Create().Add(inputField).Add(button) as IgniteHorizontalGroup));
        }
Пример #4
0
        public static IIgniteGUIGroup AddToggleWithButton(this IIgniteGUIGroup group, string buttonName, Action <bool> onClick, Action <bool> onValueChanged = null, bool defaultValue = true)
        {
            var toggle = IgniteToggle.Create(onValueChanged ?? delegate { }, defaultValue);

            var horizontalGroup = IgniteHorizontalGroup.Create().Add(toggle).AddButton(buttonName, () => onClick(toggle.IsOn)) as IgniteHorizontalGroup;

            return(group.Add(horizontalGroup));
        }
Пример #5
0
        // label, monitoring slider
        public static IIgniteGUIGroup AddMonitoringSlider(this IIgniteGUIGroup group, string label, Func <float> monitor, float minValue, float maxValue)
        {
            var valueChangeEvent = new IgniteSlider.ValueChangeEvent();
            var slider           = IgniteSlider.Create(v => { }, minValue, maxValue, valueChangeEvent: valueChangeEvent);

            slider.StartCoroutine(MonitoringCoroutine(valueChangeEvent, monitor));
            return(group.Add(IgniteHorizontalGroup.Create().AddLabel(label).Add(slider) as IgniteHorizontalGroup));
        }
Пример #6
0
        // operable monitoring slider, label
        public static IIgniteGUIGroup AddOperableMonitoringSlider(this IIgniteGUIGroup group, Func <float> monitor, Action <float> onValueChanged, string label, float minValue = 0f, float maxValue = 1f)
        {
            var valueChangeEvent = new IgniteSlider.ValueChangeEvent();
            var slider           = IgniteSlider.Create(onValueChanged, minValue, maxValue, valueChangeEvent: valueChangeEvent);

            slider.StartCoroutine(MonitoringCoroutine(valueChangeEvent, monitor));
            return(group.Add(IgniteHorizontalGroup.Create().Add(slider).AddLabel(label) as IgniteHorizontalGroup));
        }
Пример #7
0
        // monitoring slider
        public static IIgniteGUIGroup AddMonitoringSlider(this IIgniteGUIGroup group, Func <float> monitor, float minValue = 0f, float maxValue = 1f)
        {
            var valueChangeEvent = new IgniteSlider.ValueChangeEvent();
            var slider           = IgniteSlider.Create(v => { }, minValue, maxValue, valueChangeEvent: valueChangeEvent);

            slider.StartCoroutine(MonitoringCoroutine(valueChangeEvent, monitor));
            return(group.Add(slider));
        }
Пример #8
0
        public static IIgniteGUIGroup AddMonitoringLabel(this IIgniteGUIGroup group, Func <string> monitor)
        {
            var behaviour        = (MonoBehaviour)group;
            var labelChangeEvent = new IgniteLabel.LabelChangeEvent();

            behaviour.StartCoroutine(MonitoringCoroutine(labelChangeEvent, monitor));
            return(group.AddLabel("", labelChangeEvent));
        }
Пример #9
0
        public static IIgniteGUIGroup AddMonitoringSlider(this IIgniteGUIGroup group, string label, Func <float> monitor, float minValue = 0f, float maxValue = 1f)
        {
            var behaviour        = (MonoBehaviour)(group);
            var valueChangeEvent = new IgniteSlider.ValueChangeEvent();

            behaviour.StartCoroutine(MonitoringCoroutine(valueChangeEvent, monitor));
            return(group.AddSlider(label, v => { }, minValue: minValue, maxValue: maxValue, valueChangeEvent: valueChangeEvent));
        }
        public static IIgniteGUIGroup AddHorizontalGroup(this IIgniteGUIGroup group, params IIgniteGUIElement[] elements)
        {
            var horizontal = IgniteHorizontalGroup.Create();

            foreach (var e in elements)
            {
                horizontal.Add(e);
            }

            return(group.Add(horizontal));
        }
Пример #11
0
        public static IIgniteGUIGroup AddGridGroup(this IIgniteGUIGroup group, Vector2 cellSize, params IIgniteGUIElement[] elements)
        {
            var grid = IgniteGridGroup.Create(cellSize);

            foreach (var e in elements)
            {
                grid.Add(e);
            }

            return(group.Add(grid));
        }
Пример #12
0
        public virtual IIgniteGUIGroup Add(IIgniteGUIElement element)
        {
            element.SetParent(this);

            element.OnSelected(() => Window.IsSelected = true);

            var group = element as IIgniteGUIGroup;

            if (group != null)
            {
                LastNestedGroup = group;
            }

            return(this);
        }
Пример #13
0
        public static IIgniteGUIGroup AddMonitoringLabel(this IIgniteGUIGroup group, Func <string> monitor)
        {
            var labelChangeEvent = new IgniteLabel.LabelChangeEvent();
            var label            = IgniteLabel.Create("");

            label.StartCoroutine(MonitoringCoroutine(() =>
            {
                if (label == null)
                {
                    return;
                }

                label.labelText.text = monitor();
            }));
            return(group.Add(label));
        }
Пример #14
0
        public static IIgniteGUIGroup AddMonitoringHighligtedLabel(this IIgniteGUIGroup group, Func <string> monitor, Func <Color> colorMonitor)
        {
            var labelChangeEvent = new IgniteLabel.LabelChangeEvent();
            var label            = IgniteLabel.Create("");

            label.StartCoroutine(MonitoringCoroutine(() =>
            {
                if (label == null)
                {
                    return;
                }

                var color                      = colorMonitor();
                label.labelText.text           = monitor();
                label.labelText.color          = LuminanceUtility.ChooseFontColor(color);
                label.backgroundImage.color    = color;
                label.highlightBackgroundColor = color;
                label.defaultBackgroundColor   = color;
            }));
            return(group.Add(label));
        }
Пример #15
0
 public static IIgniteGUIGroup AddButton(this IIgniteGUIGroup group, string buttonName, Action onClick)
 {
     return(group.Add(IgniteButton.Create(buttonName, onClick)));
 }
Пример #16
0
        public virtual void SetParent(IIgniteGUIGroup parent)
        {
            Window = parent.Window;

            this.RectTransform.SetParent(parent.Content);
        }
Пример #17
0
 public static IIgniteGUIGroup AddButton(this IIgniteGUIGroup group, string label, string buttonName, Action onClick)
 {
     return(group.Add(IgniteHorizontalGroup.Create().AddButton(buttonName, onClick).AddLabel(label) as IgniteHorizontalGroup));
 }
Пример #18
0
 public static IIgniteGUIGroup AddInputField(this IIgniteGUIGroup group, string label, Action <string> onValueChanged = null, Action <string> onEndEdit = null, string initialValue = null, string placeHolder = null, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, bool readOnly = false, float?width = null)
 {
     return(group.Add(IgniteHorizontalGroup.Create().AddLabel(label).AddInputField(onValueChanged, onEndEdit, initialValue, placeHolder, characterValidation, readOnly, width) as IgniteHorizontalGroup));
 }
Пример #19
0
 public override void SetParent(IIgniteGUIGroup parent)
 {
     base.SetParent(parent);
     Parent = parent;
 }
Пример #20
0
 // slider, label
 public static IIgniteGUIGroup AddSlider(this IIgniteGUIGroup group, Action <float> onValueChanged, string label, float minValue = 0f, float maxValue = 1f, bool wholeNumbers = false, UnityEvent <float> valueChangeEvent = null, float initialValue = 0f)
 {
     return(group.Add(IgniteHorizontalGroup.Create().Add(IgniteSlider.Create(onValueChanged, minValue, maxValue, wholeNumbers, valueChangeEvent, initialValue)).AddLabel(label) as IgniteHorizontalGroup));
 }
Пример #21
0
 public static IIgniteGUIGroup AddFoldout(this IIgniteGUIGroup group, string name)
 {
     return(group.Add(IgniteFoldout.Create(name)));
 }
 public static IIgniteGUIGroup AddEnumDropdown <TEnum>(this IIgniteGUIGroup group, Action <int> onValueChanged)
 {
     return(group.AddDropdown(onValueChanged, Enum.GetNames(typeof(TEnum))));
 }
Пример #23
0
 public static IIgniteGUIGroup AddToggle(this IIgniteGUIGroup group, string label, Action <bool> onValueChanged, bool defaultValue = true)
 {
     return(group.Add(IgniteHorizontalGroup.Create().AddToggle(onValueChanged, defaultValue).AddLabel(label) as IgniteHorizontalGroup));
 }
Пример #24
0
 public static IIgniteGUIGroup AddLabel(this IIgniteGUIGroup group, string label, Color?fontColor = null, Color?defaultBackgroundColor = null, Color?highlightBackgroundColor = null)
 {
     return(group.Add(IgniteLabel.Create(label, fontColor, defaultBackgroundColor, highlightBackgroundColor)));
 }
Пример #25
0
 public static IIgniteGUIGroup AddToggle(this IIgniteGUIGroup group, Action <bool> onValueChanged, bool defaultValue = true)
 {
     return(group.Add(IgniteToggle.Create(onValueChanged, defaultValue)));
 }
Пример #26
0
 public static IIgniteGUIGroup AddDropdown(this IIgniteGUIGroup group, Action <int> onValueChanged, params string[] options)
 {
     return(group.Add(IgniteDropdown.Create(onValueChanged, options)));
 }
Пример #27
0
 public static IIgniteGUIGroup AddToggleGroup(this IIgniteGUIGroup group, bool allowSwitchOff = false)
 {
     return(group.Add(IgniteToggleGroup.Create(allowSwitchOff)));
 }
Пример #28
0
 public static IIgniteGUIGroup AddHighlightedLabel(this IIgniteGUIGroup group, string label, Color highlightColor)
 {
     return(group.AddLabel(label, LuminanceUtility.ChooseFontColor(highlightColor), highlightColor, highlightColor));
 }
Пример #29
0
 public static IIgniteGUIGroup AddLabel(this IIgniteGUIGroup group, string label, UnityEvent <string> labelChangeEvent = null)
 {
     return(group.Add(IgniteLabel.Create(label, labelChangeEvent)));
 }