using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement; [InitializeOnLoad] class SceneReloader : AssetPostprocessor { private static bool isReload = false; static SceneReloader(){ EditorApplication.update += Update; } private static void Update(){ if(isReload){ isReload = false; EditorSceneManager.OpenScene(EditorSceneManager.GetActiveScene().path); } } // 反応しない // static void OnPreprocessAsset(){ // isReload = true; // Debug.Log("PreprocessAsset"); // } static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths){ // 暫定対応 // Assetインポート->Scene更新確認Dialog->更新になるので途中での保存には対処出来ない foreach(var importedAsset in importedAssets){ if(importedAsset.Contains(".unity")){ isReload = true; } } } }