From 4aea552456e4f1ef95f2fe58e19f121cb2c195a0 Mon Sep 17 00:00:00 2001 From: desktop-maesty/steve Date: Sat, 5 Oct 2019 16:10:15 +1000 Subject: [PATCH] EditorResources and Changelog locators more verbose logs on failure ChangeLog searches from Unity project root, not just within Assets folder --- .../Scripts/Editor/FungusEditorPreferences.cs | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/Assets/Fungus/Scripts/Editor/FungusEditorPreferences.cs b/Assets/Fungus/Scripts/Editor/FungusEditorPreferences.cs index d6402ceb..3dc30af3 100644 --- a/Assets/Fungus/Scripts/Editor/FungusEditorPreferences.cs +++ b/Assets/Fungus/Scripts/Editor/FungusEditorPreferences.cs @@ -1,6 +1,6 @@ -using UnityEngine; +using System.Linq; using UnityEditor; -using UnityEditor.Callbacks; +using UnityEngine; namespace Fungus { @@ -16,8 +16,8 @@ namespace Fungus { // Have we loaded the prefs yet private static bool prefsLoaded = false; - const string HIDE_MUSH_KEY = "hideMushroomInHierarchy"; - const string USE_LEGACY_MENUS = "useLegacyMenus"; + private const string HIDE_MUSH_KEY = "hideMushroomInHierarchy"; + private const string USE_LEGACY_MENUS = "useLegacyMenus"; public static bool hideMushroomInHierarchy; public static bool useLegacyMenus; @@ -49,7 +49,7 @@ namespace Fungus EditorGUILayout.Space(); //ideally if any are null, but typically it is all or nothing that have broken links due to version changes or moving files external to Unity - if(FungusEditorResources.Add == null) + if (FungusEditorResources.Add == null) { EditorGUILayout.HelpBox("FungusEditorResources need to be regenerated!", MessageType.Error); } @@ -63,12 +63,32 @@ namespace Fungus var asset = AssetDatabase.LoadAssetAtPath(p); Selection.activeObject = asset; } + else + { + Debug.LogError("No FungusEditorResources found!"); + } } - if(GUILayout.Button("Open Changelog (version info)")) + if (GUILayout.Button("Open Changelog (version info)")) { - var fileMacthes = System.IO.Directory.GetFiles(Application.dataPath, "Fungus\\Docs\\CHANGELOG.txt", System.IO.SearchOption.AllDirectories); - Application.OpenURL(fileMacthes[0]); + //From project path down, look for our Fungus\Docs\ChangeLog.txt + var projectPath = System.IO.Directory.GetParent(Application.dataPath); + var fileMacthes = System.IO.Directory.GetFiles(projectPath.FullName, "CHANGELOG.txt", System.IO.SearchOption.AllDirectories); + + fileMacthes = fileMacthes.Where((x) => + { + var fileFolder = System.IO.Directory.GetParent(x); + return fileFolder.Name == "Docs" && fileFolder.Parent.Name == "Fungus"; + }).ToArray(); + + if (fileMacthes == null || fileMacthes.Length == 0) + { + Debug.LogWarning("Cannot locate Fungus\\Docs\\CHANGELONG.txt"); + } + else + { + Application.OpenURL(fileMacthes[0]); + } } // Save the preferences