diff options
Diffstat (limited to '')
-rw-r--r-- | golang/pkg/agent/utils.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/golang/pkg/agent/utils.go b/golang/pkg/agent/utils.go index 7aa9c7b..86f428d 100644 --- a/golang/pkg/agent/utils.go +++ b/golang/pkg/agent/utils.go @@ -47,7 +47,7 @@ func (a *agent) listMarketsInSystem(systemSymbol string) ([]model.Market, error) } var markets []model.Market for i := range waypoints { - market, err := a.client.GetMarket(waypoints[i].Symbol) + market, err := a.client.GetMarket(waypoints[i].Symbol, a.ships) if err != nil { return nil, fmt.Errorf("failed to get market %s: %w", waypoints[i].Symbol, err) } @@ -63,7 +63,7 @@ func (a *agent) listShipyardsInSystem(systemSymbol string) ([]model.Shipyard, er } var shipyards []model.Shipyard for i := range waypoints { - shipyard, err := a.client.GetShipyard(waypoints[i].Symbol) + shipyard, err := a.client.GetShipyard(waypoints[i].Symbol, a.ships) if err != nil { return nil, fmt.Errorf("failed to get shipyard %s: %w", waypoints[i].Symbol, err) } @@ -86,6 +86,9 @@ func (a *agent) sendShipToShipyardThatSells(ship *model.Ship, shipType string) e } return true }) + if len(shipyards) == 0 { + return fmt.Errorf("no shipyards sells that ship type") + } // sort by cheapest slices.SortFunc(shipyards, func(a, b model.Shipyard) int { aPrice := math.MaxInt @@ -104,7 +107,7 @@ func (a *agent) sendShipToShipyardThatSells(ship *model.Ship, shipType string) e } return cmp.Compare(aPrice, bPrice) }) - if err := a.client.Navigate(ship, shipyards[0].Symbol); err != nil { + if err := a.navigate(ship, shipyards[0].Symbol); err != nil { return fmt.Errorf("failed to navigate to %s: %w", shipyards[0].Symbol, err) } return nil |