diff options
author | Julien Dessaux | 2025-02-18 00:05:48 +0100 |
---|---|---|
committer | Julien Dessaux | 2025-02-18 00:05:48 +0100 |
commit | 3656b87b86c76580fe947f02ac920343b49041a1 (patch) | |
tree | faecd73a77f6596b35b5c3d25178aaaf4a4ca30c /golang/pkg/agent/visit.go | |
parent | [golang] implement shipyards visits (diff) | |
download | spacetraders-3656b87b86c76580fe947f02ac920343b49041a1.tar.gz spacetraders-3656b87b86c76580fe947f02ac920343b49041a1.tar.bz2 spacetraders-3656b87b86c76580fe947f02ac920343b49041a1.zip |
[golang] implement sending the starting probe to a shipyard that sells other probes
Diffstat (limited to 'golang/pkg/agent/visit.go')
-rw-r--r-- | golang/pkg/agent/visit.go | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/golang/pkg/agent/visit.go b/golang/pkg/agent/visit.go index 2401b8d..448b885 100644 --- a/golang/pkg/agent/visit.go +++ b/golang/pkg/agent/visit.go @@ -8,11 +8,7 @@ import ( ) func (a *agent) visitAllShipyards(ship *model.Ship) error { - system, err := a.client.GetSystem(ship.Nav.SystemSymbol, a.db) - if err != nil { - return fmt.Errorf("failed to visit all shipyards: %w", err) - } - shipyards, err := a.listShipyardsInSystem(system) + shipyards, err := a.listShipyardsInSystem(ship.Nav.SystemSymbol) if err != nil { return fmt.Errorf("failed to visit all shipyards: %w", err) } @@ -22,11 +18,7 @@ func (a *agent) visitAllShipyards(ship *model.Ship) error { return true } // filter out shipyards for which a ship is either present or inbound - waypoint, err := a.client.GetWaypoint(shipyard.Symbol, a.db) - if err != nil { - panic(fmt.Errorf("failed to visit all shipyards: %w", err)) - } - return a.isThereAShipAtWaypoint(waypoint) + return a.isThereAShipAtWaypoint(shipyard.Symbol) }) if len(shipyards) == 0 { return nil @@ -43,8 +35,8 @@ func (a *agent) visitAllShipyards(ship *model.Ship) error { } waypoints = append(waypoints, *waypoint) } - sortByDistanceFrom(*waypoint, waypoints) - if err := a.client.Navigate(ship, &waypoints[0], a.db); err != nil { + sortByDistanceFrom(waypoint, waypoints) + if err := a.client.Navigate(ship, waypoints[0].Symbol, a.db); err != nil { return fmt.Errorf("failed to visit all shipyards: %w", err) } if _, err := a.client.GetShipyard(&waypoints[0], a.db); err != nil { |