52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
namespace SRDebugger.UI.Controls
 | 
						|
{
 | 
						|
    using SRF;
 | 
						|
    using UnityEngine;
 | 
						|
    using UnityEngine.UI;
 | 
						|
 | 
						|
    [RequireComponent(typeof (RectTransform))]
 | 
						|
    public class ProfilerGraphAxisLabel : SRMonoBehaviourEx
 | 
						|
    {
 | 
						|
        private float _prevFrameTime;
 | 
						|
        private float? _queuedFrameTime;
 | 
						|
        private float _yPosition;
 | 
						|
 | 
						|
        [RequiredField] public Text Text;
 | 
						|
 | 
						|
        protected override void Update()
 | 
						|
        {
 | 
						|
            base.Update();
 | 
						|
 | 
						|
            if (_queuedFrameTime.HasValue)
 | 
						|
            {
 | 
						|
                SetValueInternal(_queuedFrameTime.Value);
 | 
						|
                _queuedFrameTime = null;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public void SetValue(float frameTime, float yPosition)
 | 
						|
        {
 | 
						|
            if (_prevFrameTime == frameTime && _yPosition == yPosition)
 | 
						|
            {
 | 
						|
                return;
 | 
						|
            }
 | 
						|
 | 
						|
            _queuedFrameTime = frameTime;
 | 
						|
            _yPosition = yPosition;
 | 
						|
        }
 | 
						|
 | 
						|
        private void SetValueInternal(float frameTime)
 | 
						|
        {
 | 
						|
            _prevFrameTime = frameTime;
 | 
						|
 | 
						|
            var ms = Mathf.FloorToInt(frameTime*1000);
 | 
						|
            var fps = Mathf.RoundToInt(1f/frameTime);
 | 
						|
 | 
						|
            Text.text = "{0}ms ({1}FPS)".Fmt(ms, fps);
 | 
						|
 | 
						|
            var r = (RectTransform) CachedTransform;
 | 
						|
            r.anchoredPosition = new Vector2(r.rect.width*0.5f + 10f, _yPosition);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |