1
0
Fork 0
tetris-go/game/draw/shape.go

23 lines
448 B
Go

package draw
import (
"tetris/engine/core"
"tetris/engine/graphics"
"tetris/game/draw/grid"
rl "github.com/gen2brain/raylib-go/raylib"
)
type Shape interface {
Tile() graphics.Tile
Coordinates() [4]core.Vec2i8
}
func DrawShape(offset rl.Vector2, pos core.Vec2i8, shape Shape) {
tile := shape.Tile()
for _, coord := range shape.Coordinates() {
block := pos.Add(coord)
grid.DrawBlock(offset, byte(block.X), byte(block.Y), tile)
}
}