39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System;
|
|
using RebootKit.Engine.UI;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace RebootKit.Engine.Services.Development {
|
|
public class DebugOverlayView : UIDocumentView {
|
|
const string k_DebugLabelClassName = "rr__debug-label";
|
|
|
|
VisualElement m_RootElement;
|
|
|
|
Label m_FPSLabel;
|
|
|
|
void Update() {
|
|
if (m_RootElement == null) {
|
|
return;
|
|
}
|
|
|
|
m_FPSLabel.text = $"fps: {Mathf.RoundToInt(1f / Time.deltaTime)} | dt: {Time.deltaTime:F4}ms | runtime: {Time.time:F4}s";
|
|
}
|
|
|
|
public override VisualElement Build() {
|
|
m_RootElement = new VisualElement();
|
|
|
|
CreateLabel($"Toggle Overlay [F3] | RebootKit | game: {Application.productName}, version: {Application.version}");
|
|
m_FPSLabel = CreateLabel($"FPS: {Application.targetFrameRate}");
|
|
|
|
return m_RootElement;
|
|
}
|
|
|
|
Label CreateLabel(string text) {
|
|
Label label = (Label)LabelBuilder.New(text).Build();
|
|
label.AddToClassList(k_DebugLabelClassName);
|
|
|
|
m_RootElement.Add(label);
|
|
return label;
|
|
}
|
|
}
|
|
} |