78 lines
2.6 KiB
C#
Executable File
78 lines
2.6 KiB
C#
Executable File
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
using System.Collections.Generic;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace WeChatWASM.MDV
|
|
{
|
|
public static class Preferences
|
|
{
|
|
private static readonly string KeyJIRA = "MG/MDV/JIRA";
|
|
private static readonly string KeyHTML = "MG/MDV/HTML";
|
|
private static readonly string KeyDarkSkin = "MG/MDV/DarkSkin";
|
|
|
|
private static string mJIRA = string.Empty;
|
|
private static bool mStripHTML = true;
|
|
private static bool mPrefsLoaded = false;
|
|
private static bool mDarkSkin = EditorGUIUtility.isProSkin ;
|
|
|
|
public static string JIRA { get { LoadPrefs(); return mJIRA; } }
|
|
public static bool StripHTML { get { LoadPrefs(); return mStripHTML; } }
|
|
public static bool DarkSkin { get { LoadPrefs(); return mDarkSkin; } }
|
|
|
|
private static void LoadPrefs()
|
|
{
|
|
if( !mPrefsLoaded )
|
|
{
|
|
mJIRA = EditorPrefs.GetString( KeyJIRA, "" );
|
|
mStripHTML = EditorPrefs.GetBool( KeyHTML, true );
|
|
mDarkSkin = EditorPrefs.GetBool( KeyDarkSkin, EditorGUIUtility.isProSkin );
|
|
mPrefsLoaded = true;
|
|
}
|
|
}
|
|
|
|
#if UNITY_2019_1_OR_NEWER
|
|
|
|
public class MarkownSettings : SettingsProvider
|
|
{
|
|
public MarkownSettings( string path, SettingsScope scopes = SettingsScope.User, IEnumerable<string> keywords = null )
|
|
: base( path, scopes, keywords )
|
|
{
|
|
}
|
|
|
|
public override void OnGUI( string searchContext )
|
|
{
|
|
DrawPreferences();
|
|
}
|
|
}
|
|
|
|
[SettingsProvider]
|
|
static SettingsProvider MarkdownPreferences()
|
|
{
|
|
return new MarkownSettings( "Preferences/Markdown" );
|
|
}
|
|
#else
|
|
[PreferenceItem( "Markdown" )]
|
|
#endif
|
|
private static void DrawPreferences()
|
|
{
|
|
LoadPrefs();
|
|
|
|
EditorGUI.BeginChangeCheck();
|
|
|
|
mJIRA = EditorGUILayout.TextField( "JIRA URL", mJIRA );
|
|
mStripHTML = EditorGUILayout.Toggle( "Strip HTML", mStripHTML );
|
|
mDarkSkin = EditorGUILayout.Toggle( "Dark Skin", mDarkSkin );
|
|
|
|
EditorGUI.EndChangeCheck();
|
|
|
|
if( GUI.changed )
|
|
{
|
|
EditorPrefs.SetString( KeyJIRA, mJIRA );
|
|
EditorPrefs.SetBool( KeyHTML, mStripHTML );
|
|
}
|
|
}
|
|
}
|
|
}
|