39 lines
		
	
	
		
			889 B
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			889 B
		
	
	
	
		
			C#
		
	
	
	
namespace SRDebugger.UI
 | 
						|
{
 | 
						|
    using Services;
 | 
						|
    using SRF;
 | 
						|
    using UnityEngine;
 | 
						|
    using UnityEngine.UI;
 | 
						|
 | 
						|
    public class ProfilerFPSLabel : SRMonoBehaviourEx
 | 
						|
    {
 | 
						|
        private float _nextUpdate;
 | 
						|
 | 
						|
        protected override void Update()
 | 
						|
        {
 | 
						|
            base.Update();
 | 
						|
 | 
						|
            if (Time.realtimeSinceStartup > _nextUpdate)
 | 
						|
            {
 | 
						|
                Refresh();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private void Refresh()
 | 
						|
        {
 | 
						|
            _text.text = "FPS: {0:0.00}".Fmt(1f/_profilerService.AverageFrameTime);
 | 
						|
 | 
						|
            _nextUpdate = Time.realtimeSinceStartup + UpdateFrequency;
 | 
						|
        }
 | 
						|
#pragma warning disable 649
 | 
						|
 | 
						|
        [Import] private IProfilerService _profilerService;
 | 
						|
 | 
						|
        public float UpdateFrequency = 1f;
 | 
						|
 | 
						|
        [RequiredField] [SerializeField] private Text _text;
 | 
						|
 | 
						|
#pragma warning restore 649
 | 
						|
    }
 | 
						|
}
 |