示例#1
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        if (property.hasMultipleDifferentValues)
        {
            return;
        }
        var C = property.FindPropertyRelative("C");
        var M = property.FindPropertyRelative("M");
        var Y = property.FindPropertyRelative("Y");
        var K = property.FindPropertyRelative("K");

        if (C == null || M == null || Y == null || K == null)
        {
            return;
        }
        var cmyk = new CMYK(C.floatValue, M.floatValue, Y.floatValue, K.floatValue);

        var newColor = EditorGUI.ColorField(position, label, cmyk.ToColor(), false, true, true);

        cmyk = CMYK.from(newColor);

        C.floatValue = cmyk.C;
        M.floatValue = cmyk.M;
        Y.floatValue = cmyk.Y;
        K.floatValue = cmyk.K;
    }