/// <inheritdoc/> public override void OnProjectOrHierarchyChanged(OnChangedEventSubject changed) { if (Preferences == null) { Preferences = GetPreferences(); } UpdateDrawPreviewArea(); base.OnProjectOrHierarchyChanged(changed); }
/// <inheritdoc/> public override void OnProjectOrHierarchyChanged(OnChangedEventSubject changed) { if (Preferences == null) { Preferences = GetPreferences(); } base.OnProjectOrHierarchyChanged(changed); if (previewDrawer != null && State.drawers != null) { previewDrawer.OnProjectOrHierarchyChanged(); UpdateDrawPreviewArea(); } }
/// <inheritdoc/> public void OnProjectOrHierarchyChanged(OnChangedEventSubject changed, ref bool hasNullReferences) { if (changed != OnChangedEventSubject.Project && changed != OnChangedEventSubject.Undefined) { return; } for (int n = targets.Length - 1; n >= 0; n--) { var target = targets[n]; if (target == null) { if (UnityObjectExtensions.TryToFixNull(ref target)) { #if DEV_MODE Debug.LogWarning(ToString() + ".OnHierarchyChanged fixed targets[" + n + "] (\"" + target.name + "\") being null."); #endif continue; } #if DEV_MODE Debug.Log(ToString() + ".OnHierarchyChanged targets[" + n + "] was null and could not be fixed."); #endif hasNullReferences = true; } } #if UNITY_EDITOR if (editor != null && Editors.DisposeIfInvalid(ref editor)) { hasNullReferences = true; // set to true so that drawers get rebuilt, in case e.g. asset paths have changed. } if (assetEditor != null && Editors.DisposeIfInvalid(ref assetEditor)) { hasNullReferences = true; // set to true so that drawers get rebuilt, in case e.g. asset paths have changed. } #endif FetchAssetEditor(); UpdateEditor(); }
public void OnProjectOrHierarchyChanged(OnChangedEventSubject changed) { #if !POWER_INSPECTOR_LITE selectionHistory.RemoveUnloadedAndInvalidTargets(); #endif }