diff --git a/DaggerFramework/Source/Rendering/RaylibRenderer.cs b/DaggerFramework/Source/Rendering/RaylibRenderer.cs index 3b76a64..6942535 100644 --- a/DaggerFramework/Source/Rendering/RaylibRenderer.cs +++ b/DaggerFramework/Source/Rendering/RaylibRenderer.cs @@ -100,7 +100,7 @@ namespace DaggerFramework.Rendering Raylib.ClearBackground(DaggerColorToRaylibColor(color)); } - public override double GetFrameTime() + protected override double GetFrameTime() { return (double)Raylib.GetFrameTime(); } diff --git a/DaggerFramework/Source/Rendering/Renderer.cs b/DaggerFramework/Source/Rendering/Renderer.cs index 1a72e29..f07392c 100644 --- a/DaggerFramework/Source/Rendering/Renderer.cs +++ b/DaggerFramework/Source/Rendering/Renderer.cs @@ -30,6 +30,7 @@ namespace DaggerFramework.Rendering /// public abstract int TargetFps { get; set; } public abstract bool VSync { get; set; } + public double FrameTime => GetFrameTime(); // WINDOW /// @@ -52,6 +53,7 @@ namespace DaggerFramework.Rendering protected abstract void SetWindowTitle(string title); protected abstract void SetWindowVSync(bool value); protected abstract void SetTargetFps(int fps); + protected abstract double GetFrameTime(); protected abstract int GetMonitorWidth(int monitorId); protected abstract int GetMonitorHeight(int monitorId); protected abstract int GetCurrentMonitor(); @@ -76,7 +78,6 @@ namespace DaggerFramework.Rendering /// /// Background color. public abstract void ClearBackground(Color color); - public abstract double GetFrameTime(); /// /// Loads the texture onto the GPU for later use in DrawTexture or other Texture related methods. diff --git a/DaggerFramework/Source/Rendering/StandardRenderer.cs b/DaggerFramework/Source/Rendering/StandardRenderer.cs index c94e1ac..c7126dd 100644 --- a/DaggerFramework/Source/Rendering/StandardRenderer.cs +++ b/DaggerFramework/Source/Rendering/StandardRenderer.cs @@ -89,7 +89,7 @@ namespace DaggerFramework.Rendering } /// - public override double GetFrameTime() + protected override double GetFrameTime() { return 0.0; } diff --git a/DaggerFramework/Source/SceneGraph/Scene.cs b/DaggerFramework/Source/SceneGraph/Scene.cs index 267d6e9..6bb4fdb 100644 --- a/DaggerFramework/Source/SceneGraph/Scene.cs +++ b/DaggerFramework/Source/SceneGraph/Scene.cs @@ -13,7 +13,7 @@ namespace DaggerFramework.SceneGraph public AudioBackend Audio => _audioBackend; public ResourceManager ResourceManager => _resourceManager; - public double DeltaTime => Renderer.GetFrameTime(); + public double DeltaTime => _renderer.FrameTime; public bool ShouldRun => Renderer.ShouldRun; public Scene(Renderer renderer, InputHandler input, AudioBackend audioBackend, ResourceManager resourceManager) diff --git a/TestGame/TestGame.cs b/TestGame/TestGame.cs index 0cbf463..b98912c 100644 --- a/TestGame/TestGame.cs +++ b/TestGame/TestGame.cs @@ -74,8 +74,12 @@ public class TestGame : Game { while (_scene.ShouldRun) { - // _renderer.SetWindowTitle($"Test Game ({_renderer.GetFrameTime()} ms)"); _scene.Update(); + + double frameTimeMs = _renderer.FrameTime * 1000f; + + _renderer.SetTransform(Vector2.One * 32f, Vector2.Zero, 0f); + _renderer.DrawText(_fontHandle, $"{frameTimeMs:0.0} ms", 20, new Color(1f, 1f, 1f, 0.5f)); } }