public AirlineAirportFacilityMVVM(AirlineAirportFacility facility, Alliance alliance) { this.Facility = facility; this.Alliance = alliance; this.IsHuman = GameObject.GetInstance().HumanAirline == facility.Airline; this.IsDelivered = facility.FinishedDate < GameObject.GetInstance().GameTime; }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { AirportFacility.FacilityType type = (AirportFacility.FacilityType)values[0]; Airport airport = (Airport)values[1]; AirlineAirportFacility currentFacility = airport.getAirlineAirportFacility(GameObject.GetInstance().HumanAirline, type); List <AirportFacility> facilities = AirportFacilities.GetFacilities(type); facilities = facilities.OrderBy(f => f.TypeLevel).ToList(); int index = facilities.FindIndex(f => currentFacility.Facility == f); if (parameter.ToString() == "Name") { if (index < facilities.Count - 1) { return(facilities[index + 1].Name); } else { return("None"); } } if (parameter.ToString() == "Price") { if (index < facilities.Count - 1) { return(new ValueCurrencyConverter().Convert(facilities[index + 1].Price)); } else { return("-"); } } if (parameter.ToString() == "Employees") { if (index < facilities.Count - 1) { return(facilities[index + 1].NumberOfEmployees.ToString()); } else { return("-"); } } return("-"); }
//adds an airline facility to the airport public void addAirlineFacility(AirportFacility facility) { AirlineAirportFacility nextFacility = new AirlineAirportFacility(GameObject.GetInstance().HumanAirline, this.Airport, facility, GameObject.GetInstance().GameTime.AddDays(facility.BuildingDays)); this.Airport.setAirportFacility(nextFacility); AirlineAirportFacilityMVVM currentFacility = this.AirlineFacilities.Where(f => f.Facility.Facility.Type == facility.Type).FirstOrDefault(); if (currentFacility != null) { this.AirlineFacilities.Remove(currentFacility); } Alliance alliance = nextFacility.Airline.Alliances.Count == 0 ? null : nextFacility.Airline.Alliances[0]; this.AirlineFacilities.Add(new AirlineAirportFacilityMVVM(nextFacility, alliance)); }
//adds an airline facility to the airport public void addAirlineFacility(AirportFacility facility) { AirlineAirportFacility nextFacility = new AirlineAirportFacility(GameObject.GetInstance().HumanAirline, this.Airport, facility, GameObject.GetInstance().GameTime.AddDays(facility.BuildingDays)); this.Airport.addAirportFacility(nextFacility); /* * AirlineAirportFacilityMVVM currentFacility = this.AirlineFacilities.Where(f => f.Facility.Facility.Type == facility.Type).FirstOrDefault(); * * if (currentFacility != null) * removeAirlineFacility(currentFacility); * * Alliance alliance = nextFacility.Airline.Alliances.Count == 0 ? null : nextFacility.Airline.Alliances[0]; * * this.AirlineFacilities.Add(new AirlineAirportFacilityMVVM(nextFacility,alliance)); * */ this.AirlineFacilities.Clear(); this.BuildingAirlineFacilities.Clear(); foreach (var tFacility in this.Airport.getAirportFacilities().FindAll(f => f.Airline != null)) { if (tFacility.Facility.TypeLevel != 0) { Alliance alliance = tFacility.Airline.Alliances.Count == 0 ? null : tFacility.Airline.Alliances[0]; AirlineAirportFacilityMVVM airlineFacility = new AirlineAirportFacilityMVVM(tFacility, alliance); if (airlineFacility.IsDelivered) { this.AirlineFacilities.Add(airlineFacility); } else { this.BuildingAirlineFacilities.Add(airlineFacility); } } } }
private void btnBuyFacility_Click(object sender, RoutedEventArgs e) { AirportFacility.FacilityType type = (AirportFacility.FacilityType)cbNextFacility.SelectedItem; AirlineAirportFacility currentFacility = this.Airport.Airport.getAirlineAirportFacility(GameObject.GetInstance().HumanAirline, type); List <AirportFacility> facilities = AirportFacilities.GetFacilities(type); facilities = facilities.OrderBy(f => f.TypeLevel).ToList(); int index = facilities.FindIndex(f => currentFacility.Facility == f); AirportFacility facility = facilities[index + 1]; if (facility.Price > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2201"), Translator.GetInstance().GetString("MessageBox", "2201", "message"), WPFMessageBoxButtons.Ok); } else { WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2202"), string.Format(Translator.GetInstance().GetString("MessageBox", "2202", "message"), facility.Name, facility.Price), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { double price = facility.Price; if (this.Airport.Airport.Profile.Country != GameObject.GetInstance().HumanAirline.Profile.Country) { price = price * 1.25; } AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -price); this.Airport.addAirlineFacility(facility); } } }
public AirlineAirportFacilityMVVM(AirlineAirportFacility facility, Alliance alliance) { this.Facility = facility; this.Alliance = alliance; }