public void SplitFleet(Empire empire) { Fleet fleet = new Fleet(); fleet.Empire = FleetToSplit.Empire; fleet.GalaxyX = FleetToSplit.GalaxyX; fleet.GalaxyY = FleetToSplit.GalaxyY; fleet.AdjacentSystem = FleetToSplit.AdjacentSystem; foreach (KeyValuePair <Ship, int> ship in FleetToSplit.Ships) { if (ship.Value > 0) { SelectedFleet.SubtractShips(ship.Key, ship.Value); fleet.AddShips(ship.Key, ship.Value); } } foreach (var transport in FleetToSplit.TransportShips) { if (transport.amount > 0) { SelectedFleet.SubtractTransport(transport.raceOnShip, transport.amount); fleet.AddTransport(transport.raceOnShip, transport.amount); } } SelectedFleet.ClearEmptyShips(); fleet.ClearEmptyShips(); fleet.TravelNodes = FleetToSplit.TravelNodes; if (SelectedFleet.Ships.Count == 0 && SelectedFleet.TransportShips.Count == 0) { Fleets.Remove(SelectedFleet); empire.FleetManager.RemoveFleet(SelectedFleet); } if (fleet.Ships.Count > 0 || fleet.TransportShips.Count > 0) { Fleets.Add(fleet); empire.FleetManager.AddFleet(fleet); } SelectedFleet = fleet; }
public void SplitFleet(Empire empire) { Fleet fleet = new Fleet(); fleet.Empire = FleetToSplit.Empire; fleet.GalaxyX = FleetToSplit.GalaxyX; fleet.GalaxyY = FleetToSplit.GalaxyY; fleet.AdjacentSystem = FleetToSplit.AdjacentSystem; foreach (KeyValuePair<Ship, int> ship in FleetToSplit.Ships) { if (ship.Value > 0) { SelectedFleet.SubtractShips(ship.Key, ship.Value); fleet.AddShips(ship.Key, ship.Value); } } foreach (var transport in FleetToSplit.TransportShips) { if (transport.amount > 0) { SelectedFleet.SubtractTransport(transport.raceOnShip, transport.amount); fleet.AddTransport(transport.raceOnShip, transport.amount); } } SelectedFleet.ClearEmptyShips(); fleet.ClearEmptyShips(); fleet.TravelNodes = FleetToSplit.TravelNodes; if (SelectedFleet.Ships.Count == 0 && SelectedFleet.TransportShips.Count == 0) { Fleets.Remove(SelectedFleet); empire.FleetManager.RemoveFleet(SelectedFleet); } if (fleet.Ships.Count > 0 || fleet.TransportShips.Count > 0) { Fleets.Add(fleet); empire.FleetManager.AddFleet(fleet); } SelectedFleet = fleet; }