using System; using UnityEngine; using UnityEditor; namespace qtools.qhierarchy.phelper { public class QColorUtils { private static Color defaultColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); public static void setDefaultColor(Color defaultColor) { QColorUtils.defaultColor = defaultColor; } public static void setColor(Color newColor) { GUI.color = newColor; } public static void setColor(Color newColor, float multiColor, float multiAlpha) { newColor.r *= multiColor; newColor.g *= multiColor; newColor.b *= multiColor; newColor.a *= multiAlpha; GUI.color = newColor; } public static void clearColor() { GUI.color = defaultColor; } public static Color fromString(string color) { return fromInt(Convert.ToUInt32(color,16)); } public static string toString(Color color) { uint intColor = toInt(color); return intColor.ToString("X8"); } public static Color fromInt(uint color) { return new Color(((color >> 16) & 0xFF) / 255.0f, ((color >> 8) & 0xFF) / 255.0f, ((color >> 0) & 0xFF) / 255.0f, ((color >> 24) & 0xFF) / 255.0f); } public static uint toInt(Color color) { return (uint)((byte)(color.r * 255) << 16) + (uint)((byte)(color.g * 255) << 8) + (uint)((byte)(color.b * 255) << 0) + (uint)((byte)(color.a * 255) << 24); } } }