diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2023-09-15 08:10:04 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2023-09-15 08:10:04 +0200 |
| commit | 2d2a9fe8520f469897f49dc261289d7cc1c5d26c (patch) | |
| tree | 79cf40889d6bf3cdaa26c158ec271d40f9692f6a /person.go | |
| parent | f7c05f1b9417eff446753b8fafc7829859521aa3 (diff) | |
refactor: Into ECS
Diffstat (limited to 'person.go')
| -rw-r--r-- | person.go | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/person.go b/person.go deleted file mode 100644 index 4ddeddc..0000000 --- a/person.go +++ /dev/null @@ -1,49 +0,0 @@ -package main - -import ( - "image/color" - - "github.com/hajimehoshi/ebiten/v2" -) - -type Person struct { - size Point - Position Point - IsSelected bool - move Move - image *ebiten.Image - selectedImage *ebiten.Image -} - -func NewPerson(position Point) Person { - image := ebiten.NewImage(100, 100) - image.Fill(color.RGBA{0xff, 0xff, 0xff, 0xff}) - selectedImage := ebiten.NewImage(120, 120) - op := &ebiten.DrawImageOptions{} - op.GeoM.Translate(10, 10) - selectedImage.Fill(color.RGBA{0xff, 0x00, 0x00, 0xff}) - selectedImage.DrawImage(image, op) - return Person{Position: position, size: Point{100, 100}, image: image, selectedImage: selectedImage} -} - -func (p Person) Image() *ebiten.Image { - if p.IsSelected { - return p.selectedImage - } - return p.image -} - -func (p Person) CollisionBounds() Rectangle { - return Rectangle{ - p.Position.Sub(p.size.Div(2)), - p.Position.Add(p.size.Div(2)), - } -} - -func (p *Person) MoveTo(destination Point, blocked map[Point]bool) { - p.move = NewMove(p.Position, destination, blocked) -} - -func (p *Person) Update() { - p.Position = p.move.Update(p.Position, 10) -} |
