1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
package coreobjects
import (
"fmt"
settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings"
rl "github.com/gen2brain/raylib-go/raylib"
)
type OveralyScene struct {
FPS FpsMeter
updateFunctions []UpdateFunction
}
func (base *OveralyScene) Create(_ *SceneManager) {
base.updateFunctions = []UpdateFunction { base.Update }
}
func (base *OveralyScene) GetUpdateFunctions() []UpdateFunction {
return base.updateFunctions
}
func (base *OveralyScene) Destroy() {
}
func (base *OveralyScene) GetMousePosition() rl.Vector2 {
return rl.GetMousePosition()
}
func (base *OveralyScene) Update() {
base.FPS.Update()
if rl.IsKeyPressed(rl.KeyF7) {
settings.State.DrawColliders = !settings.State.DrawColliders
}
}
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)
}
|