diff options
author | Julien Dessaux | 2025-02-19 00:19:58 +0100 |
---|---|---|
committer | Julien Dessaux | 2025-02-19 00:19:58 +0100 |
commit | 312ef2eb5792cd145d6829e2abc017dd304c5819 (patch) | |
tree | cf782f8356bea73eacb5495631794cf5584e00cb /golang/pkg/agent/visit.go | |
parent | [golang] update error handling and bootstrap trade procurement (diff) | |
download | spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.tar.gz spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.tar.bz2 spacetraders-312ef2eb5792cd145d6829e2abc017dd304c5819.zip |
[golang] implement trading and contracting
Diffstat (limited to 'golang/pkg/agent/visit.go')
-rw-r--r-- | golang/pkg/agent/visit.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/golang/pkg/agent/visit.go b/golang/pkg/agent/visit.go index 4d79fef..3004553 100644 --- a/golang/pkg/agent/visit.go +++ b/golang/pkg/agent/visit.go @@ -39,9 +39,17 @@ func (a *agent) visitAllShipyards(ship *model.Ship) error { if err := a.client.Navigate(ship, waypoints[0].Symbol, a.db); err != nil { return fmt.Errorf("failed to navigate to %s: %w", waypoints[0].Symbol, err) } - if _, err := a.client.GetShipyard(&waypoints[0], a.db); err != nil { + if _, err := a.client.GetShipyard(waypoints[0].Symbol, a.db); err != nil { return fmt.Errorf("failed to get shipyard %s: %w", waypoints[0].Symbol, err) } - // TODO get market data + // If this waypoint is also a marketplace, get its data + for _, trait := range waypoints[0].Traits { + if trait.Symbol == "MARKETPLACE" { + if _, err := a.client.GetMarket(waypoints[0].Symbol, a.db); err != nil { + return fmt.Errorf("failed to get market %s: %w", waypoints[0].Symbol, err) + } + break + } + } return a.visitAllShipyards(ship) } |