Unity编辑器的Inspector面板中,实现中文标签。

使用自定义属性(实现中文标签)

步骤1:创建 ChineseLabelAttribute.cs

这段代码定义了一个新的特性(Attribute)​,名为 ChineseLabelAttribute。它的主要作用是:

  • 标记与存储​:当你希望一个字段在Unity检视器中显示中文名称时,可以用 [ChineseLabel("中文名称")]来标记这个字段。这个特性类会存储你提供的中文文本
  • 元数据附加​:它继承自Unity的 PropertyAttribute,这意味着它可以作为元数据附加到脚本的字段上,用于向Unity编辑器提供额外的信息,但本身并不改变字段的绘制方式 。

步骤2:创建 ChineseLabelDrawer.cs(放在Editor文件夹)

这段代码是一个自定义绘制器(PropertyDrawer)​,它负责如何绘制ChineseLabelAttribute标记的字段。

  • 重写绘制逻辑​:它继承自 PropertyDrawer并重写 OnGUI方法。这个方法决定了属性在检视器中的实际显示样子。
  • 替换显示标签​:在 OnGUI方法中,它获取字段上 ChineseLabelAttribute中存储的中文标签,然后用这个中文文本替换掉原本默认的英文变量名,最后调用 EditorGUI.PropertyField来绘制这个字段 。
  • 编辑器脚本要求​:​必须将此类放在项目的 ​Editor​ 文件夹下(例如 Assets/Editor/ChineseLabelDrawer.cs),否则Unity无法正确识别和编译它。

上一篇
下一篇