示例#1
0
        public static z_ColorMask ColorMaskField(GUIContent gc, z_ColorMask mask)
        {
            GUILayout.BeginHorizontal();

            if (gc != null)
            {
                int w = (int)EditorGUIUtility.currentViewWidth / 2;
                GUILayout.Label(gc, GUILayout.MinWidth(w), GUILayout.MaxWidth(w));
            }

            if (GUILayout.Button("R", mask.r ? "Commandleft" : z_GUI.GetStyleOn("Commandleft")))
            {
                mask.r = !mask.r;
            }

            if (GUILayout.Button("G", mask.g ? "Commandmid" : z_GUI.GetStyleOn("Commandmid")))
            {
                mask.g = !mask.g;
            }

            if (GUILayout.Button("B", mask.b ? "Commandmid" : z_GUI.GetStyleOn("Commandmid")))
            {
                mask.b = !mask.b;
            }

            if (GUILayout.Button("A", mask.a ? "Commandright" : z_GUI.GetStyleOn("Commandright")))
            {
                mask.a = !mask.a;
            }

            GUILayout.EndHorizontal();

            return(mask);
        }
示例#2
0
 /**
  *	Lerp between 2 colors.
  */
 public static Color32 Lerp(Color32 lhs, Color32 rhs, z_ColorMask mask, float alpha)
 {
     return(new Color32(mask.r ? (byte)(lhs.r * (1f - alpha) + rhs.r * alpha) : lhs.r,
                        mask.g ? (byte)(lhs.g * (1f - alpha) + rhs.g * alpha) : lhs.g,
                        mask.b ? (byte)(lhs.b * (1f - alpha) + rhs.b * alpha) : lhs.b,
                        mask.a ? (byte)(lhs.a * (1f - alpha) + rhs.a * alpha) : lhs.a));
 }
示例#3
0
        // Inspector GUI shown in the Editor window.  Base class shows z_BrushSettings by default
        public override void DrawGUI(z_BrushSettings brushSettings)
        {
            base.DrawGUI(brushSettings);

            GUILayout.BeginHorizontal();

            if (colorPalette == null)
            {
                RefreshAvailablePalettes();
            }

            EditorGUI.BeginChangeCheck();
            currentPaletteIndex = EditorGUILayout.Popup(currentPaletteIndex, availablePalettes_str, "popup");
            if (EditorGUI.EndChangeCheck())
            {
                if (currentPaletteIndex >= availablePalettes.Length)
                {
                    SetColorPalette(z_ColorPaletteEditor.AddNew());
                }
                else
                {
                    SetColorPalette(availablePalettes[currentPaletteIndex]);
                }
            }

            paintMode = (z_PaintMode)GUILayout.Toolbar((int)paintMode, modeIcons, "Command", GUILayout.Width(120));

            GUILayout.EndHorizontal();

            if (!likelySupportsVertexColors)
            {
                EditorGUILayout.HelpBox("It doesn't look like any of the materials on this object support vertex colors!", MessageType.Warning);
            }

            colorPaletteEditor.onSelectIndex = (color) => { SetBrushColor(color, brushSettings.strength); };
            colorPaletteEditor.onSaveAs      = SetColorPalette;

            mask = z_GUILayout.ColorMaskField("Color Mask", mask);

            colorPaletteEditor.OnInspectorGUI();
        }
示例#4
0
 /**
  * Color field control
  */
 public static z_ColorMask ColorMaskField(string text, z_ColorMask mask)
 {
     return(ColorMaskField(string.IsNullOrEmpty(text) ? null : z_GUI.TempContent(text), mask));
 }