コード例 #1
0
    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;
    }