23 lines
448 B
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)
|
|
}
|
|
}
|