| | |
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using UnityEngine;
|
| | | using UnityEngine.EventSystems;
|
| | | using UnityEngine.UI;
|
| | |
|
| | | public class ButtonExtend : ButtonEx
|
| | | {
|
| | | public int intInfo = 0;
|
| | | //public bool OnListen { get; set; }
|
| | | public Action<int> OnOneParaClick;
|
| | |
|
| | | public Action<int> onceClick;
|
| | |
|
| | | public override void OnPointerClick(PointerEventData eventData)
|
| | | {
|
| | | base.OnPointerClick(eventData);
|
| | | if (OnCheckDbClick())
|
| | | if (IsDoubleClick())
|
| | | {
|
| | | return;
|
| | | }
|
| | | if (OnOneParaClick != null) OnOneParaClick(intInfo);
|
| | | if (onceClick != null) onceClick(intInfo);
|
| | | }
|
| | |
|
| | | #region 双击
|
| | | private float dbInterval = 0.3f;
|
| | | private bool m_IsOnDb = false;
|
| | |
|
| | | private float doubleClickInterval = 0.3f;
|
| | | private bool m_IsOnDoubleClick = false;
|
| | | private bool m_FreezeDbClick = false;
|
| | | public Action m_OnDbClick;
|
| | | private bool OnCheckDbClick()
|
| | | public Action doubleClick;
|
| | |
|
| | | private bool IsDoubleClick()
|
| | | {
|
| | | if (m_OnDbClick == null)
|
| | | if (doubleClick == null)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | if (m_IsOnDb)
|
| | |
|
| | | if (m_IsOnDoubleClick)
|
| | | {
|
| | | if (!m_FreezeDbClick)
|
| | | {
|
| | | m_OnDbClick();
|
| | | m_IsOnDb = false;
|
| | | doubleClick();
|
| | | m_IsOnDoubleClick = false;
|
| | | m_FreezeDbClick = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_FreezeDbClick = false;
|
| | | m_IsOnDb = true;
|
| | | m_IsOnDoubleClick = true;
|
| | | }
|
| | | TimeMgr.Instance.Register(this, OnDbCallback, dbInterval);
|
| | |
|
| | | TimeMgr.Instance.Register(this, OnDoubleClickCallback, doubleClickInterval);
|
| | | return true;
|
| | | }
|
| | |
|
| | | private void OnDbCallback(Component comp)
|
| | | private void OnDoubleClickCallback(Component comp)
|
| | | {
|
| | | if (!m_FreezeDbClick)
|
| | | {
|
| | | if (OnOneParaClick != null) OnOneParaClick(intInfo);
|
| | | if (onceClick != null) onceClick(intInfo);
|
| | | }
|
| | |
|
| | | m_FreezeDbClick = false;
|
| | | m_IsOnDb = false;
|
| | | m_IsOnDoubleClick = false;
|
| | | }
|
| | | #endregion
|
| | |
|