示例#1
0
        /// <summary>
        /// Sets the color.
        /// </summary>
        /// <param name="value">Value.</param>
        protected virtual void SetColor(ColorHSV value)
        {
            Diffs.Clear();

            if ((ColorRight.H - ColorLeft.H) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.H - ColorLeft.H) / (ColorRight.H - ColorLeft.H)));
            }

            if ((ColorRight.S - ColorLeft.S) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.S - ColorLeft.S) / (ColorRight.S - ColorLeft.S)));
            }

            if ((ColorRight.V - ColorLeft.V) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.V - ColorLeft.V) / (ColorRight.V - ColorLeft.V)));
            }

            if (ColorRight.A != ColorLeft.A)
            {
                Diffs.Add(Mathf.Abs((value.A - ColorLeft.A) / (ColorRight.A - ColorLeft.A)));
            }

            var t = Diffs.Count == 0 ? 1 : Utilites.Sum(Diffs) / (float)Diffs.Count;

            color        = ColorHSV.Lerp(ColorLeft, ColorRight, t);
            Slider.value = t * (Slider.maxValue - Slider.minValue);
        }
示例#2
0
        /// <summary>
        /// Sets the color.
        /// </summary>
        /// <param name="value">Value.</param>
        protected virtual void SetColor(Color value)
        {
            Diffs.Clear();

            if ((ColorRight.r - ColorLeft.r) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.r - ColorLeft.r) / (ColorRight.r - ColorLeft.r)));
            }

            if ((ColorRight.g - ColorLeft.g) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.g - ColorLeft.g) / (ColorRight.g - ColorLeft.g)));
            }

            if ((ColorRight.b - ColorLeft.b) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.b - ColorLeft.b) / (ColorRight.b - ColorLeft.b)));
            }

            if ((ColorRight.a - ColorLeft.a) != 0f)
            {
                Diffs.Add(Mathf.Abs((value.a - ColorLeft.a) / (ColorRight.a - ColorLeft.a)));
            }

            var t = Diffs.Count == 0 ? 1 : Utilites.Sum(Diffs) / (float)Diffs.Count;

            color        = Color.Lerp(ColorLeft, ColorRight, t);
            Slider.value = t * (Slider.maxValue - Slider.minValue);
        }
            /// <summary>
            /// Get the size of the ListView.
            /// </summary>
            /// <returns>The size.</returns>
            public override float ListSize()
            {
                if (Owner.DataSource.Count == 0)
                {
                    return(0);
                }

                return(Utilites.Sum(BlockSizes) + (BlockSizes.Count * Owner.LayoutBridge.GetSpacing()) - Owner.LayoutBridge.GetSpacing());
            }