[System.Serializable]
序列化(把一个类的信息转换为一个二进制让其在面板显示)
public class MonsterWave
{
[Header("波次之间的时间间隔")]
public float waveInterval;
[Header("怪物之间的时间间隔")]
public float monsterInterval;
[Header("怪物个数")]
public int monsterCount;
[Header("怪物预设体")]
public GameObject monsterPrefab;
[Header("怪物血量")]
public float monsterHP;
[Header("怪物移动速度")]
public float monsterNavSpeed;
}
正常的
[System.Serializable]
[System.Serializable]
public class MonsterWave
{
[Header("波次之间的时间间隔")]
public float waveInterval;
[Header("怪物之间的时间间隔")]
public float monsterInterval;
[Header("怪物个数")]
public int monsterCount;
[Header("怪物预设体")]
public GameObject monsterPrefab;
[Header("怪物血量")]
public float monsterHP;
[Header("怪物移动速度")]
public float monsterNavSpeed;
}
[Header]
在Inspector面板上加上一段描述
[SerializeField]
将Private变量可视化(在Inspector面板上显示)
[Random.Range(min,Max)]
限制数值并提供一个滑条可以任意滑动值
[HideInInspector]
使该属性在Inspector面板上隐藏
[RequireComponent]
用法:[RequireComponent(typeof(Rigidbody))]
解释:挂在该脚本的游戏对象会自动添加刚体组件
[CreateAssetMenu]
注意:该脚本不能继承MonoBehaviour,必须继承ScriptableObject
[CreateAssetMenu(fileName = "执行的代码类名", menuName = "创建路径")]
介绍:在Project的面板中,右键会多出一个新的创建像,菜单名为menuName,并执行的脚本为fileName
[AddComponentMenu]
用法:[AddComponentMenu("路径/名字")]
介绍:在Inspector面板点击Add Component会出现一个该代码的快捷创建方式
[HelpURL]
用法:[HelpURL(“网址,这里前缀必须加上http://”)]
介绍:在Inspector面板上点击代码右上角的📕会直接跳转到提前设置好的网页中
[Space]
用法:[Space("间隔数")]
介绍:在Inspector面板上看当前变量跟下行变量相隔上方设置好的间隔数
更多方法:Unity常用[xxx]用法 特性