summaryrefslogtreecommitdiff
path: root/golang/pkg/agent/visit.go
diff options
context:
space:
mode:
authorJulien Dessaux2025-02-19 00:19:58 +0100
committerJulien Dessaux2025-02-19 00:19:58 +0100
commit312ef2eb5792cd145d6829e2abc017dd304c5819 (patch)
treecf782f8356bea73eacb5495631794cf5584e00cb /golang/pkg/agent/visit.go
parent[golang] update error handling and bootstrap trade procurement (diff)
downloadspacetraders-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.go12
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)
}