今天我在覆寫 OnInspectorGUI() 時,發生了一個錯誤,錯誤訊息如下:
ShouldRunBehaviour ()
UnityEngine.Component:SendMessage(String)
EyeControlEditor:OnInspectorGUI() (at Assets/Editor/EditorScene/EyeControlEditor.cs:25)
UnityEditor.DockArea:OnGUI()

會遇到該錯誤,是因為我在 A 腳本中的 OnInspectorGUI 方法裡面,使用了 SendMessage() 去執行 B 腳本中的方法。
因為 B 腳本的屬性並沒有被設置為 [ExecuteInEditMode],所以才會出現錯誤訊息。
所以只要 B 腳本中補上 [ExecuteInEditMode] 就可以了。
不過有一點要注意,若是執行 SendMessage("Awake"); 呼叫了 Awake,就算補上了 [ExecuteInEditMode],也一樣會出現錯誤訊息唷!
詳細 [ExecuteInEditMode] 用法可看 "[ExecuteInEditMode] - 讓 Unity 在編輯模式中也能夠執行腳本"。
文章標籤
全站熱搜