summaryrefslogtreecommitdiff
path: root/engine/CoreObjects/OverlayScene.go
diff options
context:
space:
mode:
authorPhyscik <mynameisgennadiy@vk.com>2026-01-06 18:53:57 +0500
committerPhyscik <mynameisgennadiy@vk.com>2026-01-06 18:53:57 +0500
commitd804d0467399c821a05832a96ae4780ef69fb1bf (patch)
tree69a51d854684625af082202f6687587d9343c10b /engine/CoreObjects/OverlayScene.go
parent41a6f340e6d455444aecf216271a09cce192e0e9 (diff)
Project init
Diffstat (limited to 'engine/CoreObjects/OverlayScene.go')
-rw-r--r--engine/CoreObjects/OverlayScene.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/engine/CoreObjects/OverlayScene.go b/engine/CoreObjects/OverlayScene.go
new file mode 100644
index 0000000..5c43e11
--- /dev/null
+++ b/engine/CoreObjects/OverlayScene.go
@@ -0,0 +1,60 @@
+package coreobjects
+
+import (
+ "fmt"
+
+ settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings"
+ rl "github.com/gen2brain/raylib-go/raylib"
+)
+
+type OveralyScene struct {
+ FPS FpsMeter
+}
+
+func (base *OveralyScene) Create(_ SceneManager) {
+}
+
+func (base *OveralyScene) Destroy() {
+}
+
+func (base *OveralyScene) Update() {
+ base.FPS.Update()
+}
+
+func (base *OveralyScene) Draw() {
+ var appendix = ""
+ if settings.Current.Version.IsBeta {
+ appendix = " b"
+ }
+ var version = fmt.Sprintf("%d.%d.%d%s", settings.Current.Version.MajorVersion, settings.Current.Version.MinorVersion, settings.Current.Version.Patch, appendix)
+ rl.DrawText(version, 2, int32(rl.GetScreenHeight()) - 20, 20, rl.Black)
+ base.FPS.Draw()
+}
+
+// =============== FPS METER ===============
+
+type FpsMeter struct {
+ deltaTime float32
+ Value float32
+ FramesElapsed uint
+}
+
+func (base *FpsMeter) Create(SceneManager) {
+}
+
+func (base *FpsMeter) Destroy() {
+}
+
+func (base *FpsMeter) Update() {
+ base.deltaTime += rl.GetFrameTime()
+ base.FramesElapsed++
+ if base.deltaTime >= 1 {
+ base.Value = float32(base.FramesElapsed)
+ base.deltaTime = 0
+ base.FramesElapsed = 0
+ }
+}
+
+func (base *FpsMeter) Draw() {
+ rl.DrawText(fmt.Sprintf("%v FPS", base.Value), 0, 0, 20, rl.Green)
+}