77 lines
2.1 KiB
C#
77 lines
2.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using MoreMountains.Tools;
|
|
using UnityEditor;
|
|
|
|
namespace MoreMountains.Tools
|
|
{
|
|
/// <summary>
|
|
/// This class adds a MoreMountains entry in Unity's top menu, allowing to enable/disable the help texts from the engine's inspectors
|
|
/// </summary>
|
|
public static class MMMenuHelp
|
|
{
|
|
[MenuItem("Tools/More Mountains/Enable Help in Inspectors", false,0)]
|
|
/// <summary>
|
|
/// Adds a menu item to enable help
|
|
/// </summary>
|
|
private static void EnableHelpInInspectors()
|
|
{
|
|
SetHelpEnabled(true);
|
|
}
|
|
|
|
[MenuItem("Tools/More Mountains/Enable Help in Inspectors", true)]
|
|
/// <summary>
|
|
/// Conditional method to determine if the "enable help" entry should be greyed or not
|
|
/// </summary>
|
|
private static bool EnableHelpInInspectorsValidation()
|
|
{
|
|
return !HelpEnabled();
|
|
}
|
|
|
|
[MenuItem("Tools/More Mountains/Disable Help in Inspectors", false,1)]
|
|
/// <summary>
|
|
/// Adds a menu item to disable help
|
|
/// </summary>
|
|
private static void DisableHelpInInspectors()
|
|
{
|
|
SetHelpEnabled(false);
|
|
}
|
|
|
|
[MenuItem("Tools/More Mountains/Disable Help in Inspectors", true)]
|
|
/// <summary>
|
|
/// Conditional method to determine if the "disable help" entry should be greyed or not
|
|
/// </summary>
|
|
private static bool DisableHelpInInspectorsValidation()
|
|
{
|
|
return HelpEnabled();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Checks editor prefs to see if help is enabled or not
|
|
/// </summary>
|
|
/// <returns><c>true</c>, if enabled was helped, <c>false</c> otherwise.</returns>
|
|
private static bool HelpEnabled()
|
|
{
|
|
if (EditorPrefs.HasKey("MMShowHelpInInspectors"))
|
|
{
|
|
return EditorPrefs.GetBool("MMShowHelpInInspectors");
|
|
}
|
|
else
|
|
{
|
|
EditorPrefs.SetBool("MMShowHelpInInspectors",true);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sets the help enabled editor pref.
|
|
/// </summary>
|
|
/// <param name="status">If set to <c>true</c> status.</param>
|
|
private static void SetHelpEnabled(bool status)
|
|
{
|
|
EditorPrefs.SetBool("MMShowHelpInInspectors",status);
|
|
SceneView.RepaintAll();
|
|
|
|
}
|
|
}
|
|
} |