last_light/engine/engine_arbitrary_drawable.go

29 lines
531 B
Go
Raw Normal View History

2024-05-06 20:43:35 +03:00
package engine
import (
"github.com/gdamore/tcell/v2/views"
"github.com/google/uuid"
)
type ArbitraryDrawable struct {
id uuid.UUID
drawingInstructions func(v views.View)
}
func CreateDrawingInstructions(instructions func(v views.View)) *ArbitraryDrawable {
a := new(ArbitraryDrawable)
a.id = uuid.New()
a.drawingInstructions = instructions
return a
}
func (ab *ArbitraryDrawable) UniqueId() uuid.UUID {
return ab.id
}
func (ab *ArbitraryDrawable) Draw(v views.View) {
ab.drawingInstructions(v)
}