Beispiel #1
0
        static private void LoadAirportLifetimeStats()
        {
            airportData.ResetLifetimeStats();
            GameLifetimeStats GLS = Game.current.lifetimeStats;

            airportData.flightStats.nSchedFlights.AddStat(0, new IntStat((int)GLS.Takeoffs));
            //airportData.flightStats.nOntimeDeparture.AddStat(0, new NumberStat((int)GLS.flOnTime));
            //airportData.flightStats.nDelayedDeparture.AddStat(0, new NumberStat((int)GLS.flDelays));
            airportData.flightStats.nCancelled.AddStat(0, new IntStat((int)GLS.flCancels));
            airportData.flightStats.nReneged.AddStat(0, new IntStat((int)GLS.flReneges));
            airportData.flightStats.nCancelled.AddToValue(0, new IntStat((int)GLS.flReneges));
            //airportData.flightStats..AddStat(0, new NumberStat((int)GLS.Landings));
            airportData.passengerStats.nSchedDep.AddStat(0, new IntStat((int)(GLS.pBoarded + GLS.pMissed)));
            airportData.passengerStats.nBoarded.AddStat(0, new IntStat((int)GLS.pBoarded));
            airportData.passengerStats.departPaxPerFlt.AddStat(0, new AverageStat((int)(GLS.pBoarded + GLS.pMissed), (int)GLS.Takeoffs, typeof(IntStat)));
            airportData.passengerStats.nMissed.AddStat(0, new IntStat((int)GLS.pMissed));
            airportData.passengerStats.boardedPerFlt.AddStat(0, new AverageStat((int)GLS.pBoarded, (int)(GLS.pBoarded + GLS.pMissed), typeof(PercentageStat)));

            airportData.fuelStats.avgFuelPrice.AddStat(0, new MoneyStat(GetAverageFuelCost(0), 2));
            airportData.fuelStats.fuelRequested.AddStat(0, new IntStat((int)(GLS.fuelRequested / 1000)));
            airportData.fuelStats.fuelDelivered.AddStat(0, new IntStat((int)(GLS.fuelfRefueled / 1000)));
            airportData.fuelStats.planesRefueled.AddStat(0, new IntStat((int)GLS.planesServedFuel));
            airportData.luggageStats.bagsLoaded.AddStat(0, new IntStat((int)GLS.pBagsLoaded));
            airportData.luggageStats.bagsUnloaded.AddStat(0, new IntStat((int)GLS.pBagsUnloaded));
            airportData.luggageStats.lostBags.AddStat(0, new IntStat((int)GLS.pBagFail));
            //airportData.luggageStats..AddStat(0, new NumberStat((int)GLS.pBagSuccess));
            airportData.staffStats.nHires.AddStat(new IntStat((int)GLS.sHires));
            airportData.staffStats.nFires.AddStat(new IntStat((int)GLS.sFires));
            airportData.timeStats.tPaused.AddStat(new TimeStat((int)GLS.tPaused));
            airportData.timeStats.tSpeed1.AddStat(new TimeStat((int)GLS.tSpeed1));
            airportData.timeStats.tSpeed2.AddStat(new TimeStat((int)GLS.tSpeed2));
            airportData.timeStats.tSpeed3.AddStat(new TimeStat((int)GLS.tSpeed3));
            airportData.timeStats.tInactive.AddStat(new TimeStat((int)GLS.tInactive));
            airportData.interactions.keyboardInteractions.AddStat(new IntStat((int)GLS.tInteractions));
            airportData.interactions.mouseClicks.AddStat(new IntStat((int)GLS.tClicks));
            airportData.interactions.altMouseClicks.AddStat(new IntStat((int)GLS.tClicksAlt));

            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Advertising), 0, new MoneyStat((float)GLS.mAdvertising));
            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Bank), 0, new MoneyStat((float)GLS.mLoans));
            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Fuel), 0, new MoneyStat((float)GLS.mFuelRev));
            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Retail), 0, new MoneyStat((float)GLS.mRetailRev));
            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Runway_Fees), 0, new MoneyStat((float)GLS.mRwyUsageRev));
            airportData.revAndExpStats.revenueStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Terminal_Fees), 0, new MoneyStat((float)GLS.mTerminalUsageRev));
            airportData.revAndExpStats.revenueStats.AddStat("total", 0, new MoneyStat((float)GLS.mRev));
            airportData.revAndExpStats.revenueStats.RevPerPax.AddStat(0, new AverageStat(GLS.mRev, (int)(GLS.pBoarded + GLS.pMissed), typeof(MoneyStat)));

            airportData.revAndExpStats.expenseStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Bank), 0, new MoneyStat((float)GLS.mInterest));
            airportData.revAndExpStats.expenseStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Retail), 0, new MoneyStat((float)GLS.mRetailExpense));
            airportData.revAndExpStats.expenseStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Staff), 0, new MoneyStat((float)GLS.mStaffWages));
            airportData.revAndExpStats.expenseStats.AddStat(nameof(GamedayReportingData.MoneyCategory.Taxes), 0, new MoneyStat((float)(GLS.mIncomeTax + GLS.mPropertyTax)));
            airportData.revAndExpStats.expenseStats.AddStat("total", 0, new MoneyStat((float)GLS.mExpense));
        }
