void RemovePassengersComingOut(float count) { PlayerSaveData.PassengerData passengersData = PlayerSaveData.reference.passengerData; passengersCameOut += count; int timeIncome = 0; int passengersOut = 0; while (passengersCameOut >= 1) { if (passengersData.passengers.Count <= 0) { break; } PlayerSaveData.Passenger passengerComingOut = passengersData.GetPassenger(Random.Range(0, passengersData.passengers.Count - 1)); float attractionMod = (float)PlayerSaveData.reference.wagonData[passengerComingOut.wagonIndex].attraction / 100; if (attractionMod < 0) { attractionMod = 1 / (Mathf.Abs(attractionMod) + 1); } else { attractionMod = attractionMod + 1; } AddTime((int)(basePassengerTimeIncome * attractionMod * Mathf.Pow(passengerTravelMultiplier, passengerComingOut.stationsTravelled))); timeIncome += (int)(basePassengerTimeIncome * attractionMod * Mathf.Pow(passengerTravelMultiplier, passengerComingOut.stationsTravelled)); passengersData.RemovePassenger(passengerComingOut); passengersCameOut -= 1; passengersOut += 1; } Color color = timeIncomeLabel.color; color.a = 255; timeIncomeLabel.color = color; timeIncomeLabel.text = "minutes +" + timeIncome; color = passengersLabel.color; color.a = 255; passengersLabel.color = color; passengersLabel.text = "passengers -" + passengersOut; }