31 lines
		
	
	
		
			774 B
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			774 B
		
	
	
	
		
			C#
		
	
	
	
| namespace SRDebugger.UI.Controls
 | |
| {
 | |
|     using UnityEngine;
 | |
|     using UnityEngine.EventSystems;
 | |
| 
 | |
|     public class MultiTapButton : UnityEngine.UI.Button
 | |
|     {
 | |
|         private float _lastTap;
 | |
|         private int _tapCount;
 | |
|         public int RequiredTapCount = 3;
 | |
|         public float ResetTime = 0.5f;
 | |
| 
 | |
|         public override void OnPointerClick(PointerEventData eventData)
 | |
|         {
 | |
|             if (Time.unscaledTime - _lastTap > ResetTime)
 | |
|             {
 | |
|                 _tapCount = 0;
 | |
|             }
 | |
| 
 | |
|             _lastTap = Time.unscaledTime;
 | |
|             _tapCount++;
 | |
| 
 | |
|             if (_tapCount == RequiredTapCount)
 | |
|             {
 | |
|                 base.OnPointerClick(eventData);
 | |
|                 _tapCount = 0;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |