#region Copyright RenGuiYou. All rights reserved. //===================================================== // NeatlyFrameWork // Author: RenGuiyou // Feedback: mailto:750539605@qq.com //===================================================== #endregion using Neatly.UI; using UnityEditor; using UnityEngine; namespace NeatlyEditor.UI { [CustomEditor(typeof(NText), true)] [CanEditMultipleObjects] public class TextEditor : NGraphicEditor { #region SerializedProperty SerializedProperty m_Text; SerializedProperty m_FontData; SerializedProperty m_SupportEmoji; SerializedProperty m_MultiLanguageEnable; SerializedProperty m_LanguageKey; SerializedProperty m_GradientEnable; SerializedProperty m_GradientStartColor; SerializedProperty m_GradientEndColor; SerializedProperty m_SupportTab; #endregion #region GUIContent GUIContent m_SupportEmojiContent; GUIContent m_MultiLanguageContent; GUIContent m_GradientContent; GUIContent m_SupportTabContent; #endregion protected override void OnEnable() { base.OnEnable(); m_Text = serializedObject.FindProperty("m_Text"); m_FontData = serializedObject.FindProperty("m_FontData"); m_SupportEmoji = serializedObject.FindProperty("m_SupportEmoji"); m_MultiLanguageEnable = serializedObject.FindProperty("m_MultiLanguageEnable"); m_LanguageKey = serializedObject.FindProperty("m_LanguageKey"); m_GradientEnable = serializedObject.FindProperty("m_GradientEnable"); m_GradientStartColor = serializedObject.FindProperty("m_GradientStartColor"); m_GradientEndColor = serializedObject.FindProperty("m_GradientEndColor"); m_SupportTab = serializedObject.FindProperty("m_SupportTab"); m_SupportEmojiContent = new GUIContent("支持Emoji"); m_MultiLanguageContent = new GUIContent("多语言"); m_GradientContent = new GUIContent("渐变模式"); m_SupportTabContent = new GUIContent("富文本"); } public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(m_Text); EditorGUILayout.PropertyField(m_FontData); AppearanceControlsGUI(); EditorGUILayout.PropertyField(m_SupportEmoji, m_SupportEmojiContent); OnMultiLanguageGUI(); OnGradientGUI(); EditorGUILayout.PropertyField(m_SupportTab, m_SupportTabContent); serializedObject.ApplyModifiedProperties(); } private void OnMultiLanguageGUI() { EditorGUILayout.PropertyField(m_MultiLanguageEnable, m_MultiLanguageContent); if (m_MultiLanguageEnable.boolValue) { ++EditorGUI.indentLevel; EditorGUILayout.PropertyField(m_LanguageKey); --EditorGUI.indentLevel; } } private void OnGradientGUI() { EditorGUILayout.PropertyField(m_GradientEnable, m_GradientContent); if (m_GradientEnable.boolValue) { ++EditorGUI.indentLevel; EditorGUILayout.PropertyField(m_GradientStartColor); EditorGUILayout.PropertyField(m_GradientEndColor); --EditorGUI.indentLevel; } } } }