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)); }
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); }