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