private static InspectorPreferences GetDefaultPreferencesEditorMode() { var guids = AssetDatabase.FindAssets("t:InspectorPreferences"); int found = guids.Length; if (found > 0) { string path; for (int n = found - 1; n >= 0; n--) { path = AssetDatabase.GUIDToAssetPath(guids[n]); if (path.IndexOf("editor", StringComparison.OrdinalIgnoreCase) != -1) { fallbackPreferences = AssetDatabase.LoadAssetAtPath <InspectorPreferences>(path); if (fallbackPreferences != null) { #if DEV_MODE && DEBUG_GET Debug.Log("GetDefaultPreferencesEditorMode returning asset @ " + path + ": " + StringUtils.TypeToString(fallbackPreferences)); #endif if (!fallbackPreferences.setupDone) { if (Event.current != null) { #if DEV_MODE && DEBUG_GET Debug.Log("Calling fallbackPreferences.Setup()"); #endif fallbackPreferences.Setup(); } #if DEV_MODE else { Debug.LogWarning("Could not run InspectorPreferences.Setup because Event.current was null!"); } #endif } return(fallbackPreferences); } } } } #if DEV_MODE else { Debug.LogWarning("GetDefaultPreferencesEditorMode found 0 results with AssetDatabase.FindAssets(\"t:InspectorPreferences\")"); } #endif return(null); }
/// <returns> True if should stop receiving OnGUIEvents. </returns> private static bool OnGUIStatic() { if (preferences == null) { #if UNITY_EDITOR if (EditorApplication.isCompiling) { #if DEV_MODE Debug.Log("OnGUIEventHelper - waiting before fetching preferences asset because still compiling scripts..."); #endif return(false); } if (EditorApplication.isUpdating) { #if DEV_MODE Debug.Log("OnGUIEventHelper - waiting before fetching preferences asset because still updating asset database..."); #endif return(false); } #endif try { preferences = InspectorUtility.Preferences; } #if DEV_MODE catch (NullReferenceException e) { Debug.LogWarning("OnGUIEventHelper.OnGUI failed to fetch preferences asset. " + e); #else catch (NullReferenceException) { #endif return(false); } if (preferences == null) { #if DEV_MODE Debug.LogWarning("OnGUIEventHelper.OnGUI failed to find preferences asset."); #endif return(false); } } preferences.Setup(); #if DEV_MODE && DEBUG_IS_STILL_NEEDED Debug.Log(StringUtils.ToColorizedString("EnsureOnGUICallbacks calling BeginOnGUI with isStillNeeded: " + isStillNeeded.Count + ", Event: ", Event.current)); #endif DrawGUI.BeginOnGUI(preferences, true); if (Event.current.type == EventType.Layout) { InspectorManager.Instance().OnLayout(); for (int n = isStillNeeded.Count - 1; n >= 0; n--) { if (isStillNeeded[n]()) { return(false); } } #if DEV_MODE && DEBUG_ENABLED Debug.Log("EnsureOnGUICallbacks closing because all " + isStillNeeded.Count + " isStillNeeded returned false"); #endif return(true); } return(false); }
public static InspectorPreferences GetDefaultPreferences() { if (fallbackPreferences != null) { return(fallbackPreferences); } #if UNITY_EDITOR if (Platform.EditorMode) { fallbackPreferences = GetDefaultPreferencesEditorMode(); if (fallbackPreferences != null) { #if DEV_MODE && DEBUG_GET Debug.Log("GetDefaultPreferences returning result of GetDefaultPreferencesEditorMode: " + StringUtils.TypeToString(fallbackPreferences)); #endif if (!fallbackPreferences.setupDone) { if (Event.current != null) { #if DEV_MODE && DEBUG_GET Debug.Log("Calling fallbackPreferences.Setup()"); #endif fallbackPreferences.Setup(); } #if DEV_MODE else { Debug.LogWarning("Could not run InspectorPreferences.Setup because Event.current was null!"); } #endif } return(fallbackPreferences); } #if DEV_MODE Debug.LogWarning("GetDefaultPreferencesEditorMode returned null"); #endif } #if DEV_MODE else { Debug.LogWarning("!Platform.EditorMode"); } #endif #endif var findAll = Resources.FindObjectsOfTypeAll <InspectorPreferences>(); for (int n = findAll.Length - 1; n >= 0; n--) { fallbackPreferences = findAll[n]; if (fallbackPreferences != null) { #if DEV_MODE Debug.Log("GetDefaultPreferences returning FindObjectsOfTypeAll result #" + n + ": " + StringUtils.TypeToString(fallbackPreferences)); #endif if (!fallbackPreferences.setupDone) { if (Event.current != null) { fallbackPreferences.Setup(); } #if DEV_MODE else { Debug.LogWarning("Could not run InspectorPreferences.Setup because Event.current was null!"); } #endif } return(fallbackPreferences); } } #if DEV_MODE Debug.LogWarning("FindObjectsOfTypeAll could not find non-null InspectorPreferences. FindObjectsOfTypeAll returned " + findAll.Length + " results."); #endif fallbackPreferences = Resources.Load <InspectorPreferences>("RuntimePowerInspectorPreferences"); if (fallbackPreferences != null) { if (!fallbackPreferences.setupDone) { if (Event.current != null) { fallbackPreferences.Setup(); } #if DEV_MODE else { Debug.LogWarning("Could not run InspectorPreferences.Setup because Event.current was null!"); } #endif } return(fallbackPreferences); } #if UNITY_EDITOR if (!Platform.EditorMode) { fallbackPreferences = GetDefaultPreferencesEditorMode(); if (fallbackPreferences != null) { return(fallbackPreferences); } } #endif throw new NullReferenceException("Failed to find default InspectorPreferences with Platform.EditorMode=" + Platform.EditorMode + "!"); }