package objs import ( "github.com/Zyko0/go-sdl3/sdl" "ponger/ecs" "ponger/events" ) type Cursor struct { *ecs.GameObject } func (c *Cursor) Render(renderer *sdl.Renderer) { renderer.SetDrawColor(255, 0, 0, 255) size := float32(13) r := &sdl.FRect{ X: c.Position.X - size/2, Y: c.Position.Y - size/2, W: size, H: size, } renderer.RenderRect(r) } func (c *Cursor) ProcessMouseMotion(ev events.MouseMotion) { c.Position.X += ev.Dx c.Position.Y += ev.Dy if c.Position.X < 0 { c.Position.X = 0 } if c.Position.Y < 0 { c.Position.Y = 0 } } func (c *Cursor) GO() *ecs.GameObject { return c.GameObject } func NewCursor() ecs.IsGameObject { return &Cursor{ GameObject: &ecs.GameObject{}, } }