目录
前言
本篇笔记用于记录唐老狮视频课程的学习心得。
Inspector窗口在Unity工作中占据了一个非常重要的地位,这篇笔记主要用来记录这个窗口与变量相关的内容与知识。
除了Unity软件本身运用的c#的反射原理,我们要在Inspector窗口中查看与编辑变量还运用到了c#中关于特性的知识。
在Inspector窗口中修改的意义,我认为主要是更加方便的修改和保存变量,利于我们调试项目。
修饰符对显示的影响
首先,在正常情况下,我们不使用任何特性,那么只有修饰符是public的成员变量可以被显示,用private和protected修饰的变量都不能被显示。如果你使用任何修饰符,那么默认会使用private修饰,所以也不能被显示。
public class Study : MonoBehaviour
{
int commonInt = 1;
public int publicInt = 2;
private int privateInt = 3;
protected int protectedInt = 4;
}
上面我创建了一个Study的脚本,代码是里面的主要内容,并且挂载到了一个GameObject上,下图是在Untiy里面的显示效果。
可以很清楚的看到,只有publicInt,也就是加了public修饰符的成员变量被显示了。
显示私有和被保护对象
对于使用了private和protected修饰符的成员变量,我们还可以使用特性[serializeField]来让它们在Inspector中显示出来。
public class Study : MonoBehaviour
{
[SerializeField]
int commonInt = 1;
public int publicInt = 2;
[SerializeField]
private int privateInt = 3;
[SerializeField]
protected int protectedInt = 4;
}
我们在变量前面加上这个特性就可以让它们显示出来啦,如下图所示。
隐藏公共对象
不想让公共对象被显示出来,我们可以使用特性[HideInInspector]来隐藏我们的公共对象。
public class Study : MonoBehaviour
{
[SerializeField]
int commonInt = 1;
[HideInInspector]
public int publicInt = 2;
[SerializeField]
private int privateInt = 3;
[SerializeField]
protected int protectedInt = 4;
}
在public前面加上了这个特性,效果如下图所示。