Browse Source

Merge pull request #750 from stevehalliwell/FungusEditorResourcesLocator

Fungus editor resources locator
master
Steve Halliwell 5 years ago committed by GitHub
parent
commit
8adbae80e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 52
      Assets/Fungus/Scripts/Editor/FungusEditorPreferences.cs

52
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;
@ -47,6 +47,50 @@ namespace Fungus
hideMushroomInHierarchy = EditorGUILayout.Toggle("Hide Mushroom Flowchart Icon", hideMushroomInHierarchy);
useLegacyMenus = EditorGUILayout.Toggle(new GUIContent("Legacy Menus", "Force Legacy menus for Event, Add Variable and Add Command menus"), useLegacyMenus);
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)
{
EditorGUILayout.HelpBox("FungusEditorResources need to be regenerated!", MessageType.Error);
}
if (GUILayout.Button(new GUIContent("Select Fungus Editor Resources SO", "If Fungus icons are not showing correctly you may need to reassign the references in the FungusEditorResources. Button below will locate it.")))
{
var ids = AssetDatabase.FindAssets("t:FungusEditorResources");
if (ids.Length > 0)
{
var p = AssetDatabase.GUIDToAssetPath(ids[0]);
var asset = AssetDatabase.LoadAssetAtPath<FungusEditorResources>(p);
Selection.activeObject = asset;
}
else
{
Debug.LogError("No FungusEditorResources found!");
}
}
if (GUILayout.Button("Open Changelog (version info)"))
{
//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
if (GUI.changed)
{

Loading…
Cancel
Save