1. 程式人生 > >Unity3D編輯器擴充套件——EditorWindow生命週期

Unity3D編輯器擴充套件——EditorWindow生命週期

整理了一下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("當銷燬的時候呼叫");
    }

}