diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2023-09-03 19:05:41 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2023-09-03 19:05:41 +0200 |
| commit | 35b316123c6d768cfb064c1abfdbc41bb54b9e68 (patch) | |
| tree | 4f3cf24f71482dc704e81e756b79d0cb1d11a0e0 /main.go | |
| parent | e53b735c70b784f8bf8aa4d442f30dd8dfff6730 (diff) | |
feat: Move along grid
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -40,14 +40,19 @@ func (g *Game) Update() error { g.Selection.IsActive = true } if inpututil.IsMouseButtonJustReleased(ebiten.MouseButtonRight) { - tileClick := Point{x - soil.Position.X, y - soil.Position.Y} + destination := Point{ + (x-soil.Position.X)/100*100 + 50, + (y-soil.Position.Y)/100*100 + 50, + } for _, p := range g.Persons { - futureBounds := Rectangle{ - tileClick.Sub(p.size.Div(2)), - tileClick.Add(p.size.Div(2)), - } - if p.IsSelected && futureBounds.In(soil.Bounds()) { - p.MoveTo(tileClick) + if p.IsSelected { + futureBounds := Rectangle{ + destination.Sub(p.size.Div(2)), + destination.Add(p.size.Div(2)), + } + if futureBounds.In(soil.Bounds()) { + p.MoveTo(destination) + } } } } |
