feat: produce on planets, unload on routes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"slices"
|
||||
|
||||
"github.com/google/uuid"
|
||||
@@ -86,3 +87,14 @@ func (c *Cache) raceScience(ri int) []game.Science {
|
||||
c.validateRaceIndex(ri)
|
||||
return c.g.Race[ri].Sciences
|
||||
}
|
||||
|
||||
func (c *Cache) mustScience(ri int, id uuid.UUID) *game.Science {
|
||||
c.validateRaceIndex(ri)
|
||||
r := &c.g.Race[ri]
|
||||
i := slices.IndexFunc(r.Sciences, func(s game.Science) bool { return s.ID == id })
|
||||
if i < 0 {
|
||||
panic(fmt.Sprintf("science not found for race=%q id=%v", r.Name, id))
|
||||
}
|
||||
return &c.g.Race[ri].Sciences[i]
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user