summaryrefslogtreecommitdiff
path: root/golang/pkg/agent/visit.go
diff options
context:
space:
mode:
authorJulien Dessaux2025-02-18 00:05:48 +0100
committerJulien Dessaux2025-02-18 00:05:48 +0100
commit3656b87b86c76580fe947f02ac920343b49041a1 (patch)
treefaecd73a77f6596b35b5c3d25178aaaf4a4ca30c /golang/pkg/agent/visit.go
parent[golang] implement shipyards visits (diff)
downloadspacetraders-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.go16
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 {