Beispiel #1
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();
        }
Beispiel #2
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();
            GUILayout.FlexibleSpace();
            paintMode = (z_PaintMode)GUILayout.Toolbar((int)paintMode, modeIcons, "Command", null);
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            GUILayout.Space(4);

            if (!likelySupportsTextureBlending)
            {
                EditorGUILayout.HelpBox("It doesn't look like any of the materials on this object support texture blending!\n\nSee the readme for information on creating custom texture blend shaders.", MessageType.Warning);
            }

            if (meshAttributes != null)
            {
                int prevSelectedAttributeIndex = selectedAttributeIndex;
                selectedAttributeIndex = z_SplatWeightEditor.OnInspectorGUI(selectedAttributeIndex, ref brushColor, meshAttributes);
                if (prevSelectedAttributeIndex != selectedAttributeIndex)
                {
                    SetBrushColorWithAttributeIndex(selectedAttributeIndex);
                }

#if POLYBRUSH_DEBUG
                GUILayout.BeginHorizontal();

                GUILayout.FlexibleSpace();

                if (GUILayout.Button("MetaData", EditorStyles.miniButton))
                {
                    Debug.Log(meshAttributes.ToString("\n"));

                    string str = z_EditorUtility.FindPolybrushMetaDataForShader(meshAttributesContainer.shader);

                    if (!string.IsNullOrEmpty(str))
                    {
                        TextAsset asset = AssetDatabase.LoadAssetAtPath <TextAsset>(str);

                        if (asset != null)
                        {
                            EditorGUIUtility.PingObject(asset);
                        }
                        else
                        {
                            Debug.LogWarning("No MetaData found for Shader \"" + meshAttributesContainer.shader.name + "\"");
                        }
                    }
                    else
                    {
                        Debug.LogWarning("No MetaData found for Shader \"" + meshAttributesContainer.shader.name + "\"");
                    }
                }

                GUILayout.EndHorizontal();

                GUILayout.Space(4);

                if (GUILayout.Button("rebuild  targets"))
                {
                    RebuildColorTargets(brushColor, brushSettings.strength);
                }


                GUILayout.Label(brushColor != null ? brushColor.ToString() : "brush color: null\n");
#endif
            }
        }
		/// 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.Label("Paint Settings", z_GUI.headerTextStyle);

			GUILayout.BeginHorizontal();
			GUILayout.FlexibleSpace();
			paintMode = (z_PaintMode) GUILayout.Toolbar( (int) paintMode, modeIcons, "Command", null);
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();

			GUILayout.Space(4);

			// GUILayout.Label( brushColor.ToString() );
			// GUILayout.Label( meshAttributes.ToString("\n"));
			// GUILayout.Space(4);
			
			if(!likelySupportsTextureBlending)
				EditorGUILayout.HelpBox("It doesn't look like any of the materials on this object support texture blending!\n\nSee the readme for information on creating custom texture blend shaders.", MessageType.Warning);
			else
				brushColor = z_SplatWeightEditor.OnInspectorGUI(brushColor, textures);

		}
		/// 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.Label("Paint Settings", z_GUI.headerTextStyle);

			GUILayout.BeginHorizontal();
			GUILayout.FlexibleSpace();
			paintMode = (z_PaintMode) GUILayout.Toolbar( (int) paintMode, modeIcons, "Command", null);
			GUILayout.FlexibleSpace();
			GUILayout.EndHorizontal();

			GUILayout.Space(4);

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

			brushColor = EditorGUILayout.ColorField("Brush Color", brushColor);

			if(colorPalette == null)
				RefreshAvailablePalettes();

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

			Rect r = GUILayoutUtility.GetLastRect();
			if(Event.current.type == EventType.MouseDown && r.Contains(Event.current.mousePosition))
				EditorGUIUtility.PingObject(colorPalette);

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

			GUILayout.BeginVertical( paletteStyle );
				colorPaletteEditor.OnInspectorGUI();
			GUILayout.EndHorizontal();
		}