gg/cmd/test/debug.go

79 lines
1.8 KiB
Go
Raw Normal View History

2023-12-23 00:09:07 +03:00
package main
2024-01-05 04:22:53 +03:00
import "vultras.su/core/gg"
2023-12-23 00:09:07 +03:00
import (
"strings"
"fmt"
)
type Debug struct {
gg.Visibility
gg.Layer
}
func (d *Debug) Draw(c *Context) {
e := c.Engine
keyStrs := []string{}
keyStrs = append(keyStrs, fmt.Sprintf(
"tps: %d", int(c.TPS()),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"fps: %d", int(c.FPS()),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"relPlayerPos: %v", player.Position,
))
keyStrs = append(keyStrs, fmt.Sprintf(
"absPlayerPos: %v", player.AbsPosition(),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"relTriPos: %v", tri.Position,
))
keyStrs = append(keyStrs, fmt.Sprintf(
"absTriPos: %v", tri.AbsPosition(),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"absTriRot: %v", gg.Degree(tri.AbsRotation()),
))
2023-12-24 15:05:34 +03:00
keys := []string{}
2023-12-23 00:09:07 +03:00
for _, k := range e.Keys() {
2023-12-24 15:05:34 +03:00
keys = append(keys, k.String())
2023-12-23 00:09:07 +03:00
}
2023-12-24 15:05:34 +03:00
keyStrs = append(keyStrs, fmt.Sprintf(
"keys: %s", strings.Join(keys, ", "),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"buttons: %v", c.MouseButtons(),
))
keyStrs = append(keyStrs, fmt.Sprintf(
"wheel: %v", c.Wheel(),
))
/*if rectMove.ContainsPoint(e.AbsCursorPosition()) {
2023-12-23 00:09:07 +03:00
keyStrs = append(keyStrs, "contains cursor")
}
if rectMove.Vertices().Contained(rect).Len() > 0 ||
rect.Vertices().Contained(rectMove).Len() > 0 {
keyStrs = append(keyStrs, "rectangles intersect")
2023-12-24 15:05:34 +03:00
}*/
keyStrs = append(keyStrs, fmt.Sprintf(
"camera position: %v %v",
c.Camera.Position.X,
c.Camera.Position.Y,
))
keyStrs = append(keyStrs, fmt.Sprintf("realCursorPos: %v", e.CursorPosition()))
keyStrs = append(keyStrs, fmt.Sprintf("absCursorPos: %v", e.AbsCursorPosition()))
2023-12-23 00:09:07 +03:00
keyStrs = append(keyStrs, fmt.Sprintf("absWinSize: %v", c.AbsWinSize()))
e.DebugPrint(c.Image,
strings.Join(keyStrs, "\n"))
}
func (d *Debug) IsVisible() bool { return true }