Jump to content
Sign in to follow this  
farenhai

Colorear variables en Inspector (destacar)

Recommended Posts

Buenas!

 

Una pregunta que ya me temo la respuesta porque no lo he visto nunca... ¿Existe alguna manera de COLOREAR/MARCAR variables en el inspector? Tengo mogollón en un mismo script, y aunque los nombres son bastante descriptivos de por sí, a veces se hace complicado moverse entre tanta variable...

 

Imagino que ni de coña, pero por si acaso....

 

¡Gracias!

Share this post


Link to post
Share on other sites

Creando un PropertyAttribute. Tutorial: http://www.klonk-games.com/2014/10/custom-attributes-unity3d/

He creado este PropertyAttribute que colorea el campo de la variable:

 

using UnityEngine;
using UnityEditor;
using System.Collections;

public class FieldColor : PropertyAttribute {

    public Color color;

    public FieldColor(float a,float b,float c)
    {
        this.color = new Color(a,b,c,1f);
    }



}

[CustomPropertyDrawer(typeof(FieldColor))]
public class FieldColorDrawer : DecoratorDrawer
{

    public override void OnGUI(Rect position)
    {

        FieldColor fc = (FieldColor)this.attribute;
        GUI.color = fc.color;

    }


}

 

Y el test:

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    [FieldColor(1f,0f,0f)]
    public float f1 = 1f;
    public float f2 = 3f;
    [FieldColor(0f,1f,0f)]
    public int e1 = 5;

}

 

Edited by kaito

Share this post


Link to post
Share on other sites

El Inspector de Unity permite Markup, así que puedes hacer un customEditor y, en el campo de prefix de la variable(su nombre, no su valor), lo puedes presentar en cualquier color, negrita o itálica...

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...