campfire/Assets/Scripts/AssetModificationProcessor.cs

30 lines
841 B
C#

using UnityEditor;
using UnityEngine;
#if UNITY_EDITOR
public class FGAssetModificationProcessor : UnityEditor.AssetModificationProcessor {
static string[] OnWillSaveAssets(string[] paths) {
foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Generator")) {
Lorax Lorax = obj.GetComponent<Lorax>();
Lorax.DestroyGenerated();
}
EditorApplication.update += RefreshScene;
return paths;
}
static void RefreshScene() {
EditorApplication.update -= RefreshScene;
foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Generator")) {
Lorax Lorax = obj.GetComponent<Lorax>();
if (Lorax.ShowInEditor) {
Lorax.DestroyGenerated();
Lorax.Generate();
}
}
}
}
#endif