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