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;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |