race quit, transfer state, refactor
This commit is contained in:
@@ -6,25 +6,13 @@ import (
|
||||
"github.com/iliadenisov/galaxy/internal/util"
|
||||
)
|
||||
|
||||
func (c *Controller) SendFleet(raceName, fleetName string, planetNumber uint) error {
|
||||
ri, err := c.Cache.raceIndex(raceName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fi, ok := c.Cache.fleetIndex(ri, fleetName)
|
||||
if !ok {
|
||||
return e.NewEntityNotExistsError("fleet %q", fleetName)
|
||||
}
|
||||
return c.Cache.SendFleet(ri, fi, planetNumber)
|
||||
}
|
||||
|
||||
func (c *Cache) SendFleet(ri, fi int, planetNumber uint) error {
|
||||
c.validateRaceIndex(ri)
|
||||
c.validateFleetIndex(fi)
|
||||
fleetState := c.FleetState(c.g.Fleets[fi].ID)
|
||||
sourcePlanet, ok := fleetState.AtPlanet()
|
||||
if !ok || game.StateInOrbit != fleetState.State && game.StateLaunched != fleetState.State {
|
||||
return e.NewShipsBusyError()
|
||||
return e.NewShipsBusyError("state: %s", fleetState.State)
|
||||
}
|
||||
|
||||
p1, ok := c.Planet(sourcePlanet)
|
||||
|
||||
Reference in New Issue
Block a user