57 lines
1.5 KiB
C#
Raw Normal View History

2025-01-02 12:15:45 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
/*******************************************************************************
*Create By CG
*Function image˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
*******************************************************************************/
namespace CG.UTility
{
public class ButtonExtension2 : MonoBehaviour, IPointerClickHandler
{
public float doubleClickIntervalTime = 0.25f;
/// <summary>
/// ˫<><CBAB>
/// </summary>
public UnityEvent onDoubleClick = new UnityEvent();
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </summary>
public UnityEvent onClick = new UnityEvent();
private float downTime = 0;
private int clickTimes = 0;
void Update()
{
if (clickTimes > 0)
{
downTime += Time.deltaTime;
if (downTime > doubleClickIntervalTime)
{
clickTimes = 0;
}
}
}
public void OnPointerClick(PointerEventData eventData)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
{
if (clickTimes == 0)
{
onClick.Invoke();
clickTimes += 1;
downTime = 0;
}
else
{
if (downTime <= doubleClickIntervalTime)
{
onDoubleClick.Invoke();
}
}
}
}
}