UpdatableData.cs 525 B

12345678910111213141516171819202122232425
  1. using UnityEditor;
  2. using UnityEngine;
  3. public class UpdatableData : ScriptableObject
  4. {
  5. public event System.Action OnValuesUpdated;
  6. public bool autoUpdate;
  7. protected virtual void OnValidate()
  8. {
  9. if (autoUpdate)
  10. {
  11. EditorApplication.update += NotifyOfUpdatedValues;
  12. }
  13. }
  14. public void NotifyOfUpdatedValues()
  15. {
  16. EditorApplication.update -= NotifyOfUpdatedValues;
  17. if (OnValuesUpdated != null)
  18. {
  19. OnValuesUpdated();
  20. }
  21. }
  22. }