From 1e5edbb1c7ba1d679f56bab61689e980c745d34e Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 23 五月 2025 11:33:19 +0800
Subject: [PATCH] 59 子 【常规】邮件系统 / 【常规】邮件系统-客户端 摘取部分ui组件
---
Assets/Editor/Tool/PrefabCreateTool.cs.meta | 12
Assets/UIComponent/FunctionButtonEditor.cs | 40 +++
Assets/UIComponent/PolylineImageEditor.cs.meta | 12
Assets/UIComponent/FlipScrollEditor.cs.meta | 12
Assets/UIComponent/ToggleExEditor.cs.meta | 12
Assets/UIComponent/RichTextEditor.cs.meta | 12
Assets/UIComponent/TextExEditor.cs.meta | 12
Assets/UIComponent.meta | 8
Assets/UIComponent/ImageExEditor.cs | 33 ++
Assets/UIComponent/LayoutElementClampEditor.cs.meta | 12
Assets/UIComponent/LongPressButtonEditor.cs.meta | 12
Assets/UIComponent/LayoutElementClampEditor.cs | 33 ++
Assets/UIComponent/RichTextEditor.cs | 73 +++++
Assets/UIComponent/FunctionButtonEditor.cs.meta | 12
Assets/UIComponent/CustomImageEditor.cs.meta | 12
Assets/UIComponent/ImageExEditor.cs.meta | 12
Assets/Editor/Tool.meta | 8
Assets/UIComponent/ButtonExEditor.cs.meta | 12
Assets/UIComponent/LongPressButtonEditor.cs | 16 +
Assets/UIComponent/ButtonExEditor.cs | 26 ++
Assets/UIComponent/TextExEditor.cs | 18 +
Assets/UIComponent/FlipScrollEditor.cs | 62 ++++
Assets/Editor/Tool/PrefabCreateTool.cs | 154 +++++++++++
Assets/UIComponent/PolylineImageEditor.cs | 43 +++
Assets/UIComponent/ToggleExEditor.cs | 27 ++
Assets/UIComponent/CustomImageEditor.cs | 44 +++
26 files changed, 729 insertions(+), 0 deletions(-)
diff --git a/Assets/Editor/Tool.meta b/Assets/Editor/Tool.meta
new file mode 100644
index 0000000..4611b51
--- /dev/null
+++ b/Assets/Editor/Tool.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 22b3d4629b849904ca6614d8e5b666f5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor/Tool/PrefabCreateTool.cs b/Assets/Editor/Tool/PrefabCreateTool.cs
new file mode 100644
index 0000000..d5178fc
--- /dev/null
+++ b/Assets/Editor/Tool/PrefabCreateTool.cs
@@ -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);
+ }
+
+
+}
+
+
+
+
diff --git a/Assets/Editor/Tool/PrefabCreateTool.cs.meta b/Assets/Editor/Tool/PrefabCreateTool.cs.meta
new file mode 100644
index 0000000..4476212
--- /dev/null
+++ b/Assets/Editor/Tool/PrefabCreateTool.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0cdd096cb0b9e234397d77c608832ece
+timeCreated: 1509433613
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent.meta b/Assets/UIComponent.meta
new file mode 100644
index 0000000..286602e
--- /dev/null
+++ b/Assets/UIComponent.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5c419b9af4c2e854286b46142fcff5c2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/ButtonExEditor.cs b/Assets/UIComponent/ButtonExEditor.cs
new file mode 100644
index 0000000..ddaf8e8
--- /dev/null
+++ b/Assets/UIComponent/ButtonExEditor.cs
@@ -0,0 +1,26 @@
+锘縰sing 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;
+ }
+ }
+
+}
diff --git a/Assets/UIComponent/ButtonExEditor.cs.meta b/Assets/UIComponent/ButtonExEditor.cs.meta
new file mode 100644
index 0000000..f14e792
--- /dev/null
+++ b/Assets/UIComponent/ButtonExEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b3cbe0a5a2e517e46acf1d7ddbfeb305
+timeCreated: 1499236495
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/CustomImageEditor.cs b/Assets/UIComponent/CustomImageEditor.cs
new file mode 100644
index 0000000..29b3d84
--- /dev/null
+++ b/Assets/UIComponent/CustomImageEditor.cs
@@ -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);
+ }
+
+ }
+
+
+ }
+
+}
+
+
+
+
+
+
diff --git a/Assets/UIComponent/CustomImageEditor.cs.meta b/Assets/UIComponent/CustomImageEditor.cs.meta
new file mode 100644
index 0000000..a9bc00c
--- /dev/null
+++ b/Assets/UIComponent/CustomImageEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c2cacda07f0983841891530d7fe52173
+timeCreated: 1502677702
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/FlipScrollEditor.cs b/Assets/UIComponent/FlipScrollEditor.cs
new file mode 100644
index 0000000..38b2856
--- /dev/null
+++ b/Assets/UIComponent/FlipScrollEditor.cs
@@ -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();
+ }
+
+
+ }
+}
+
+
+
+
diff --git a/Assets/UIComponent/FlipScrollEditor.cs.meta b/Assets/UIComponent/FlipScrollEditor.cs.meta
new file mode 100644
index 0000000..b30df70
--- /dev/null
+++ b/Assets/UIComponent/FlipScrollEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 19af42aaa9d187b4e82981f5eadfdeff
+timeCreated: 1505138907
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/FunctionButtonEditor.cs b/Assets/UIComponent/FunctionButtonEditor.cs
new file mode 100644
index 0000000..df481d4
--- /dev/null
+++ b/Assets/UIComponent/FunctionButtonEditor.cs
@@ -0,0 +1,40 @@
+锘縰sing 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);
+ }
+ }
+
+}
+
diff --git a/Assets/UIComponent/FunctionButtonEditor.cs.meta b/Assets/UIComponent/FunctionButtonEditor.cs.meta
new file mode 100644
index 0000000..1b71930
--- /dev/null
+++ b/Assets/UIComponent/FunctionButtonEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f0f34011404b4c144ae53906afe8f825
+timeCreated: 1509431980
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/ImageExEditor.cs b/Assets/UIComponent/ImageExEditor.cs
new file mode 100644
index 0000000..c772fd6
--- /dev/null
+++ b/Assets/UIComponent/ImageExEditor.cs
@@ -0,0 +1,33 @@
+锘縰sing 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();
+ }
+
+}
+
+
+
diff --git a/Assets/UIComponent/ImageExEditor.cs.meta b/Assets/UIComponent/ImageExEditor.cs.meta
new file mode 100644
index 0000000..d8cf2da
--- /dev/null
+++ b/Assets/UIComponent/ImageExEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 4948f2195ca5ace41abd05648cfc509f
+timeCreated: 1501231802
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/LayoutElementClampEditor.cs b/Assets/UIComponent/LayoutElementClampEditor.cs
new file mode 100644
index 0000000..47304f2
--- /dev/null
+++ b/Assets/UIComponent/LayoutElementClampEditor.cs
@@ -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();
+ }
+
+}
diff --git a/Assets/UIComponent/LayoutElementClampEditor.cs.meta b/Assets/UIComponent/LayoutElementClampEditor.cs.meta
new file mode 100644
index 0000000..e0e12d6
--- /dev/null
+++ b/Assets/UIComponent/LayoutElementClampEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: d57d2d7ff8f2c8a4a8434818c94e7b5c
+timeCreated: 1555661453
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/LongPressButtonEditor.cs b/Assets/UIComponent/LongPressButtonEditor.cs
new file mode 100644
index 0000000..4abd70a
--- /dev/null
+++ b/Assets/UIComponent/LongPressButtonEditor.cs
@@ -0,0 +1,16 @@
+锘縰sing 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);
+ }
+}
diff --git a/Assets/UIComponent/LongPressButtonEditor.cs.meta b/Assets/UIComponent/LongPressButtonEditor.cs.meta
new file mode 100644
index 0000000..d4e0099
--- /dev/null
+++ b/Assets/UIComponent/LongPressButtonEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 0a652013d93bfde468e88b38463b94f9
+timeCreated: 1519279568
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/PolylineImageEditor.cs b/Assets/UIComponent/PolylineImageEditor.cs
new file mode 100644
index 0000000..6789f28
--- /dev/null
+++ b/Assets/UIComponent/PolylineImageEditor.cs
@@ -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);
+ }
+
+ }
+
+
+ }
+
+}
+
+
+
diff --git a/Assets/UIComponent/PolylineImageEditor.cs.meta b/Assets/UIComponent/PolylineImageEditor.cs.meta
new file mode 100644
index 0000000..be585ee
--- /dev/null
+++ b/Assets/UIComponent/PolylineImageEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8ec6047673f869448b4047cb8bec1abe
+timeCreated: 1502675065
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/RichTextEditor.cs b/Assets/UIComponent/RichTextEditor.cs
new file mode 100644
index 0000000..7c10baf
--- /dev/null
+++ b/Assets/UIComponent/RichTextEditor.cs
@@ -0,0 +1,73 @@
+锘縰sing 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("璇█琛╧ey",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();
+ }
+}
diff --git a/Assets/UIComponent/RichTextEditor.cs.meta b/Assets/UIComponent/RichTextEditor.cs.meta
new file mode 100644
index 0000000..e7f0f64
--- /dev/null
+++ b/Assets/UIComponent/RichTextEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f7d79b6a30e10104ab4b524686ff603b
+timeCreated: 1504508819
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/TextExEditor.cs b/Assets/UIComponent/TextExEditor.cs
new file mode 100644
index 0000000..3a31c27
--- /dev/null
+++ b/Assets/UIComponent/TextExEditor.cs
@@ -0,0 +1,18 @@
+锘縰sing 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("鏄瑷�琛↖D",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);
+ }
+
+}
+
diff --git a/Assets/UIComponent/TextExEditor.cs.meta b/Assets/UIComponent/TextExEditor.cs.meta
new file mode 100644
index 0000000..573ae5e
--- /dev/null
+++ b/Assets/UIComponent/TextExEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 35b2bc3fe5ae31343b6aef5dd5b32ab0
+timeCreated: 1499227363
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/UIComponent/ToggleExEditor.cs b/Assets/UIComponent/ToggleExEditor.cs
new file mode 100644
index 0000000..4d2a338
--- /dev/null
+++ b/Assets/UIComponent/ToggleExEditor.cs
@@ -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);
+ }
+
+ }
+
+}
+
+
+
diff --git a/Assets/UIComponent/ToggleExEditor.cs.meta b/Assets/UIComponent/ToggleExEditor.cs.meta
new file mode 100644
index 0000000..3eec5a6
--- /dev/null
+++ b/Assets/UIComponent/ToggleExEditor.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 81e7506d824b5dc42bf79bb72742c699
+timeCreated: 1502779563
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
--
Gitblit v1.8.0