34 lines
466 B
Go
34 lines
466 B
Go
package blocks
|
|
|
|
import (
|
|
"image/color"
|
|
|
|
"git.vezzani.net/ben/games/common/elements/v1"
|
|
)
|
|
|
|
type OptFunc func(*Block)
|
|
|
|
func Core(f elements.OptFunc) OptFunc {
|
|
return func(b *Block) {
|
|
f(&b.Core)
|
|
}
|
|
}
|
|
|
|
func Size(w, h int) OptFunc {
|
|
return func(b *Block) {
|
|
b.width, b.height = w, h
|
|
}
|
|
}
|
|
|
|
func BackgroundColor(c color.Color) OptFunc {
|
|
return func(b *Block) {
|
|
b.backgroundColor = &c
|
|
}
|
|
}
|
|
|
|
func Name(n string) OptFunc {
|
|
return func(b *Block) {
|
|
b.name = n
|
|
}
|
|
}
|