三国卡牌客户端基础资源仓库
59 子 【常规】邮件系统 / 【常规】邮件系统-客户端 摘取部分ui组件
26个文件已添加
729 ■■■■■ 已修改文件
Assets/Editor/Tool.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/PrefabCreateTool.cs 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/PrefabCreateTool.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent.meta 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ButtonExEditor.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ButtonExEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/CustomImageEditor.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/CustomImageEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/FlipScrollEditor.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/FlipScrollEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/FunctionButtonEditor.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/FunctionButtonEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ImageExEditor.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ImageExEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/LayoutElementClampEditor.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/LayoutElementClampEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/LongPressButtonEditor.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/LongPressButtonEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/PolylineImageEditor.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/PolylineImageEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/RichTextEditor.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/RichTextEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/TextExEditor.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/TextExEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ToggleExEditor.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/UIComponent/ToggleExEditor.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 22b3d4629b849904ca6614d8e5b666f5
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Editor/Tool/PrefabCreateTool.cs
New file
@@ -0,0 +1,154 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, October 31, 2017
//--------------------------------------------------------
using UnityEngine;
using UnityEditor;
using System.Collections;
using UnityEngine.UI;
using vnxbqy.UI;
public class PrefabCreateTool
{
    // [MenuItem("GameObject/UI/UIRoot")]
    // public static UIRoot CreateUIRoot()
    // {
    //     var uiroot = GameObject.FindObjectOfType<UIRoot>();
    //     if (uiroot == null)
    //     {
    //         var prefab = BuiltInLoader.LoadPrefab("UIRoot");
    //         var root = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity);
    //         root.name = "UIRoot";
    //         uiroot = root.GetComponent<UIRoot>();
    //     }
    //     return uiroot;
    // }
    public static void SetParent(GameObject instance, Transform parent = null)
    {
        if (instance == null)
            return;
        // var uiroot = CreateUIRoot();
        if (parent == null)
            if (Selection.transforms != null && Selection.transforms.Length > 0)
            {
                parent = Selection.transforms[0];
            }
        // else
        // {
        //     parent = uiroot.normalCanvas.transform;
        // }
        instance.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
        // PrefabUtility.DisconnectPrefabInstance(instance);
        Selection.activeGameObject = instance;
    }
    public static GameObject LoadUIPattern(string name)
    {
        return AssetDatabase.LoadAssetAtPath<GameObject>(string.Format("Assets/Editor/UIPattern/{0}.prefab", name));
    }
    [MenuItem("GameObject/UI/FunctionButton")]
    public static void CreateFunctionButton()
    {
        var instance = UIUtility.CreateWidget("FunctionButtonPattern", "FunctionButton");
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/GeneralWin_1")]
    public static void CreateWindowPattern1()
    {
        var prefab = LoadUIPattern("GeneralWin");
        var instance = GameObject.Instantiate(prefab) as GameObject;
        instance.name = "GeneralWin";
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/RewardGroup")]
    public static void CreateRewardGroup()
    {
        var prefab = LoadUIPattern("Container_Rewards");
        var instance = GameObject.Instantiate(prefab) as GameObject;
        instance.name = "Container_Rewards";
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/自选商品")]
    public static void CreateCommonItemCell()
    {
        var prefab = LoadUIPattern("CustomizedItemCell");
        var instance = GameObject.Instantiate(prefab) as GameObject;
        instance.name = "CustomizedItemCell";
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/特效")]
    public static void CreateUIEffect()
    {
        var instance = new GameObject("UIEffect");
        instance.AddComponent<UIEffect>();
        instance.AddComponent<RectTransform>();
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/ItemCell")]
    public static void CreateItemCell()
    {
        var button = UIUtility.CreateWidget("ItemCell", "ItemCell");
        SetParent(button);
    }
    [MenuItem("GameObject/UI/SortTable")]
    public static void CreateSortTable()
    {
        var prefab = LoadUIPattern("SortTable");
        var instance = GameObject.Instantiate(prefab) as GameObject;
        instance.name = "SortTable";
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/TextEx")]
    public static void CreateTextEx()
    {
        var instance = new GameObject("TextEx");
        instance.AddComponent<TextEx>();
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/ImageEx")]
    public static void CreateImageEx()
    {
        var instance = new GameObject("ImageEx");
        instance.AddComponent<ImageEx>();
        SetParent(instance);
    }
    [MenuItem("GameObject/UI/通用按钮")]
    public static void CreateButtonEx()
    {
        var button = UIUtility.CreateWidget("CommonButton", "CommonButton");
        SetParent(button);
    }
    [MenuItem("GameObject/UI/红点")]
    public static void CreateRedPoint()
    {
        var button = UIUtility.CreateWidget("RedPoint", "RedPoint");
        SetParent(button);
    }
    [MenuItem("GameObject/UI/SecondFrameLoad")]
    public static void CreateSecondFrameLoad()
    {
        var prefab = LoadUIPattern("SecondFrameLoad");
        var instance = GameObject.Instantiate(prefab) as GameObject;
        instance.name = "SecondFrameLoad";
        SetParent(instance);
    }
}
Assets/Editor/Tool/PrefabCreateTool.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0cdd096cb0b9e234397d77c608832ece
timeCreated: 1509433613
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent.meta
New file
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5c419b9af4c2e854286b46142fcff5c2
folderAsset: yes
DefaultImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/ButtonExEditor.cs
New file
@@ -0,0 +1,26 @@
using UnityEditor;
[CustomEditor(typeof(ButtonEx),true),CanEditMultipleObjects]
public class ButtonExEditor:UnityEditor.UI.ButtonEditor {
    public override void OnInspectorGUI() {
        base.OnInspectorGUI();
        EditorGUILayout.Space();
        ButtonEx button = target as ButtonEx;
        button.interval = EditorGUILayout.FloatField("点击间隔",button.interval);
        button.customPositiveSound = EditorGUILayout.Toggle("自定义积极音效",button.customPositiveSound);
        if(button.customPositiveSound) {
            EditorGUI.indentLevel += 1;
            button.positiveSound = EditorGUILayout.IntField("积极音效",button.positiveSound);
            EditorGUI.indentLevel -= 1;
        }
        button.customNegativeSound = EditorGUILayout.Toggle("自定义消极音效",button.customNegativeSound);
        if(button.customNegativeSound) {
            EditorGUI.indentLevel += 1;
            button.negativeSound = EditorGUILayout.IntField("消极音效",button.negativeSound);
            EditorGUI.indentLevel -= 1;
        }
    }
}
Assets/UIComponent/ButtonExEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: b3cbe0a5a2e517e46acf1d7ddbfeb305
timeCreated: 1499236495
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/CustomImageEditor.cs
New file
@@ -0,0 +1,44 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, August 14, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEditor;
using System;
namespace vnxbqy.UI {
    [CustomEditor(typeof(CustomImage)), CanEditMultipleObjects]
    public class CustomImageEidtor:Editor {
        protected virtual void OnSceneGUI() {
            var customImage = (CustomImage)this.target;
            if(customImage.points != null) {
                EditorGUI.BeginChangeCheck();
                for(var i = 0;i < customImage.points.Length;i++) {
                    var wh = customImage.points[i];
                    var worldposition = customImage.transform.TransformPoint(wh);
                    var handlePosition = Handles.PositionHandle(worldposition,Quaternion.identity);
                    customImage.points[i] = customImage.transform.InverseTransformPoint(handlePosition);
                }
                if(EditorGUI.EndChangeCheck()) {
                    customImage.SetVerticesDirty();
                }
                EditorUtility.SetDirty(customImage);
            }
        }
    }
}
Assets/UIComponent/CustomImageEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c2cacda07f0983841891530d7fe52173
timeCreated: 1502677702
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/FlipScrollEditor.cs
New file
@@ -0,0 +1,62 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, September 11, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEditor;
namespace vnxbqy.UI
{
    [CustomEditor(typeof(FlipScroll))]
    [CanEditMultipleObjects]
    public class FlipScrollEditor : UnityEditor.UI.GraphicEditor
    {
        private FlipScroll flipScroll;
        protected override void OnEnable()
        {
            base.OnEnable();
            if (target != null) {
                flipScroll = target as FlipScroll;
            }
        }
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            EditorGUILayout.BeginHorizontal();
            flipScroll.FlipType = (FlipScroll.FlipDirEnum)EditorGUILayout.EnumPopup("Flip Type", flipScroll.FlipType);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            flipScroll.tweenType = (FlipScroll.TweenType)EditorGUILayout.EnumPopup("Tween Type", flipScroll.tweenType);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            flipScroll.loop = EditorGUILayout.Toggle("Loop", flipScroll.loop);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            flipScroll.TweenTime = EditorGUILayout.FloatField("Duration", flipScroll.TweenTime);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Present RT",GUILayout.Width(100));
            flipScroll.presentRT=EditorGUILayout.ObjectField(flipScroll.presentRT, typeof(RectTransform),true) as RectTransform;
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Last RT", GUILayout.Width(100));
            flipScroll.lastRT = EditorGUILayout.ObjectField(flipScroll.lastRT, typeof(RectTransform),true) as RectTransform;
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            flipScroll.pageCnt = EditorGUILayout.IntField("Page Cnt",flipScroll.pageCnt);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            flipScroll.resetOnEnable = EditorGUILayout.Toggle("Reset OnEnable", flipScroll.resetOnEnable);
            EditorGUILayout.EndHorizontal();
        }
    }
}
Assets/UIComponent/FlipScrollEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 19af42aaa9d187b4e82981f5eadfdeff
timeCreated: 1505138907
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/FunctionButtonEditor.cs
New file
@@ -0,0 +1,40 @@
using UnityEditor;
using UnityEngine.UI;
using UnityEngine;
namespace vnxbqy.UI
{
    [CustomEditor(typeof(FunctionButton), true), CanEditMultipleObjects]
    public class FunctionButtonEditor : UnityEditor.UI.ButtonEditor
    {
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            EditorGUILayout.Space();
            var instance = target as FunctionButton;
            instance.order = EditorGUILayout.IntField("Order", instance.order);
            instance.functionId = EditorGUILayout.IntField("FunctionId", instance.functionId);
            instance.redpoint = (RedpointBehaviour)EditorGUILayout.ObjectField("Redpoint", instance.redpoint, typeof(RedpointBehaviour), true);
            instance.state = (TitleBtnState)EditorGUILayout.EnumPopup("State", instance.state);
            instance.button = (Button)EditorGUILayout.ObjectField("Button", instance.button, typeof(Button), true);
            instance.icon = (ImageEx)EditorGUILayout.ObjectField("Image", instance.icon, typeof(ImageEx), true);
            instance.title = (TextEx)EditorGUILayout.ObjectField("Title", instance.title, typeof(TextEx), true);
            instance.shadow = (Shadow)EditorGUILayout.ObjectField("Shadow", instance.shadow, typeof(Shadow), true);
            instance.locked = (Transform)EditorGUILayout.ObjectField("Locked", instance.locked, typeof(Transform), true);
            instance.clickAudio = EditorGUILayout.IntField("Audio", instance.clickAudio);
            instance.useDefaultConfig = EditorGUILayout.Toggle("DefaultConfig", instance.useDefaultConfig);
            if (!instance.useDefaultConfig)
            {
                EditorGUI.indentLevel++;
                instance.alternativeConfig = (FunctionButtonConfig)EditorGUILayout.ObjectField("备用配置", instance.alternativeConfig, typeof(FunctionButtonConfig), true);
                EditorGUI.indentLevel--;
            }
            instance.group = (FunctionButtonGroup)EditorGUILayout.ObjectField("Group", instance.group, typeof(FunctionButtonGroup), true);
        }
    }
}
Assets/UIComponent/FunctionButtonEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f0f34011404b4c144ae53906afe8f825
timeCreated: 1509431980
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/ImageExEditor.cs
New file
@@ -0,0 +1,33 @@
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(ImageEx), true), CanEditMultipleObjects]
public class ImageExEditor : UnityEditor.UI.ImageEditor
{
    SerializedProperty m_Gray;
    SerializedProperty m_IconKey;
    protected override void OnEnable()
    {
        base.OnEnable();
        m_Gray = this.serializedObject.FindProperty("m_Gray");
        m_IconKey = this.serializedObject.FindProperty("m_IconKey");
    }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.Space();
        EditorGUILayout.PropertyField(m_Gray, new GUIContent("Gray"));
        EditorGUILayout.PropertyField(m_IconKey, new GUIContent("IconKey"));
        base.serializedObject.ApplyModifiedProperties();
        Repaint();
    }
}
Assets/UIComponent/ImageExEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 4948f2195ca5ace41abd05648cfc509f
timeCreated: 1501231802
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/LayoutElementClampEditor.cs
New file
@@ -0,0 +1,33 @@

using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(LayoutElementSizeClamp), false)]
public class LayoutElementSizeClampEditor : UnityEditor.UI.LayoutElementEditor
{
    SerializedProperty m_ClampEnable;
    SerializedProperty m_Clamp;
    SerializedProperty m_Target;
    protected override void OnEnable()
    {
        base.OnEnable();
        m_ClampEnable = this.serializedObject.FindProperty("m_ClampEnable");
        m_Clamp = this.serializedObject.FindProperty("m_Clamp");
        m_Target = this.serializedObject.FindProperty("m_Target");
    }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.PropertyField(m_ClampEnable);
        EditorGUILayout.PropertyField(m_Clamp, true);
        EditorGUILayout.PropertyField(m_Target);
        this.serializedObject.ApplyModifiedProperties();
        Repaint();
    }
}
Assets/UIComponent/LayoutElementClampEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d57d2d7ff8f2c8a4a8434818c94e7b5c
timeCreated: 1555661453
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/LongPressButtonEditor.cs
New file
@@ -0,0 +1,16 @@
using vnxbqy.UI;
using UnityEditor;
[CustomEditor(typeof(LongPressButton), true), CanEditMultipleObjects]
public class LongPressButtonEditor : ButtonExEditor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        LongPressButton button = target as LongPressButton;
        button.longPressCheckTime = EditorGUILayout.FloatField("长按延迟时间,否则单击", button.longPressCheckTime);
        button.longPressIntervalTime = EditorGUILayout.FloatField("长按间隔时间", button.longPressIntervalTime);
    }
}
Assets/UIComponent/LongPressButtonEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0a652013d93bfde468e88b38463b94f9
timeCreated: 1519279568
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/PolylineImageEditor.cs
New file
@@ -0,0 +1,43 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, August 14, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEditor;
namespace vnxbqy.UI {
    [CustomEditor(typeof(PolylineImage)), CanEditMultipleObjects]
    public class PolylineImageEditor:Editor {
        protected virtual void OnSceneGUI() {
            var polyline = (PolylineImage)this.target;
            if(polyline.points != null) {
                EditorGUI.BeginChangeCheck();
                for(var i = 0;i < polyline.points.Length;i++) {
                    var wh = polyline.points[i];
                    var worldposition = polyline.transform.TransformPoint(wh);
                    var handlePosition = Handles.PositionHandle(worldposition,Quaternion.identity);
                    polyline.points[i] = polyline.transform.InverseTransformPoint(handlePosition);
                }
                if(EditorGUI.EndChangeCheck()) {
                    polyline.SetVerticesDirty();
                }
                EditorUtility.SetDirty(polyline);
            }
        }
    }
}
Assets/UIComponent/PolylineImageEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 8ec6047673f869448b4047cb8bec1abe
timeCreated: 1502675065
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/RichTextEditor.cs
New file
@@ -0,0 +1,73 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(RichText))]
[CanEditMultipleObjects]
public class RichTextEditor : UnityEditor.UI.TextEditor {
    private RichText m_Target;
    protected override void OnEnable()
    {
        base.OnEnable();
        if (target != null) {
            m_Target = target as RichText;
        }
    }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("语言表key",GUILayout.Width(60));
        m_Target.language = EditorGUILayout.Toggle(m_Target.language, GUILayout.Width(30));
        m_Target.enableDisplay = EditorGUILayout.TextField(m_Target.enableDisplay, GUILayout.Width(200));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.ImgDeltay = EditorGUILayout.FloatField("Image Delta Vertical", m_Target.ImgDeltay);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.UnlineDeltay = EditorGUILayout.FloatField("Unline Delta Vertical", m_Target.UnlineDeltay);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.UnlineHeight = EditorGUILayout.FloatField("Unline Height", m_Target.UnlineHeight);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.FaceSize = EditorGUILayout.FloatField("Face Size", m_Target.FaceSize);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.Unline = EditorGUILayout.Toggle("Unline", m_Target.Unline);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.HrefClick = EditorGUILayout.Toggle("Href Click", m_Target.HrefClick);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.AutoNewLine = EditorGUILayout.Toggle("Auto New Line", m_Target.AutoNewLine);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        m_Target.LockImgSize = EditorGUILayout.Toggle("Lock Img Size", m_Target.LockImgSize);
        EditorGUILayout.EndHorizontal();
        if (m_Target.LockImgSize) {
            m_Target.ModifyImgSiez = false;
        }
        EditorGUILayout.BeginHorizontal();
        m_Target.ModifyImgSiez = EditorGUILayout.Toggle("Modify Img Size", m_Target.ModifyImgSiez);
        EditorGUILayout.EndHorizontal();
        if (m_Target.ModifyImgSiez) {
            m_Target.LockImgSize = false;
            EditorGUILayout.BeginHorizontal();
            m_Target.ModifyImgWidth = EditorGUILayout.FloatField("Modify Img Width", m_Target.ModifyImgWidth);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            m_Target.ModifyImgHeight = EditorGUILayout.FloatField("Modify Img Height", m_Target.ModifyImgHeight);
            EditorGUILayout.EndHorizontal();
        }
        EditorGUILayout.BeginHorizontal();
        m_Target.colorType = (RichText.ColorType)EditorGUILayout.EnumPopup("Color Type", m_Target.colorType);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("ResetSize")) {
            m_Target.SetFitterSize();
        }
        EditorGUILayout.EndHorizontal();
    }
}
Assets/UIComponent/RichTextEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f7d79b6a30e10104ab4b524686ff603b
timeCreated: 1504508819
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/TextExEditor.cs
New file
@@ -0,0 +1,18 @@
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(TextEx),true),CanEditMultipleObjects]
public class TextExEditor:UnityEditor.UI.TextEditor {
    public override void OnInspectorGUI() {
        base.OnInspectorGUI();
        EditorGUILayout.Space();
        TextEx text = target as TextEx;
        text.isKey = EditorGUILayout.Toggle("是语言表ID",text.isKey);
        text.keyName = EditorGUILayout.TextField(text.keyName, GUILayout.Width(200));
        text.colorType = (TextColType)EditorGUILayout.EnumPopup("颜色类型", text.colorType);
        text.bgColorType = (TextEx.BackGroundColorType)EditorGUILayout.EnumPopup("背景颜色类型", text.bgColorType);
    }
}
Assets/UIComponent/TextExEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 35b2bc3fe5ae31343b6aef5dd5b32ab0
timeCreated: 1499227363
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/UIComponent/ToggleExEditor.cs
New file
@@ -0,0 +1,27 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, August 15, 2017
//--------------------------------------------------------
using UnityEditor;
namespace vnxbqy.UI
{
    [CustomEditor(typeof(ToggleEx), true), CanEditMultipleObjects]
    public class ToggleExEditor : UnityEditor.UI.ToggleEditor
    {
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            EditorGUILayout.Space();
            ToggleEx toggle = target as ToggleEx;
            toggle.clickAudio = EditorGUILayout.IntField("音效", toggle.clickAudio);
        }
    }
}
Assets/UIComponent/ToggleExEditor.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 81e7506d824b5dc42bf79bb72742c699
timeCreated: 1502779563
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: