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