From 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 05 十一月 2025 17:40:23 +0800
Subject: [PATCH] 130 战斗修改回合样式

---
 Main/Component/UI/Common/LongPressButton.cs |  157 +++++++++++++++++++++++++++-------------------------
 1 files changed, 81 insertions(+), 76 deletions(-)

diff --git a/Main/Component/UI/Common/LongPressButton.cs b/Main/Component/UI/Common/LongPressButton.cs
index a4d85a4..d5ce059 100644
--- a/Main/Component/UI/Common/LongPressButton.cs
+++ b/Main/Component/UI/Common/LongPressButton.cs
@@ -6,97 +6,102 @@
 using UnityEngine.Serialization;
 using UnityEngine.UI;
 
-namespace vnxbqy.UI
+public class LongPressButton : ButtonEx
 {
-    public class LongPressButton : ButtonEx
+    public class ButtonPressEvent : UnityEvent { }
+
+    //闀挎寜鐩戝惉
+    [FormerlySerializedAs("onPress")]
+    [SerializeField]
+    private ButtonPressEvent m_OnPress = new ButtonPressEvent();
+    public ButtonPressEvent onPress
     {
-        public class ButtonPressEvent : UnityEvent { }
+        get { return m_OnPress; }
+        set { m_OnPress = value; }
+    }
 
-        [FormerlySerializedAs("onPress")]
-        [SerializeField]
-        private ButtonPressEvent m_OnPress = new ButtonPressEvent();
-        public ButtonPressEvent onPress
+    [SerializeField]
+    float m_LongPressCheckTime = 0.3f;
+    public float longPressCheckTime
+    {
+        get { return m_LongPressCheckTime; }
+        set { m_LongPressCheckTime = value; }
+    }
+    [SerializeField]
+    float m_LongPressIntervalTime = 0.1f;
+    public float longPressIntervalTime
+    {
+        get { return m_LongPressIntervalTime; }
+        set { m_LongPressIntervalTime = value; }
+    }
+
+    float m_PressTime = 0.0f;
+    float m_PressIntervalTime = 0.0f;
+    bool m_LongPress = false;
+    bool m_IsButtonDown = false;
+
+    public override void OnPointerClick(PointerEventData eventData)
+    {
+        if (m_LongPress)
         {
-            get { return m_OnPress; }
-            set { m_OnPress = value; }
+            m_LongPress = false;
+            return;
         }
+        base.OnPointerClick(eventData);
+    }
 
-        [SerializeField]
-        float m_LongPressCheckTime = 0.5f;
-        public float longPressCheckTime
-        {
-            get { return m_LongPressCheckTime; }
-            set { m_LongPressCheckTime = value; }
-        }
-        [SerializeField]
-        float m_LongPressIntervalTime = 0.1f;
-        public float longPressIntervalTime
-        {
-            get { return m_LongPressIntervalTime; }
-            set { m_LongPressIntervalTime = value; }
-        }
+    public override void OnPointerDown(PointerEventData eventData)
+    {
+        base.OnPointerDown(eventData);
+        m_PressTime = 0.0f;
+        m_PressIntervalTime = 0.0f;
+        m_IsButtonDown = true;
+    }
 
-        float m_PressTime = 0.0f;
-        float m_PressIntervalTime = 0.0f;
-        bool m_LongPress = false;
-        bool m_IsButtonDown = false;
+    public override void OnPointerUp(PointerEventData eventData)
+    {
+        base.OnPointerUp(eventData);
+        m_IsButtonDown = false;
+    }
 
-        public override void OnPointerClick(PointerEventData eventData)
+    public override void OnPointerExit(PointerEventData eventData)
+    {
+        base.OnPointerExit(eventData);
+        m_IsButtonDown = false;
+        m_LongPress = false;
+    }
+
+    private void Update()
+    {
+        if (m_IsButtonDown)
         {
-            if (m_LongPress)
-            {
+            if (!this.interactable || !this.IsActive() || !this.enabled)
+            { 
+                // 濡傛灉鎸夐挳涓嶅彲鐢紝鍒欏彇娑堥暱鎸夌姸鎬�
+                m_IsButtonDown = false;
                 m_LongPress = false;
                 return;
             }
-            base.OnPointerClick(eventData);
-        }
-
-        public override void OnPointerDown(PointerEventData eventData)
-        {
-            base.OnPointerDown(eventData);
-            m_PressTime = 0.0f;
-            m_PressIntervalTime = 0.0f;
-            m_IsButtonDown = true;
-        }
-
-        public override void OnPointerUp(PointerEventData eventData)
-        {
-            base.OnPointerUp(eventData);
-            m_IsButtonDown = false;
-        }
-
-        public override void OnPointerExit(PointerEventData eventData)
-        {
-            base.OnPointerExit(eventData);
-            m_IsButtonDown = false;
-            m_LongPress = false;
-        }
-
-        private void Update()
-        {
-            if (m_IsButtonDown)
+            m_PressTime += Time.deltaTime;
+            if (m_PressTime < m_LongPressCheckTime)
             {
-                m_PressTime += Time.deltaTime;
-                if (m_PressTime < m_LongPressCheckTime)
-                {
-                    return;
-                }
-                if (m_PressIntervalTime >= m_LongPressIntervalTime)
-                {
-                    onPress.Invoke();
-                    m_PressIntervalTime = 0.0f;
-                }
-                m_PressIntervalTime += Time.deltaTime;
-                m_LongPress = true;
+                return;
             }
-        }
 
-        protected override void OnEnable()
-        {
-            base.OnEnable();
-            m_LongPress = false;
-            m_IsButtonDown = false;
+            if (m_PressIntervalTime >= m_LongPressIntervalTime)
+            {
+                onPress.Invoke();
+                m_PressIntervalTime = 0.0f;
+            }
+            m_PressIntervalTime += Time.deltaTime;
+            m_LongPress = true;
         }
     }
-}
 
+    protected override void OnEnable()
+    {
+        base.OnEnable();
+        m_LongPress = false;
+        m_IsButtonDown = false;
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0