Browse Source

自定义状态组件加入NicerOutline

lzx 6 days ago
parent
commit
9e18368b38

+ 1 - 1
Assets/Res/UI/ShopPanel/ShopItemWidgetType2.prefab

@@ -38,7 +38,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
   m_AnchoredPosition: {x: 115.51595, y: -23.732}
-  m_SizeDelta: {x: 0, y: 46.2139}
+  m_SizeDelta: {x: 57, y: 46.2139}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5356034030161481726
 CanvasRenderer:

+ 1 - 1
Assets/Scripts/Core/UI/UTool/NicerOutline.cs

@@ -5,7 +5,7 @@ using System.Collections.Generic;
 [AddComponentMenu("UI/Effects/Nicer Outline", 15)]
 public class NicerOutline : BaseMeshEffect
 {
-    [SerializeField] private Color effectColor = new Color(0f, 0f, 0f, 1f);
+    [SerializeField] public Color effectColor = new Color(0f, 0f, 0f, 1f);
     [SerializeField] private float effectDistanceX = 2f;
     [SerializeField] private float effectDistanceY = 2f;
    [Range(4,12)] [SerializeField] private int samplingRate = 10;

+ 19 - 3
Assets/Scripts/GameUI/CustomStateController/CustomStateController.cs

@@ -189,7 +189,7 @@ public class CustomStateController : MonoBehaviour, ISerializationCallbackReceiv
                 stateInfo.UIStateV4Types.Add(UIStateType.TextColor);
                 stateInfo.UIStateV4Datas.Add(vector4);
             }
-            
+
             if (AllComsStateTypes[i].HasFlag(UIStateType.TmpColor))
             {
                 Vector4 vector4 = go.GetComponent<TextMeshProUGUI>().color;
@@ -200,7 +200,15 @@ public class CustomStateController : MonoBehaviour, ISerializationCallbackReceiv
 
             if (AllComsStateTypes[i].HasFlag(UIStateType.OutLineColor))
             {
-                Vector4 vector4 = go.GetComponent<Outline>().effectColor;
+                Vector4 vector4 = default;
+                if (go.GetComponent<Outline>() != null)
+                {
+                    vector4 = go.GetComponent<Outline>().effectColor;
+                }
+                else if (go.GetComponent<NicerOutline>() != null)
+                {
+                    vector4 = go.GetComponent<NicerOutline>().effectColor;
+                }
 
                 stateInfo.UIStateV4Types.Add(UIStateType.OutLineColor);
                 stateInfo.UIStateV4Datas.Add(vector4);
@@ -329,7 +337,15 @@ public class CustomStateController : MonoBehaviour, ISerializationCallbackReceiv
                             break;
                         case UIStateType.OutLineColor:
                             Color outLineColorData = keyValuePair.UIStateV4Datas[i];
-                            go.GetComponent<Outline>().effectColor = outLineColorData;
+                            if (go.GetComponent<Outline>() != null)
+                            {
+                                go.GetComponent<Outline>().effectColor = outLineColorData;
+                            }
+                            else if (go.GetComponent<NicerOutline>() != null)
+                            {
+                                go.GetComponent<NicerOutline>().effectColor = outLineColorData;
+                            }
+
                             break;
 
                         case UIStateType.CustomState: