Inspector属性面板中[HideInInspector]、ExecuteInEditMode等属性介绍

来源:互联网 发布:香港第一美女是谁知乎 编辑:程序博客网 时间:2024/05/16 11:46

[HideInInspector]:表示将原本显示在面板上的序列化值隐藏起来。
C#的Public是公开的,当被其他物体或者代码获取的时候一样可以取得这个值,说白了目的就是不让编辑器去修改这个值,而是在代码过程中去改变,并且可以在代码中获取到值。
[SerializeField]:表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值的值。
1如果a是公有的序列化变量。
1.1如果你想要在面板中看到a,那么用:
public int a;1.2如果你不想在面板中看到a,那么用:
[HideInInspector]
public int a; // 这样a可以在程序中被代码赋值,但不会在面板中看到并手动设置赋值。
2 如果a是私有的序列化变量,你想在面板中读取并保存,那么用:
[SerializeField]
private int a;
3.如果a是私有的序列化变量,你想在面板中读取,但是不保存,那么用:
[HideInInspector]
[SerializedField]
private int a;
public int b { get{ return a; } }
然后在Editor中显示,EditorGUILayout.LabelField(“value”,game.B.ToString());
4如果a是私有序列化变量,你不想在面板中做任何操作(不想看到,也不想写),但是想要在程序中给它赋值,那么用。
[HideInInspector]
[SerializedField]
private int a;
public int b{ get { return a; } set { a = value; } }
ExecuteInEditMode:在辑模式运行
使一个脚本在编辑模式下运行。
默认情况下脚本只有在运行模式下执行。通过添加这个属性,每一个脚本实力将总是有它的Update, FixedUpdate, 和 OnGUI方法每一帧执行当编辑器运行的时候。
编辑环境中该功能(类)生效,简单讲就是。不运行游戏。就可你让你的功能起作用。

0 0