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