Unity⾃定义属性⾯板字段名称效果
想要更炫的效果可以参考官⽅的⽂档。
⽤PropertyDrawer⾃定义Inspector⾯板显⽰
代码
新建FieldNameAttribute.cs⽂件
using UnityEngine;
namespace Editor
{
/// <summary>
/// 字段名称标签
/// ⾃定义 inspector 字段名称
/// </summary>
public class FieldNameAttribute : PropertyAttribute
{
/
// <summary>
/// 名称
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 字段名称
/// </summary>
/// <param name="name">名称</param>
public FieldNameAttribute(string name)
{
Name = name;
}
}
}
新建FieldNameAttributeDrawer.cs⽂件
using UnityEditor;
using UnityEngine;
namespace Editor
{
/// <summary>
/// 字段名称属性抽屉
/// </summary>
[CustomPropertyDrawer(typeof(FieldNameAttribute))]
public class FieldNameAttributeDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.PropertyField(position, property, new GUIContent((attribute as FieldNameAttribute).Name)); }
}
}
引⽤
为⽅便引⽤,在Editor⽂件夹中,新建名为Editor的Assembly Definition ⽂件。
在根⽬录下新建名为Farewell的Assembly Definition ⽂件。
使⽤
引⽤Editor命名空间,在对应的字段上添加标签
using Editor;
using UnityEngine;
namespace Player
{
public class ActorController : MonoBehaviour {
[FieldName("移动速度")]
param namepublic float moveSpeed = 1.3f;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论