From aa8d381cd3265b8b99d27afc33c35f5779f39484 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 25 Apr 2021 19:09:43 +0800 Subject: -example --- Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs | 158 --------------------- 1 file changed, 158 deletions(-) delete mode 100644 Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs (limited to 'Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs') diff --git a/Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs b/Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs deleted file mode 100644 index a89eb2c..0000000 --- a/Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using System; -using System.IO; -using System.Reflection; - -[CustomEditor(typeof(Readme))] -[InitializeOnLoad] -public class ReadmeEditor : Editor { - - static string kShowedReadmeSessionStateName = "ReadmeEditor.showedReadme"; - - static float kSpace = 16f; - - static ReadmeEditor() - { - EditorApplication.delayCall += SelectReadmeAutomatically; - } - - static void SelectReadmeAutomatically() - { - if (!SessionState.GetBool(kShowedReadmeSessionStateName, false )) - { - var readme = SelectReadme(); - SessionState.SetBool(kShowedReadmeSessionStateName, true); - - if (readme && !readme.loadedLayout) - { - LoadLayout(); - readme.loadedLayout = true; - } - } - } - - static void LoadLayout() - { - var assembly = typeof(EditorApplication).Assembly; - var windowLayoutType = assembly.GetType("UnityEditor.WindowLayout", true); - var method = windowLayoutType.GetMethod("LoadWindowLayout", BindingFlags.Public | BindingFlags.Static); - method.Invoke(null, new object[]{Path.Combine(Application.dataPath, "TutorialInfo/Layout.wlt"), false}); - } - - [MenuItem("Tutorial/Show Tutorial Instructions")] - static Readme SelectReadme() - { - var ids = AssetDatabase.FindAssets("Readme t:Readme"); - if (ids.Length == 1) - { - var readmeObject = AssetDatabase.LoadMainAssetAtPath(AssetDatabase.GUIDToAssetPath(ids[0])); - - Selection.objects = new UnityEngine.Object[]{readmeObject}; - - return (Readme)readmeObject; - } - else - { - Debug.Log("Couldn't find a readme"); - return null; - } - } - - protected override void OnHeaderGUI() - { - var readme = (Readme)target; - Init(); - - var iconWidth = Mathf.Min(EditorGUIUtility.currentViewWidth/3f - 20f, 128f); - - GUILayout.BeginHorizontal("In BigTitle"); - { - GUILayout.Label(readme.icon, GUILayout.Width(iconWidth), GUILayout.Height(iconWidth)); - GUILayout.Label(readme.title, TitleStyle); - } - GUILayout.EndHorizontal(); - } - - public override void OnInspectorGUI() - { - var readme = (Readme)target; - Init(); - - foreach (var section in readme.sections) - { - if (!string.IsNullOrEmpty(section.heading)) - { - GUILayout.Label(section.heading, HeadingStyle); - } - if (!string.IsNullOrEmpty(section.text)) - { - GUILayout.Label(section.text, BodyStyle); - } - if (!string.IsNullOrEmpty(section.linkText)) - { - if (LinkLabel(new GUIContent(section.linkText))) - { - Application.OpenURL(section.url); - } - } - GUILayout.Space(kSpace); - } - } - - - bool m_Initialized; - - GUIStyle LinkStyle { get { return m_LinkStyle; } } - [SerializeField] GUIStyle m_LinkStyle; - - GUIStyle TitleStyle { get { return m_TitleStyle; } } - [SerializeField] GUIStyle m_TitleStyle; - - GUIStyle HeadingStyle { get { return m_HeadingStyle; } } - [SerializeField] GUIStyle m_HeadingStyle; - - GUIStyle BodyStyle { get { return m_BodyStyle; } } - [SerializeField] GUIStyle m_BodyStyle; - - void Init() - { - if (m_Initialized) - return; - m_BodyStyle = new GUIStyle(EditorStyles.label); - m_BodyStyle.wordWrap = true; - m_BodyStyle.fontSize = 14; - - m_TitleStyle = new GUIStyle(m_BodyStyle); - m_TitleStyle.fontSize = 26; - - m_HeadingStyle = new GUIStyle(m_BodyStyle); - m_HeadingStyle.fontSize = 18 ; - - m_LinkStyle = new GUIStyle(m_BodyStyle); - m_LinkStyle.wordWrap = false; - // Match selection color which works nicely for both light and dark skins - m_LinkStyle.normal.textColor = new Color (0x00/255f, 0x78/255f, 0xDA/255f, 1f); - m_LinkStyle.stretchWidth = false; - - m_Initialized = true; - } - - bool LinkLabel (GUIContent label, params GUILayoutOption[] options) - { - var position = GUILayoutUtility.GetRect(label, LinkStyle, options); - - Handles.BeginGUI (); - Handles.color = LinkStyle.normal.textColor; - Handles.DrawLine (new Vector3(position.xMin, position.yMax), new Vector3(position.xMax, position.yMax)); - Handles.color = Color.white; - Handles.EndGUI (); - - EditorGUIUtility.AddCursorRect (position, MouseCursor.Link); - - return GUI.Button (position, label, LinkStyle); - } -} - -- cgit v1.1-26-g67d0