Unity3D編輯器擴充套件——EditorWindow生命週期
阿新 • • 發佈:2018-12-13
整理了一下EditorWindow開放出來的生命週期
OnEnable():當開啟介面的時候呼叫 OnFocus():當被聚焦的時候呼叫 OnGUI():當渲染UI的時候呼叫 OnSelectionChange():當選擇發生更改時呼叫,選中的可選項(在Project和Hierarchy檢視中)
OnLostFocus():當失去焦點時呼叫
OnInspectorUpdate():當屬性介面更新時,幾乎一直在更新
OnHierarchyChange():當場景層次介面發生改變時呼叫");//在Hierarchy介面改變(增加、減少物體)
OnProjectChange():當專案發生更改時呼叫");//在Project檢視刪除、增加檔案
OnDisable():當隱藏的時候呼叫
OnDestroy():當銷燬的時候呼叫
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class DemoEditorWindow : EditorWindow { [MenuItem("CustomTools/Demo")] public static void OpenWindow() { EditorWindow.GetWindow<DemoEditorWindow>(); } private void OnEnable() { Debug.Log("當開啟介面的時候呼叫"); } private void OnInspectorUpdate() { Debug.Log("當屬性介面更新時");//幾乎一直在更新 } private void OnHierarchyChange() { Debug.Log("當場景層次介面發生改變時呼叫");//在Hierarchy介面改變(增加、減少物體) } private void OnProjectChange() { Debug.Log("當專案發生更改時呼叫");//在Project檢視刪除、增加檔案 } private void OnGUI() { Debug.Log("當渲染UI的時候呼叫"); } private void OnFocus() { Debug.Log("當被聚焦的時候呼叫"); } private void OnSelectionChange() { Debug.Log("當選擇發生更改時呼叫");//選中的可選項(在Project和Hierarchy檢視中) } private void OnLostFocus() { Debug.Log("當失去焦點時呼叫"); } private void OnDisable() { Debug.Log("當隱藏的時候呼叫"); } private void OnDestroy() { Debug.Log("當銷燬的時候呼叫"); } }