[SerializeField]
在Inspector版面中顯示非public
屬性,並且序列化;若寫在public
前面,等於沒寫,例子:
[NonSerializeField]
在Inspector面板中隱藏public屬性,並且序列化;如果寫在非public屬性前面等於沒寫。
[HideInInspector]
在Inspector面板中隱藏public屬性,與上面相比,只是隱藏,沒有序列不序列化的功能
[AddComponentMenu("XXX/XX/XXX")]
讓Component菜單下出現你自定義的類,位置是”XXX/XX/XXX”,
[ExecuteInEditMode]
在編輯界面讓你的功能(類)起作用,就是你不用點開始,就可讓你功能起作用,打個比方,NGUI裏面的滑動條
[RequireComponent(typeof(ClassName))]
就是在你把被這句話標記的類拖到(或者AddComponent)GameObject上時,自動再給你加上”ClassName”這個類
[ContextMenu("XXX")]
在Inspector面板中,右擊包含這條標記的類,在菜單中會出現名爲”XXX”的選項,點擊選項,會執行被標記的功能(PS:此乃標記功能,非標記類)
[MenuItem("XXX/XXX")]
在菜單欄中出現選項欄,點一下,執行對應功能,注意:對應的功能也必須是static,同時,使用的時候需要加上using UnityEditor,這個類也要找個Editor文件夾放(一般放”Assets\Editor”)
控制菜單的優先順序
優先級是被賦值到菜單項的一個數字(傳遞給MenuItem的第三個參數),它控制了菜單的顯示順序。
菜單項也能夠自動分組,每五十個一個組