From b2d7bb59dc37c7b350786b076ee2f344b7c8911f Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 八月 2025 17:26:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/Component/UI/Common/AdaptiveLayout.cs |  434 +++++++++++++++++++++++++++---------------------------
 1 files changed, 217 insertions(+), 217 deletions(-)

diff --git a/Main/Component/UI/Common/AdaptiveLayout.cs b/Main/Component/UI/Common/AdaptiveLayout.cs
index 73ad612..f83b7c0 100644
--- a/Main/Component/UI/Common/AdaptiveLayout.cs
+++ b/Main/Component/UI/Common/AdaptiveLayout.cs
@@ -5,236 +5,236 @@
 using System;
 using Cysharp.Threading.Tasks;
 
-    [ExecuteAlways]
-    public class AdaptiveLayout : MonoBehaviour
+[ExecuteAlways]
+public class AdaptiveLayout : MonoBehaviour
+{
+    [SerializeField] HorizonOrVertical m_HorizonOrVerticle;
+    [SerializeField] CanvasGroup m_CanvasGroup;
+    [SerializeField] List<AdaptiveElement> m_AdapElements;
+    [SerializeField] bool m_AutoIncludeChild=false;
+    [SerializeField] float m_LeastHeight = 0f;
+    [SerializeField] float m_LeastWidth = 0f;
+    [SerializeField] float m_MaxHeight = 0f;
+    [SerializeField] float m_MaxWidth = 0f;
+    [NonSerialized] RectTransform m_Rect;
+    public RectTransform rectTransform
     {
-        [SerializeField] HorizonOrVertical m_HorizonOrVerticle;
-        [SerializeField] CanvasGroup m_CanvasGroup;
-        [SerializeField] List<AdaptiveElement> m_AdapElements;
-        [SerializeField] bool m_AutoIncludeChild=false;
-        [SerializeField] float m_LeastHeight = 0f;
-        [SerializeField] float m_LeastWidth = 0f;
-        [SerializeField] float m_MaxHeight = 0f;
-        [SerializeField] float m_MaxWidth = 0f;
-        [NonSerialized] RectTransform m_Rect;
-        public RectTransform rectTransform
+        get
+        {
+            if (m_Rect == null)
+            {
+                m_Rect = GetComponent<RectTransform>();
+            }
+            return m_Rect;
+        }
+    }
+    public float Size
+    {
+        get
+        {
+            return m_HorizonOrVerticle == HorizonOrVertical.Horizon ? rectTransform.sizeDelta.x : rectTransform.sizeDelta.y;
+        }
+    }
+
+    public event Action adaptiveUpdateEvent;
+
+    private void OnEnable()
+    {
+        if (m_AdapElements == null)
+        {
+            enabled = false;
+            return;
+        }
+        if (m_CanvasGroup != null)
+        {
+            m_CanvasGroup.alpha = 0;
+            m_CanvasGroup.interactable = true;
+            Co_DelayShow();
+        }
+    }
+
+    private void TrackerRect(RectTransform _rect)
+    {
+        var _pivot = _rect.pivot;
+        var _anchorMax = _rect.anchorMax;
+        var _anchorMin = _rect.anchorMin;
+        if (m_HorizonOrVerticle == HorizonOrVertical.Horizon)
+        {
+            _pivot.x = 0; _pivot.y = 0.5f;
+            _anchorMax.x = 0; _anchorMax.y = 0.5f;
+            _anchorMin.x = 0; _anchorMin.y = 0.5f;
+        }
+        else
+        {
+            _pivot.x = 0.5f; _pivot.y = 1f;
+            _anchorMax.x = 0.5f; _anchorMax.y = 1;
+            _anchorMin.x = 0.5f; _anchorMin.y = 1;
+        }
+        if (_rect.pivot != _pivot || _rect.anchorMax != _anchorMax || _rect.anchorMin != _anchorMin)
+        {
+            _rect.pivot = _pivot;
+            _rect.anchorMax = _anchorMax;
+            _rect.anchorMin = _anchorMin;
+        }
+    }
+
+    private void CalculateLayout()
+    {
+        var _offset = 0.0f;
+        var _horizon = m_HorizonOrVerticle == HorizonOrVertical.Horizon;
+        for (int i = 0; i < m_AdapElements.Count; i++)
+        {
+            if (m_AdapElements[i].rect == null || !m_AdapElements[i].rect.gameObject.activeInHierarchy)
+            {
+                continue;
+            }
+            _offset += _horizon ? m_AdapElements[i].padding.left : m_AdapElements[i].padding.top;
+            var _pos = m_AdapElements[i].rect.localPosition;
+            if (_horizon)
+            {
+                _pos.x = _offset;
+            }
+            else
+            {
+                _pos.y = -_offset;
+            }
+            if (m_AdapElements[i].rect.localPosition != _pos)
+            {
+                m_AdapElements[i].rect.localPosition = _pos;
+            }
+            _offset += _horizon ? m_AdapElements[i].rect.sizeDelta.x : m_AdapElements[i].rect.sizeDelta.y;
+            _offset += _horizon ? m_AdapElements[i].padding.right : m_AdapElements[i].padding.bottom;
+        }
+        var _sizeDelta = rectTransform.sizeDelta;
+        if (_horizon)
+        {
+            if (m_LeastWidth > 1f)
+            {
+                _offset = Mathf.Max(_offset, m_LeastWidth);
+            }
+            if (m_MaxWidth > 1f)
+            {
+                _offset = Mathf.Min(_offset, m_MaxWidth);
+            }
+            _sizeDelta.x = _offset;
+        }
+        else
+        {
+            if (m_LeastHeight > 1f)
+            {
+                _offset = Mathf.Max(_offset, m_LeastHeight);
+            }
+            if (m_MaxHeight > 1f)
+            {
+                _offset = Mathf.Min(_offset, m_MaxHeight);
+            }
+            _sizeDelta.y = _offset;
+        }
+        if (rectTransform.sizeDelta != _sizeDelta)
+        {
+            rectTransform.sizeDelta = _sizeDelta;
+            if (adaptiveUpdateEvent != null)
+            {
+                adaptiveUpdateEvent();
+            }
+        }
+    }
+
+    private void LateUpdate()
+    {
+        if (m_AdapElements == null)
+        {
+            return;
+        }
+        TrackerRect(rectTransform);
+        for (int i = 0; i < m_AdapElements.Count; i++)
+        {
+            if (m_AdapElements[i].rect == null)
+            {
+                continue;
+            }
+            TrackerRect(m_AdapElements[i].rect);
+        }
+        CalculateLayout();
+    }
+
+    private void OnTransformChildrenChanged()
+    {
+        if (m_AutoIncludeChild)
+        {
+            AutoIncludeChild();
+        }
+    }
+
+    private void AutoIncludeChild()
+    {
+        var _index = 0;
+        foreach (Transform _child in transform)
+        {
+            if (m_AdapElements == null)
+            {
+                m_AdapElements = new List<AdaptiveElement>();
+            }
+            var _rect = m_AdapElements.Find((x) =>
+                {
+                    return x.rect == _child;
+                });
+            var _rectOffset= _child.GetComponent<AdaptiveRectOffset>();
+            if (_rect == null)
+            {
+                m_AdapElements.Insert(_index, new AdaptiveElement(_child as RectTransform, _rectOffset));
+            }
+            _index++;
+        }
+        if (m_AdapElements != null)
+        {
+            m_AdapElements.RemoveAll((x) =>
+            {
+                return x.rect == null;
+            });
+        }
+        LateUpdate();
+    }
+
+    async UniTask Co_DelayShow()
+    {
+        await UniTask.Delay(100);
+        if (m_CanvasGroup != null)
+        {
+            m_CanvasGroup.alpha = 1;
+        }
+    }
+
+    public enum HorizonOrVertical
+    {
+        Horizon,
+        Vertical,
+    }
+    [Serializable]
+    public class AdaptiveElement
+    {
+        [SerializeField] RectTransform m_Rect;
+        public RectTransform rect
         {
             get
             {
-                if (m_Rect == null)
-                {
-                    m_Rect = GetComponent<RectTransform>();
-                }
                 return m_Rect;
             }
         }
-        public float Size
+        [SerializeField] RectOffset m_Padding;
+        public RectOffset padding
         {
             get
             {
-                return m_HorizonOrVerticle == HorizonOrVertical.Horizon ? rectTransform.sizeDelta.x : rectTransform.sizeDelta.y;
+                return m_Padding;
             }
         }
 
-        public event Action adaptiveUpdateEvent;
-
-        private void OnEnable()
+        public AdaptiveElement(RectTransform _rect, AdaptiveRectOffset _offset)
         {
-            if (m_AdapElements == null)
-            {
-                enabled = false;
-                return;
-            }
-            if (m_CanvasGroup != null)
-            {
-                m_CanvasGroup.alpha = 0;
-                m_CanvasGroup.interactable = true;
-                Co_DelayShow();
-            }
+            m_Rect = _rect;
+            m_Padding = _offset == null ? new RectOffset() : _offset.rectOffset;
         }
+    }
 
-        private void TrackerRect(RectTransform _rect)
-        {
-            var _pivot = _rect.pivot;
-            var _anchorMax = _rect.anchorMax;
-            var _anchorMin = _rect.anchorMin;
-            if (m_HorizonOrVerticle == HorizonOrVertical.Horizon)
-            {
-                _pivot.x = 0; _pivot.y = 0.5f;
-                _anchorMax.x = 0; _anchorMax.y = 0.5f;
-                _anchorMin.x = 0; _anchorMin.y = 0.5f;
-            }
-            else
-            {
-                _pivot.x = 0.5f; _pivot.y = 1f;
-                _anchorMax.x = 0.5f; _anchorMax.y = 1;
-                _anchorMin.x = 0.5f; _anchorMin.y = 1;
-            }
-            if (_rect.pivot != _pivot || _rect.anchorMax != _anchorMax || _rect.anchorMin != _anchorMin)
-            {
-                _rect.pivot = _pivot;
-                _rect.anchorMax = _anchorMax;
-                _rect.anchorMin = _anchorMin;
-            }
-        }
-
-        private void CalculateLayout()
-        {
-            var _offset = 0.0f;
-            var _horizon = m_HorizonOrVerticle == HorizonOrVertical.Horizon;
-            for (int i = 0; i < m_AdapElements.Count; i++)
-            {
-                if (m_AdapElements[i].rect == null || !m_AdapElements[i].rect.gameObject.activeInHierarchy)
-                {
-                    continue;
-                }
-                _offset += _horizon ? m_AdapElements[i].padding.left : m_AdapElements[i].padding.top;
-                var _pos = m_AdapElements[i].rect.localPosition;
-                if (_horizon)
-                {
-                    _pos.x = _offset;
-                }
-                else
-                {
-                    _pos.y = -_offset;
-                }
-                if (m_AdapElements[i].rect.localPosition != _pos)
-                {
-                    m_AdapElements[i].rect.localPosition = _pos;
-                }
-                _offset += _horizon ? m_AdapElements[i].rect.sizeDelta.x : m_AdapElements[i].rect.sizeDelta.y;
-                _offset += _horizon ? m_AdapElements[i].padding.right : m_AdapElements[i].padding.bottom;
-            }
-            var _sizeDelta = rectTransform.sizeDelta;
-            if (_horizon)
-            {
-                if (m_LeastWidth > 1f)
-                {
-                    _offset = Mathf.Max(_offset, m_LeastWidth);
-                }
-                if (m_MaxWidth > 1f)
-                {
-                    _offset = Mathf.Min(_offset, m_MaxWidth);
-                }
-                _sizeDelta.x = _offset;
-            }
-            else
-            {
-                if (m_LeastHeight > 1f)
-                {
-                    _offset = Mathf.Max(_offset, m_LeastHeight);
-                }
-                if (m_MaxHeight > 1f)
-                {
-                    _offset = Mathf.Min(_offset, m_MaxHeight);
-                }
-                _sizeDelta.y = _offset;
-            }
-            if (rectTransform.sizeDelta != _sizeDelta)
-            {
-                rectTransform.sizeDelta = _sizeDelta;
-                if (adaptiveUpdateEvent != null)
-                {
-                    adaptiveUpdateEvent();
-                }
-            }
-        }
-
-        private void LateUpdate()
-        {
-            if (m_AdapElements == null)
-            {
-                return;
-            }
-            TrackerRect(rectTransform);
-            for (int i = 0; i < m_AdapElements.Count; i++)
-            {
-                if (m_AdapElements[i].rect == null)
-                {
-                    continue;
-                }
-                TrackerRect(m_AdapElements[i].rect);
-            }
-            CalculateLayout();
-        }
-
-        private void OnTransformChildrenChanged()
-        {
-            if (m_AutoIncludeChild)
-            {
-                AutoIncludeChild();
-            }
-        }
-
-        private void AutoIncludeChild()
-        {
-            var _index = 0;
-            foreach (Transform _child in transform)
-            {
-                if (m_AdapElements == null)
-                {
-                    m_AdapElements = new List<AdaptiveElement>();
-                }
-                var _rect = m_AdapElements.Find((x) =>
-                 {
-                     return x.rect == _child;
-                 });
-                var _rectOffset= _child.GetComponent<AdaptiveRectOffset>();
-                if (_rect == null)
-                {
-                    m_AdapElements.Insert(_index, new AdaptiveElement(_child as RectTransform, _rectOffset));
-                }
-                _index++;
-            }
-            if (m_AdapElements != null)
-            {
-                m_AdapElements.RemoveAll((x) =>
-                {
-                    return x.rect == null;
-                });
-            }
-            LateUpdate();
-        }
-
-        async UniTask Co_DelayShow()
-        {
-            await UniTask.Delay(100);
-            if (m_CanvasGroup != null)
-            {
-                m_CanvasGroup.alpha = 1;
-            }
-        }
-
-        public enum HorizonOrVertical
-        {
-            Horizon,
-            Vertical,
-        }
-        [Serializable]
-        public class AdaptiveElement
-        {
-            [SerializeField] RectTransform m_Rect;
-            public RectTransform rect
-            {
-                get
-                {
-                    return m_Rect;
-                }
-            }
-            [SerializeField] RectOffset m_Padding;
-            public RectOffset padding
-            {
-                get
-                {
-                    return m_Padding;
-                }
-            }
-
-            public AdaptiveElement(RectTransform _rect, AdaptiveRectOffset _offset)
-            {
-                m_Rect = _rect;
-                m_Padding = _offset == null ? new RectOffset() : _offset.rectOffset;
-            }
-        }
-
-    }
\ No newline at end of file
+}
\ No newline at end of file

--
Gitblit v1.8.0