race quit, transfer state, refactor

This commit is contained in:
Ilia Denisov
2026-02-07 01:59:11 +02:00
parent 43ba5eb07c
commit fc73cbf83a
27 changed files with 520 additions and 341 deletions
+2 -10
View File
@@ -9,14 +9,6 @@ import (
"github.com/iliadenisov/galaxy/internal/model/game"
)
func (c *Controller) UpgradeGroup(raceName string, groupIndex uint, techInput string, limitShips uint, limitLevel float64) error {
ri, err := c.Cache.raceIndex(raceName)
if err != nil {
return err
}
return c.Cache.UpgradeGroup(ri, groupIndex, techInput, limitShips, limitLevel)
}
func (c *Cache) UpgradeGroup(ri int, groupIndex uint, techInput string, limitShips uint, limitLevel float64) error {
c.validateRaceIndex(ri)
sgi, ok := c.raceShipGroupIndex(ri, groupIndex)
@@ -26,8 +18,8 @@ func (c *Cache) UpgradeGroup(ri int, groupIndex uint, techInput string, limitShi
st := c.ShipGroupShipClass(sgi)
sg := c.ShipGroup(sgi)
if s := sg.State(); s != game.StateInOrbit { // && s != game.StateUpgrade
return e.NewShipsBusyError()
if state := sg.State(); state != game.StateInOrbit {
return e.NewShipsBusyError("state: %s", state)
}
p := c.MustPlanet(sg.Destination)