From bfd7f2ed0499f8285c41cf18c3a3cb16a08a95f5 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sat, 26 Aug 2023 10:51:49 +0200 Subject: refactor: Use person image size --- main.go | 7 +++++-- person.go | 8 -------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index 1de0da6..f2b6c64 100644 --- a/main.go +++ b/main.go @@ -57,7 +57,10 @@ func (g *Game) Draw(screen *ebiten.Image) { screen.Fill(shallowWaterColor) soil.Fill(soilColor) for _, p := range g.Persons { - soil.DrawImage(p.Image(), GetDrawImageOptions(p.Size(), p.Position)) + bounds := p.Image().Bounds() + op := &ebiten.DrawImageOptions{} + op.GeoM.Translate(p.Position.X-float64(bounds.Dx())/2, p.Position.Y-float64(bounds.Dy())/2) + soil.DrawImage(p.Image(), op) } op := &ebiten.DrawImageOptions{} op.GeoM.Translate(soil.Position.X, soil.Position.Y) @@ -72,7 +75,7 @@ func main() { ebiten.SetWindowSize(1280, 960) ebiten.SetWindowTitle("Age of Empire") game := &Game{} - mainPerson := NewPerson(Vec{X: 120, Y: 80}) + mainPerson := NewPerson(Vec{float64(soil.Image.Bounds().Dx()) / 2, float64(soil.Image.Bounds().Dy()) / 2}) game.Persons = append(game.Persons, &mainPerson) if err := ebiten.RunGame(game); err != nil { panic(err) diff --git a/person.go b/person.go index 777b782..1c316e7 100644 --- a/person.go +++ b/person.go @@ -32,14 +32,6 @@ func (p Person) Image() *ebiten.Image { return p.image } -func (p Person) Size() Vec { - if p.IsSelected { - return Vec{X: p.size.X + 2, Y: p.size.Y + 2} - } else { - return p.size - } -} - func (p Person) Bounds() Rectangle { return Rectangle{Vec{p.Position.X - p.size.X/2, p.Position.Y - p.size.Y/2}, Vec{p.Position.X + p.size.X/2, p.Position.Y + p.size.Y/2}} } -- cgit v1.3