From 871594462e82d6bc1341918d39e11ab036d59563 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 18 九月 2025 19:26:28 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/Component/UI/Common/LongPressButton.cs | 150 ++++++++++++++++++++++++-------------------------
1 files changed, 74 insertions(+), 76 deletions(-)
diff --git a/Main/Component/UI/Common/LongPressButton.cs b/Main/Component/UI/Common/LongPressButton.cs
index a4d85a4..3cb9cf1 100644
--- a/Main/Component/UI/Common/LongPressButton.cs
+++ b/Main/Component/UI/Common/LongPressButton.cs
@@ -6,97 +6,95 @@
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)
+ 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;
}
- }
-
- protected override void OnEnable()
- {
- base.OnEnable();
- m_LongPress = false;
- m_IsButtonDown = false;
+ 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