From 03adccc9ec7a84a08f9d62287b42e09ce2b2963e Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sat, 26 Aug 2023 11:08:17 +0200 Subject: refactor: Use standard geom --- person.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'person.go') diff --git a/person.go b/person.go index 1c316e7..0bf0992 100644 --- a/person.go +++ b/person.go @@ -7,14 +7,14 @@ import ( ) type Person struct { - size Vec - Position Vec + size Point + Position Point IsSelected bool image *ebiten.Image selectedImage *ebiten.Image } -func NewPerson(position Vec) Person { +func NewPerson(position Point) Person { image := ebiten.NewImage(10, 10) image.Fill(color.RGBA{0xff, 0xff, 0xff, 0xff}) selectedImage := ebiten.NewImage(12, 12) @@ -22,7 +22,7 @@ func NewPerson(position Vec) Person { op.GeoM.Translate(1, 1) selectedImage.Fill(color.RGBA{0xff, 0x00, 0x00, 0xff}) selectedImage.DrawImage(image, op) - return Person{Position: position, size: Vec{X: 10, Y: 10}, image: image, selectedImage: selectedImage} + return Person{Position: position, size: Point{10, 10}, image: image, selectedImage: selectedImage} } func (p Person) Image() *ebiten.Image { @@ -32,6 +32,9 @@ func (p Person) Image() *ebiten.Image { return p.image } -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}} +func (p Person) CollisionBounds() Rectangle { + return Rectangle{ + p.Position.Sub(p.size.Div(2)), + p.Position.Add(p.size.Div(2)), + } } -- cgit v1.3