feat: command types list
This commit is contained in:
@@ -53,7 +53,7 @@ func (c *Cache) ShipGroup(groupIndex int) *game.ShipGroup {
|
||||
return &c.g.ShipGroups[groupIndex]
|
||||
}
|
||||
|
||||
func (c *Cache) ShipGroupJoinFleet(groupIndex int, fID *uuid.UUID) {
|
||||
func (c *Cache) internalShipGroupJoinFleet(groupIndex int, fID *uuid.UUID) {
|
||||
c.validateShipGroupIndex(groupIndex)
|
||||
c.g.ShipGroups[groupIndex].FleetID = fID
|
||||
c.invalidateFleetCache()
|
||||
@@ -140,7 +140,7 @@ func (c *Cache) DeleteKilledShipGroups() {
|
||||
func (c *Cache) TurnMergeEqualShipGroups() {
|
||||
for i := range c.listRaceActingIdx() {
|
||||
c.transferPendingGroups(i)
|
||||
c.JoinEqualGroups(i)
|
||||
c.shipGroupMerge(i)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +152,8 @@ func (c *Cache) transferPendingGroups(ri int) {
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Cache) JoinEqualGroups(ri int) {
|
||||
// shipGroupMerge merges several equal ship groups into one
|
||||
func (c *Cache) shipGroupMerge(ri int) {
|
||||
c.validateRaceIndex(ri)
|
||||
raceGroups := make([]game.ShipGroup, 0)
|
||||
for sg := range c.listShipGroups(ri) {
|
||||
@@ -194,7 +195,7 @@ func (c *Cache) JoinEqualGroups(ri int) {
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Cache) DisassembleGroup(ri int, groupIndex, quantity uint) error {
|
||||
func (c *Cache) shipGroupDismantle(ri int, groupIndex, quantity uint) error {
|
||||
sgi, ok := c.raceShipGroupIndex(ri, groupIndex)
|
||||
if !ok {
|
||||
return e.NewEntityNotExistsError("group #%d", groupIndex)
|
||||
@@ -252,7 +253,7 @@ func (c *Cache) DisassembleGroup(ri int, groupIndex, quantity uint) error {
|
||||
// Корабль может нести только один тип груза одновременно.
|
||||
// Возможные типы груза - это колонисты, сырье и промышленность.
|
||||
// Груз может быть доставлен на борт корабля с Вашей или не занятой планеты, на которой он имеется.
|
||||
func (c *Cache) LoadCargo(ri int, groupIndex uint, ct game.CargoType, ships uint, quantity float64) error {
|
||||
func (c *Cache) shipGroupLoad(ri int, groupIndex uint, ct game.CargoType, ships uint, quantity float64) error {
|
||||
if ships == 0 && quantity > 0 {
|
||||
return e.NewCargoQuantityWithoutGroupBreakError()
|
||||
}
|
||||
@@ -322,7 +323,7 @@ func (c *Cache) LoadCargo(ri int, groupIndex uint, ct game.CargoType, ships uint
|
||||
|
||||
// Промышленность и Сырье могут быть выгружены на любой планете.
|
||||
// Колонисты могут быть высажены только на планеты, принадлежащие Вам или на необитаемые планеты.
|
||||
func (c *Cache) UnloadCargo(ri int, groupIndex uint, ships uint, quantity float64) error {
|
||||
func (c *Cache) shipGroupUnload(ri int, groupIndex uint, ships uint, quantity float64) error {
|
||||
c.validateRaceIndex(ri)
|
||||
if ships == 0 && quantity > 0 {
|
||||
return e.NewCargoQuantityWithoutGroupBreakError()
|
||||
@@ -404,7 +405,7 @@ func (c *Cache) unsafeUnloadCargo(sgi int, q float64) {
|
||||
p.UnpackCapital()
|
||||
}
|
||||
|
||||
func (c *Cache) TransferGroup(ri, riAccept int, groupIndex, quantity uint) (err error) {
|
||||
func (c *Cache) shipGroupTransfer(ri, riAccept int, groupIndex, quantity uint) (err error) {
|
||||
if ri == riAccept {
|
||||
return e.NewSameRaceError(c.g.Race[riAccept].Name)
|
||||
}
|
||||
@@ -429,7 +430,7 @@ func (c *Cache) TransferGroup(ri, riAccept int, groupIndex, quantity uint) (err
|
||||
return e.NewGiveawayGroupShipsTypeNotEqualError("race %q, ship type %q", c.g.Race[riAccept].Name, c.g.Race[riAccept].ShipTypes[stAcc].Name)
|
||||
}
|
||||
if stAcc < 0 {
|
||||
err = c.CreateShipType(riAccept,
|
||||
err = c.ShipClassCreate(riAccept,
|
||||
st.Name,
|
||||
st.Drive.F(),
|
||||
int(st.Armament),
|
||||
@@ -461,7 +462,7 @@ func (c *Cache) TransferGroup(ri, riAccept int, groupIndex, quantity uint) (err
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Cache) BreakGroup(ri int, groupIndex, quantity uint) error {
|
||||
func (c *Cache) ShipGroupBreak(ri int, groupIndex, quantity uint) error {
|
||||
c.validateRaceIndex(ri)
|
||||
sgi := -1
|
||||
for i := range c.ShipGroupsIndex() {
|
||||
@@ -483,7 +484,7 @@ func (c *Cache) BreakGroup(ri int, groupIndex, quantity uint) error {
|
||||
}
|
||||
|
||||
if quantity == 0 || quantity == c.ShipGroup(sgi).Number {
|
||||
c.ShipGroupJoinFleet(sgi, nil)
|
||||
c.internalShipGroupJoinFleet(sgi, nil)
|
||||
} else {
|
||||
if _, err := c.breakGroupSafe(ri, groupIndex, quantity); err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user