last_light/engine/engine_arbitrary_drawable.go
2024-06-06 23:17:22 +03:00

28 lines
531 B
Go

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)
}