InitializeOnLoad 屬性應用的對象是 靜態構造函數,它能夠保證在編輯器啓動的時候調用此函數。根據這個特性,能夠在編輯器中設置按期的回調(幀更新),來實現相似watchFile的功能。這裏藉助了EditorApplication類中的 update 委託,在編輯器運行時,它將每秒調用屢次。html
using UnityEditor; using UnityEngine; [InitializeOnLoad] class MyClass { static string strFilePath; static DateTime lastModifyTime; static MyClass () { EditorApplication.update += Update; } static void Update () { DateTime time = File.GetLastWriteTime(strFilePath); if (lastModifyTime == time) return; lastModifyTime = time; // todo... } }
參考:http://docs.manew.com/Manual/RunningEditorCodeOnLaunch.html編輯器