[System.Serializable] 可以让结构体显示在面板上
[Header("属性描述,可以在面板上查看")]
[Tooltip("同样是描述,但是需要鼠标放置在上面才会显示")]
[Range(min,max)]将float类型的大小限制在此范围内,面板上会出现滑竿,不需要手动输入
[SerializeField]将私有的变量显示在面板上
[HideInInspector]将公开的变量隐藏,不让变量显示在面板上
[TextArea]将string类型以TextArea的形式显示在面板上
举个栗子
常用的一些面板方法,保存一下
如果需要在面板上显示可以点击的按钮,则需要对OnInspectorGUI这个方法进行重写,这个方法是在Editor下,需要新建一个脚本对Editor进行继承,上代码
using UnityEditor;
using UnityEngine;
//指定对那个脚本进行拓展
[CustomEditor(typeof(ConfigUtil))]
public class ConfigEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
//拿到拓展的类 调用内部公开的方法
ConfigUtil config = (ConfigUtil)target;
if (GUILayout.Button("运行时点击,保存配置文件"))
{
config.SaveConfig();
}
if (GUILayout.Button("打开配置文件夹"))
{
config.OpenConfigDir();
}
}
}
效果如下图: