【Unity学习日记02】Inspector窗口可编辑变量

Inspector窗口可编辑变量

Inspector显示的可编辑内容就是脚本的成员变量,我们可以通过特性来对这部分内容进行编辑。特性指的是Unity利用反射时额外获取到的信息。

1 公共变量的显示与不显示

公共变量默认可以显示在Inspector窗口内供使用者直接编辑,但如果在变量前面加上【HideInInspector】特性就不会显示。

public class Test : MonoBehaviour{
    
    
    [HideInInspector]
    public int publicInt;
}

2 私有和保护变量的显示与不显示

私有和保护变量默认不能显示在Inspector窗口内供使用者直接编辑,但如果在变量前面加上【SerializeField】特性就可以显示。

public class Test : MonoBehaviour{
    
    
    [SerializeField]
    private int privateInt;
    [SerializeField]
    protected string protectedStr;
}

3 小部分不能显示的类型

字典

public class Test : MonoBehaviour{
    
    
	public Dictionary<int,string> dict;
}

自定义类型

public struct MyStruct{
    
    
	public int age;
	public int sex;
}
public class MyClass{
    
    
	public int age;
	public int sex;
}
public class Test : MonoBehaviour{
    
    
	public int MyStruct myStruct;
	public int MyClass myClass;
}

4 让自定义类型可以被访问

[SerializeField]
public struct MyStruct{
    
    
	public int age;
	public int sex;
}
[SerializeField]
public class MyClass{
    
    
	public int age;
	public int sex;
}
public class Test : MonoBehaviour{
    
    
	public int MyStruct myStruct;
	public int MyClass myClass;
}

5 辅助特性

1 分组说明Header

public class Test : MonoBehaviour{
    
    
    [Header("基础属性")]
    public int age;
    public int name;

    [Header("战斗属性")]
    public int attack;
    public int health;
}

Header
2 悬停注释Tooltip

鼠标悬停可以看到注释。

public class Test : MonoBehaviour{
    
    
    [Tooltip("攻击力")]
    public int attack;
}

Tooltip
3 修饰数值的滑条范围Range

public class Test : MonoBehaviour{
    
    
    [Range(0,10)]
    public int attack;
}

Range
4 字符串显示

多行显示字符串

public class Test : MonoBehaviour{
    
    
	[Multiline(4)]
	public string tips;
}

滚动条显示字符串

public class Test : MonoBehaviour{
    
    
	[TestArea(3,4)]  //最少3,最多4,更多则滚动条
	public string tips;
}

5 为变量添加快捷方法ContextMenuItem

鼠标右键快捷方法。

public class Test : MonoBehaviour{
    
    
    [ContextMenuItem("重置攻击力","ChangeAttack")]
    public int attack;
    private void ChangeAttack() {
    
    
        attack = 100;
    }
}

ContextMenuItem

猜你喜欢

转载自blog.csdn.net/manpi/article/details/129990468