Beyond_Beyaan.Fleet.ClearEmptyShips C# (CSharp) Метод

ClearEmptyShips() публичный Метод

public ClearEmptyShips ( ) : void
Результат void
        public void ClearEmptyShips()
        {
            List<Ship> shipsToRemove = new List<Ship>();
            foreach (KeyValuePair<Ship, int> ship in ships)
            {
                if (ship.Value <= 0)
                {
                    shipsToRemove.Add(ship.Key);
                }
            }
            foreach (Ship ship in shipsToRemove)
            {
                ships.Remove(ship);
                _orderedShips.Remove(ship);
            }
            List<TransportShip> transportsToRemove = new List<TransportShip>();
            foreach (var transport in _transportShips)
            {
                if (transport.amount <= 0)
                {
                    transportsToRemove.Add(transport);
                }
            }
            foreach (var transport in transportsToRemove)
            {
                _transportShips.Remove(transport);
            }
            UpdateSpeed();
        }

Usage Example

Пример #1
0
        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;
        }
All Usage Examples Of Beyond_Beyaan.Fleet::ClearEmptyShips