示例#1
0
 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;
 }
示例#2
0
        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("-");
        }
示例#3
0
        //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));
        }
示例#4
0
        //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);
                    }
                }
            }
        }
示例#5
0
        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);
                }
            }
        }
示例#6
0
 public AirlineAirportFacilityMVVM(AirlineAirportFacility facility, Alliance alliance)
 {
     this.Facility = facility;
     this.Alliance = alliance;
 }