Beispiel #2
0
        private string[,] LoadLifetimeArray()
        {
            int numdays           = GameTimer.Day <= 30 ? GameTimer.Day : 30;
            GameLifetimeStats GLS = Game.current.lifetimeStats;

            string[,] arr = new string[arrayRows, numdays + 2];
            for (int i = 0; i < arrayRows; i++)
            {
                arr[i, 0] = i18n.Get($"TBFlash.AirportStats.LifetimeStats.stats{i}");
            }
            arr[1, 1]  = GLS.flOnTime.ToString("#,###");
            arr[2, 1]  = GLS.flDelays.ToString("#,###");
            arr[3, 1]  = GLS.flCancels.ToString("#,###");
            arr[4, 1]  = GLS.flReneges.ToString("#,###");
            arr[5, 1]  = GLS.Landings.ToString("#,###");
            arr[6, 1]  = GLS.Takeoffs.ToString("#,###");
            arr[9, 1]  = GLS.pBoarded.ToString("#,###");
            arr[10, 1] = GLS.pMissed.ToString("#,###");
            arr[11, 1] = CalculateAverageFuelCost(0).ToString("C2");
            arr[12, 1] = (GLS.fuelRequested / 1000).ToString("#,###");
            arr[13, 1] = (GLS.fuelfRefueled / 1000).ToString("#,###");
            arr[14, 1] = GLS.planesServedFuel.ToString("#,###");
            arr[16, 1] = GLS.pBagsLoaded.ToString("#,###");
            arr[17, 1] = GLS.pBagsUnloaded.ToString("#,###");
            arr[18, 1] = GLS.pBagSuccess.ToString("#,###");
            arr[19, 1] = GLS.pBagFail.ToString("#,###");
            arr[20, 1] = GLS.outdoorBaggageLoads.ToString("#,###");
            arr[21, 1] = GLS.mAdvertising.ToString("C0");
            arr[23, 1] = GLS.mLoans.ToString("C0");
            arr[24, 1] = GLS.mFuelRev.ToString("C0");
            arr[29, 1] = GLS.mRetailRev.ToString("C0");
            arr[30, 1] = GLS.mRwyUsageRev.ToString("C0");
            arr[31, 1] = GLS.mTerminalUsageRev.ToString("C0");
            arr[34, 1] = GLS.mRev.ToString("C0");
            arr[36, 1] = GLS.mInterest.ToString("C0");
            arr[44, 1] = GLS.mRetailExpense.ToString("C0");
            arr[45, 1] = GLS.mStaffWages.ToString("C0");
            arr[47, 1] = GLS.mIncomeTax.ToString("C0");
            arr[48, 1] = GLS.mPropertyTax.ToString("C0");
            arr[51, 1] = GLS.mExpense.ToString("C0");
            arr[52, 1] = GLS.sHires.ToString("#,###");
            arr[53, 1] = GLS.sFires.ToString("#,###");
            arr[54, 1] = AirportStatUtils.FormatTime(GLS.tPaused);
            arr[55, 1] = AirportStatUtils.FormatTime(GLS.tSpeed1);
            arr[56, 1] = AirportStatUtils.FormatTime(GLS.tSpeed2);
            arr[57, 1] = AirportStatUtils.FormatTime(GLS.tSpeed3);
            arr[58, 1] = AirportStatUtils.FormatTime(GLS.tInactive);
            arr[59, 1] = GLS.tInteractions.ToString("#,###");
            arr[60, 1] = GLS.tClicks.ToString("#,###");
            arr[61, 1] = GLS.tClicksAlt.ToString("#,###");

            int j = 1;

            for (int i = GameTimer.Day; i >= (GameTimer.Day > 30 ? GameTimer.Day - 29 : 1); i--)
            {
                j++;
                if (!Game.current.GameReports.TryGetValue(i, out GamedayReportingData GRD))
                {
                    break;
                }
                IEnumerable <FlightRecord> FlightRecords = Game.current.flightRecords.GetForDay(i - 1);

                arr[0, j]  = GRD.FlightsCount.ToString("#,###");
                arr[1, j]  = FlightRecords.Count(x => AirportStatUtils.HasStatus(x.status, global::Flight.Status.Departed) && !AirportStatUtils.HasStatus(x.status, global::Flight.Status.DelayedDeparture)).ToString("#,###");
                arr[2, j]  = FlightRecords.Count(x => AirportStatUtils.HasStatus(x.status, global::Flight.Status.DelayedDeparture)).ToString("#,###");
                arr[3, j]  = GRD.FlightsCanceled.ToString("#,###");
                arr[7, j]  = GRD.NumArrivalPax.ToString("#,###");
                arr[8, j]  = GRD.NumConnectPax.ToString("#,###");
                arr[9, j]  = GRD.BoardedFlight.ToString("#,###");
                arr[10, j] = GRD.MissedFlight.ToString("#,###");
                arr[11, j] = CalculateAverageFuelCost(i).ToString("C2");
                arr[12, j] = (FlightRecords.Sum(x => x.nFuelRequested) / 1000).ToString("#,###");
                arr[13, j] = (FlightRecords.Sum(x => x.nFuelRefueled) / 1000).ToString("#,###");
                arr[14, j] = (FlightRecords.Count(x => x.nFuelRefueled > 0)).ToString("#,###");
                arr[15, j] = GRD.FuelFailures.ToString("#,###");
                arr[16, j] = FlightRecords.Sum(x => x.nBagsLoaded).ToString("#,###");
                arr[17, j] = FlightRecords.Sum(x => x.nBagsUnloaded).ToString("#,###");
                arr[19, j] = FlightRecords.Sum(x => AirportStatUtils.HasStatus(x.status, global::Flight.Status.Departed) ? x.nDepartingBags - x.nBagsLoaded : 0).ToString("#,###");
                arr[21, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Advertising, true);
                arr[22, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Airline_Fees, true);
                arr[23, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Bank, true);
                arr[24, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Fuel, true);
                arr[25, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Grant, true);
                arr[26, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Materials, true);
                arr[27, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Parking, true);
                arr[28, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Research, true);
                arr[29, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Retail, true);
                arr[30, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Runway_Fees, true);
                arr[31, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Terminal_Fees, true);
                arr[32, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Staff, true);
                arr[33, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Undefined, true);
                arr[35, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Airline_Fees, false);
                arr[36, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Bank, false);
                arr[37, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Fuel, false);
                arr[38, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Grant, false);
                arr[39, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Infrastructure, false);
                arr[40, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Land_Purchase, false);
                arr[41, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Maintenance, false);
                arr[42, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Materials, false);
                arr[43, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Research, false);
                arr[44, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Retail, false);
                arr[45, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Staff, false);
                arr[46, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Taxes, false);
                arr[49, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Transportation, false);
                arr[50, j] = GetDailyMoneyTotal(GRD, GamedayReportingData.MoneyCategory.Undefined, false);
            }
            return(arr);
        }