Use map rect
This commit is contained in:
@@ -172,18 +172,15 @@ func (e *env) Update(screenX, screenY int) error {
|
||||
|
||||
func (e *env) Draw(screen *ebiten.Image) error {
|
||||
gameMap := e.gameMap
|
||||
imd, err := ebiten.NewImage(
|
||||
int(gameMap.MaxWidth),
|
||||
int(gameMap.MaxLength),
|
||||
ebiten.FilterDefault,
|
||||
)
|
||||
rect := gameMap.Rect()
|
||||
imd, err := ebiten.NewImage(rect.Dx(), rect.Dy(), ebiten.FilterDefault)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for y := int(gameMap.MinLength); y < int(gameMap.MaxLength); y++ {
|
||||
for x := int(gameMap.MinWidth); x < int(gameMap.MaxWidth); x++ {
|
||||
for y := int(rect.Min.Y); y < int(rect.Max.Y); y++ {
|
||||
for x := int(rect.Min.X); x < int(rect.Max.X); x++ {
|
||||
cell := gameMap.Cells.At(x, y, int(e.state.zIdx))
|
||||
imd.Set(x, y, makeColour(&cell, e.state.cellIdx))
|
||||
}
|
||||
|
Reference in New Issue
Block a user