36 lines
		
	
	
		
			904 B
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			904 B
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								namespace SRDebugger.UI.Other
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    using SRF;
							 | 
						|||
| 
								 | 
							
								    using UnityEngine;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public class LoadingSpinnerBehaviour : SRMonoBehaviour
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        private float _dt;
							 | 
						|||
| 
								 | 
							
								        public int FrameCount = 12;
							 | 
						|||
| 
								 | 
							
								        public float SpinDuration = 0.8f;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private void Update()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            _dt += Time.unscaledDeltaTime;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var localRotation = CachedTransform.localRotation.eulerAngles;
							 | 
						|||
| 
								 | 
							
								            var r = localRotation.z;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var fTime = SpinDuration/FrameCount;
							 | 
						|||
| 
								 | 
							
								            var hasChanged = false;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            while (_dt > fTime)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                r -= 360f/FrameCount;
							 | 
						|||
| 
								 | 
							
								                _dt -= fTime;
							 | 
						|||
| 
								 | 
							
								                hasChanged = true;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            if (hasChanged)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                CachedTransform.localRotation = Quaternion.Euler(localRotation.x, localRotation.y, r);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |