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 OnOneParaClick; public override void OnPointerClick(PointerEventData eventData) { base.OnPointerClick(eventData); if (OnCheckDbClick()) { return; } if (OnOneParaClick != null) OnOneParaClick(intInfo); } #region 双击 private float dbInterval = 0.3f; private bool m_IsOnDb = false; private bool m_FreezeDbClick = false; public Action m_OnDbClick; private bool OnCheckDbClick() { if (m_OnDbClick == null) { return false; } if (m_IsOnDb) { if (!m_FreezeDbClick) { m_OnDbClick(); m_IsOnDb = false; m_FreezeDbClick = true; } } else { m_FreezeDbClick = false; m_IsOnDb = true; } TimeMgr.Instance.Register(this, OnDbCallback, dbInterval); return true; } private void OnDbCallback(Component comp) { if (!m_FreezeDbClick) { if (OnOneParaClick != null) OnOneParaClick(intInfo); } m_FreezeDbClick = false; m_IsOnDb = false; } #endregion protected override void OnDisable() { if (Application.isPlaying) { TimeMgr.Instance.UnRegister(this); } } }