示例#1
0
        public static bool TryGetColor(bool allowHDR, out Color color)
        {
            bool validColor = false;

            if (ColorUtility.TryParseHtmlString(EditorGUIUtility.systemCopyBuffer, out color))
            {
                validColor = true;
            }
            else if (EditorGUIUtility.HasPasteboardColor())
            {
                color      = EditorGUIUtility.GetPasteboardColor();
                validColor = true;
            }

            if (validColor)
            {
                // Ensure HDR colors are normalized for LDR color fields
                if (!allowHDR && color.maxColorComponent > 1f)
                {
                    color = color.RGBMultiplied(1f / color.maxColorComponent);
                }
                return(true);
            }

            return(false);
        }
示例#2
0
        public static bool TryGetColor(bool allowHDR, out Color color)
        {
            bool flag = false;

            if (ColorUtility.TryParseHtmlString(EditorGUIUtility.systemCopyBuffer, out color))
            {
                flag = true;
            }
            else if (EditorGUIUtility.HasPasteboardColor())
            {
                color = EditorGUIUtility.GetPasteboardColor();
                flag  = true;
            }
            bool result;

            if (flag)
            {
                if (!allowHDR && color.maxColorComponent > 1f)
                {
                    color = color.RGBMultiplied(1f / color.maxColorComponent);
                }
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }