目的:为了在团队开发中,方便非程序开发者的交流与工作。
步骤:
1.新建一个属性描述类(核心)
using System;
using UnityEditor;
using UnityEngine;
/// <summary>
/// 能让字段在inspector面板显示中文字符
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public class FieldLabelAttribute : PropertyAttribute
{
public string label;//要显示的字符
public FieldLabelAttribute(string label)
{
this.label = label;
}
}
//绑定特性描述类
[CustomPropertyDrawer(typeof(FieldLabelAttribute))]
public class FieldLabelDrawer : PropertyDrawer
{
private FieldLabelAttribute FieldLabelAttribute
{
get { return (FieldLabelAttribute)attribute; }
}
/// <summary>
/// 重写OnGui方法
/// </summary>
/// <param name="position"></param>
/// <param name="property"></param>
/// <param name="label"></param>
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
//在这里重新绘制
EditorGUI.PropertyField(position, property, new GUIContent(FieldLabelAttribute.label), true);
}
}
2.写一个测试类定义几个变量查看显示效果
public class Test_01 : MonoBehaviour
{
[FieldLabel("姓名")]
public string name;
[FieldLabel("年龄")]
public int age;
}
3.效果图