From cad87129e5ea2fd23cc195ed0444bd38f1117aa7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 05 八月 2025 15:51:54 +0800
Subject: [PATCH] 79 【常规】背包 - 随机宝箱界面,自选宝箱界面,获得物品奖励界面

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

diff --git a/Main/Component/UI/Common/LongPressButton.cs b/Main/Component/UI/Common/LongPressButton.cs
index b84d4ce..3cb9cf1 100644
--- a/Main/Component/UI/Common/LongPressButton.cs
+++ b/Main/Component/UI/Common/LongPressButton.cs
@@ -6,93 +6,95 @@
 using UnityEngine.Serialization;
 using UnityEngine.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)
+            m_PressTime += Time.deltaTime;
+            if (m_PressTime < m_LongPressCheckTime)
             {
-                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)
+            if (m_PressIntervalTime >= m_LongPressIntervalTime)
             {
-                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;
+                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
+    protected override void OnEnable()
+    {
+        base.OnEnable();
+        m_LongPress = false;
+        m_IsButtonDown = false;
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0