refactor: FleetState
This commit is contained in:
@@ -21,12 +21,13 @@ func (c *Controller) SendFleet(raceName, fleetName string, planetNumber uint) er
|
||||
func (c *Cache) SendFleet(ri, fi int, planetNumber uint) error {
|
||||
c.validateRaceIndex(ri)
|
||||
c.validateFleetIndex(fi)
|
||||
state, sourcePlanet, _ := c.FleetState(c.g.Fleets[fi].ID)
|
||||
if game.StateInOrbit != state && game.StateLaunched != state {
|
||||
fleetState := c.FleetState(c.g.Fleets[fi].ID)
|
||||
sourcePlanet, ok := fleetState.OnPlanet()
|
||||
if !ok || game.StateInOrbit != fleetState.State && game.StateLaunched != fleetState.State {
|
||||
return e.NewShipsBusyError()
|
||||
}
|
||||
|
||||
p1, ok := c.Planet(*sourcePlanet)
|
||||
p1, ok := c.Planet(sourcePlanet)
|
||||
if !ok {
|
||||
return e.NewGameStateError("source planet #%d does not exists", sourcePlanet)
|
||||
}
|
||||
@@ -46,7 +47,7 @@ func (c *Cache) SendFleet(ri, fi int, planetNumber uint) error {
|
||||
}
|
||||
}
|
||||
|
||||
if *sourcePlanet == planetNumber {
|
||||
if sourcePlanet == planetNumber {
|
||||
c.UnsendFleet(ri, fi)
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user