Пример #1
0
        /// <summary>
        /// Get all pawns from Caravan inside vehicles
        /// </summary>
        /// <param name="caravan"></param>
        public static List <Pawn> GrabPawnsFromVehicleCaravanSilentFail(this Caravan caravan)
        {
            if (caravan is null || !caravan.HasVehicle())
            {
                return(null);
            }
            List <Pawn> vehicles = new List <Pawn>();

            foreach (Pawn p in caravan.PawnsListForReading)
            {
                if (p is VehiclePawn vehicle)
                {
                    vehicles.AddRange(vehicle.AllPawnsAboard);
                }
                else
                {
                    vehicles.Add(p);
                }
            }
            return(vehicles);
        }