57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
|
|
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();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|