private void lnkAirliner_Click(object sender, RoutedEventArgs e) { Airliner airliner = (Airliner)((Hyperlink)sender).Tag; TabControl tab_main = UIHelpers.FindChild <TabControl>(this.Tag as Page, "tabMenu"); if (tab_main != null) { var matchingItem = tab_main.Items.Cast <TabItem>() .Where(item => item.Tag.ToString() == "Airliner") .FirstOrDefault(); matchingItem.Header = airliner.TailNumber; matchingItem.Visibility = System.Windows.Visibility.Visible; tab_main.SelectedItem = matchingItem; } Frame frmContent = UIHelpers.FindChild <Frame>(this.Tag as Page, "frmContent"); if (frmContent != null) { frmContent.Navigate(new PageUsedAirliner(airliner) { Tag = this.Tag }); } }
public PopUpCompareAirliners(Airliner airliner1, Airliner airliner2) { this.Airliner1 = airliner1; this.Airliner2 = airliner2; InitializeComponent(); }
/*! create a random airliner with a minimum range. */ private static Airliner CreateAirliner(double minRange) { Guid id = Guid.NewGuid(); List <AirlinerType> types = AirlinerTypes.GetTypes(delegate(AirlinerType t) { return(t.Range >= minRange && t.Produced.From.Year < GameObject.GetInstance().GameTime.Year&& t.Produced.To > GameObject.GetInstance().GameTime.AddYears(-30)); }); int typeNumber = rnd.Next(types.Count); AirlinerType type = types[typeNumber]; int countryNumber = rnd.Next(Countries.GetCountries().Count() - 1); Country country = Countries.GetCountries()[countryNumber]; int builtYear = rnd.Next(Math.Max(type.Produced.From.Year, GameObject.GetInstance().GameTime.Year - 30), Math.Min(GameObject.GetInstance().GameTime.Year - 1, type.Produced.To.Year)); Airliner airliner = new Airliner(id.ToString(), type, country.TailNumbers.getNextTailNumber(), new DateTime(builtYear, 1, 1)); if (airliner.TailNumber.Length < 2) { typeNumber = 0; } int age = MathHelpers.CalculateAge(airliner.BuiltDate, GameObject.GetInstance().GameTime); long kmPerYear = rnd.Next(100000, 1000000); long km = kmPerYear * age; airliner.Flown = km; CreateAirlinerClasses(airliner); return(airliner); }
//orders the airliners private void orderAirliners(Airport airport, double discount = 0) { DateTime deliveryDate = getDeliveryDate(); Guid id = Guid.NewGuid(); foreach (AirlinerTypeMVVM type in this.SelectedAirliners) { Airliner airliner = new Airliner(id.ToString(), type.Type, GameObject.GetInstance().HumanAirline.Profile.Country.TailNumbers.getNextTailNumber(), deliveryDate); Model.AirlinerModel.Airliners.AddAirliner(airliner); FleetAirliner.PurchasedType pType = FleetAirliner.PurchasedType.Bought; GameObject.GetInstance().HumanAirline.addAirliner(pType, airliner, airport); airliner.clearAirlinerClasses(); AirlinerHelpers.CreateAirlinerClasses(airliner); foreach (AirlinerClass aClass in airliner.Classes) { foreach (AirlinerFacility facility in aClass.getFacilities()) { aClass.setFacility(GameObject.GetInstance().HumanAirline, facility); } } } int totalAmount = this.SelectedAirliners.Count; double price = this.SelectedAirliners.Sum(a => a.Type.Price); double totalPrice = price * ((1 - GeneralHelpers.GetAirlinerOrderDiscount(totalAmount))) * ((100 - discount) / 100); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -totalPrice); }
/*!creates an airliner from a specific year */ public static Airliner CreateAirlinerFromYear(int year) { Guid id = Guid.NewGuid(); List <AirlinerType> types = AirlinerTypes.GetTypes(t => t.Produced.From.Year <year && t.Produced.To.Year> year); int typeNumber = rnd.Next(types.Count); AirlinerType type = types[typeNumber]; int countryNumber = rnd.Next(Countries.GetCountries().Count() - 1); Country country = Countries.GetCountries()[countryNumber]; int builtYear = year; Airliner airliner = new Airliner(id.ToString(), type, country.TailNumbers.getNextTailNumber(), new DateTime(builtYear, 1, 1)); int age = MathHelpers.CalculateAge(airliner.BuiltDate, GameObject.GetInstance().GameTime); long kmPerYear = rnd.Next(1000, 100000); long km = kmPerYear * age; airliner.Flown = km; CreateAirlinerClasses(airliner); return(airliner); }
public static object ShowPopUp(Airliner airliner) { PopUpWindow window = new PopUpAirlinerConfiguration(airliner); window.ShowDialog(); return(window.Selected); }
public PageUsedAirliner(Airliner airliner) { this.Airliner = airliner; this.Homebases = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0 && a.getMaxRunwayLength() >= this.Airliner.Type.MinRunwaylength); this.DataContext = this.Airliner; InitializeComponent(); }
//creates the airliner classes for an airliner public static void CreateAirlinerClasses(Airliner airliner) { airliner.clearAirlinerClasses(); List <AirlinerClass> classes = GetAirlinerClasses(airliner.Type); foreach (AirlinerClass aClass in classes) { airliner.addAirlinerClass(aClass); } }
private void cbPossibleHomebase_Unchecked(object sender, RoutedEventArgs e) { var source = this.lvAirliners.Items as ICollectionView; source.Filter = o => { Airliner a = o as Airliner; return(true); }; this.SelectedAirliners.Clear(); }
static void Main(string[] args) { Airplane ar = new Airliner(); ar.FlyingMethod(); Console.WriteLine(); Airplane ar2 = new Combatplane(); ar2.FlyingMethod(); }
public PopUpAirlinerConfiguration(Airliner airliner) { this.Classes = new List <AirlinerClass>(); foreach (AirlinerClass aClass in airliner.Classes) { this.Classes.Add(aClass); } this.Type = airliner.Type; createPopUp(); }
public PageUsedAirliner(Airliner airliner) { this.Airliner = airliner; long minRunway = this.Airliner.Type.MinRunwaylength; var homebases = AirlineHelpers.GetHomebases(GameObject.GetInstance().HumanAirline, minRunway); this.Homebases = homebases; this.DataContext = this.Airliner; InitializeComponent(); }
private void cbPossibleHomebase_Checked(object sender, RoutedEventArgs e) { var source = this.lvAirliners.Items as ICollectionView; source.Filter = o => { Airliner a = o as Airliner; Boolean isPossible = GameObject.GetInstance().HumanAirline.Airports.FindAll(ai => ai.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0 && ai.getMaxRunwayLength() >= a.Type.MinRunwaylength).Count > 0; return(isPossible); }; this.SelectedAirliners.Clear(); }
//orders the airliners private void orderAirliners(double discount = 0) { DateTime deliveryDate = this.Orders.getDeliveryDate(); Guid id = Guid.NewGuid(); foreach (AirlinerOrderMVVM order in this.Orders.Orders) { for (int i = 0; i < order.Amount; i++) { Airliner airliner = new Airliner(id.ToString(), order.Type, GameObject.GetInstance().HumanAirline.Profile.Country.TailNumbers.getNextTailNumber(), deliveryDate); Model.AirlinerModel.Airliners.AddAirliner(airliner); FleetAirliner.PurchasedType pType = FleetAirliner.PurchasedType.Bought; GameObject.GetInstance().HumanAirline.addAirliner(pType, airliner, order.Homebase); airliner.clearAirlinerClasses(); foreach (AirlinerClass aClass in order.Classes) { AirlinerClass tClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); tClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { tClass.setFacility(GameObject.GetInstance().HumanAirline, facility); } airliner.addAirlinerClass(tClass); } } } int totalAmount = this.Orders.Orders.Sum(o => o.Amount); double price = this.Orders.Orders.Sum(o => o.Type.Price * o.Amount); double totalPrice = price * ((1 - GeneralHelpers.GetAirlinerOrderDiscount(totalAmount))) * ((100 - discount) / 100); AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -totalPrice); }
private void btnOrder_Click(object sender, RoutedEventArgs e) { Boolean hasHomebases = true; foreach (AirlinerOrderMVVM order in this.Orders.Orders) { if (order.Homebase == null) { hasHomebases = false; } } Boolean contractedOrder = false; Boolean tryOrder = true; DateTime deliveryDate = this.Orders.getDeliveryDate(); if (!hasHomebases) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2002"), Translator.GetInstance().GetString("MessageBox", "2002", "message"), WPFMessageBoxButtons.Ok); } else { if (GameObject.GetInstance().HumanAirline.Contract != null) { if (GameObject.GetInstance().HumanAirline.Contract.Manufacturer == this.Manufacturer) { contractedOrder = true; } else { double terminationFee = GameObject.GetInstance().HumanAirline.Contract.getTerminationFee(); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2010"), string.Format(Translator.GetInstance().GetString("MessageBox", "2010", "message"), GameObject.GetInstance().HumanAirline.Contract.Manufacturer.Name, terminationFee), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -terminationFee); GameObject.GetInstance().HumanAirline.Contract = null; this.Contract.Contracted = null; } tryOrder = result == WPFMessageBoxResult.Yes; } } if (tryOrder) { int totalAmount = this.Orders.Orders.Sum(o => o.Amount); double price = this.Orders.Orders.Sum(o => o.Type.Price * o.Amount); double totalPrice = price * ((1 - GeneralHelpers.GetAirlinerOrderDiscount(totalAmount))); if (contractedOrder) { totalPrice = totalPrice * ((100 - GameObject.GetInstance().HumanAirline.Contract.Discount) / 100); } double downpaymentPrice = 0; downpaymentPrice = totalPrice * (GameObject.GetInstance().Difficulty.PriceLevel / 10); if (cbDownPayment.IsChecked.Value) { if (downpaymentPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2001"), Translator.GetInstance().GetString("MessageBox", "2001", "message"), WPFMessageBoxButtons.Ok); } else { WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2009"), string.Format(Translator.GetInstance().GetString("MessageBox", "2009", "message"), totalPrice, downpaymentPrice), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { foreach (AirlinerOrderMVVM order in this.Orders.Orders) { for (int i = 0; i < order.Amount; i++) { Guid id = Guid.NewGuid(); Airliner airliner = new Airliner(id.ToString(), order.Type, GameObject.GetInstance().HumanAirline.Profile.Country.TailNumbers.getNextTailNumber(), deliveryDate); airliner.clearAirlinerClasses(); foreach (AirlinerClass aClass in order.Classes) { AirlinerClass tClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); tClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { tClass.setFacility(GameObject.GetInstance().HumanAirline, facility); } airliner.addAirlinerClass(tClass); } Model.AirlinerModel.Airliners.AddAirliner(airliner); FleetAirliner.PurchasedType pType = FleetAirliner.PurchasedType.BoughtDownPayment; GameObject.GetInstance().HumanAirline.addAirliner(pType, airliner, order.Homebase); } } if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners += this.Orders.Orders.Sum(o => o.Amount); } AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -downpaymentPrice); TabControl tab_main = UIHelpers.FindChild <TabControl>(this.Tag as Page, "tabMenu"); if (tab_main != null) { var matchingItem = tab_main.Items.Cast <TabItem>() .Where(item => item.Tag.ToString() == "Order") .FirstOrDefault(); tab_main.SelectedItem = matchingItem; } } } } else { if (totalPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2001"), Translator.GetInstance().GetString("MessageBox", "2001", "message"), WPFMessageBoxButtons.Ok); } else { if (this.Orders.Orders.Sum(o => o.Amount) > 0) { WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2008"), string.Format(Translator.GetInstance().GetString("MessageBox", "2008", "message"), totalPrice), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { orderAirliners(contractedOrder ? GameObject.GetInstance().HumanAirline.Contract.Discount : 0); TabControl tab_main = UIHelpers.FindChild <TabControl>(this.Tag as Page, "tabMenu"); if (tab_main != null) { var matchingItem = tab_main.Items.Cast <TabItem>() .Where(item => item.Tag.ToString() == "Order") .FirstOrDefault(); tab_main.SelectedItem = matchingItem; } } if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners += this.Orders.Orders.Sum(o => o.Amount); } } } } } } }
/** * @param Customer * @param AirlinerForSelling * @return */ public void SellAirliner(Airline Customer, Airliner AirlinerForSelling) { // TODO implement here return null; }
/** * @param Dealer * @param DesiredAirliner * @return */ public void BuyAirliner(Airline Dealer, Airliner DesiredAirliner) { // TODO implement here return null; }
public AirlinerMVVM(Airliner airliner) { this.Airliner = airliner; this.IsSelected = false; }
//removes an airliner from the used list public void removeUsedAirliner(Airliner airliner) { lbUsedAirliners.Items.Remove(airliner); }
public static void Main(string[] args) { ValueConverter converter = new ValueConverter(); ValueConverter converter1 = new ValueConverter(); converter.ValueExceeded += ValueExceededMessage; int val1 = 100; int val2 = 20500; int val3 = 30000; Console.WriteLine("{0} euro is equal to {1:0.00} Dollars.\n", val1, converter.ConvertToDolars(val1)); Console.WriteLine("{0} euro is equal to {1:0.00} Dollars.\n", val2, converter.ConvertToDolars(val2)); Console.WriteLine("{0} dollars is equal to {1:0.00} euro.\n", val3, converter1.ConvertToEuro(val3)); Airliner Airbus = new Airliner(800, 6000); Airbus.HeightReachedHandler += PlaneHeightEvent; Airbus.OptimalSpeedReachedHandler += PlaneSpeedReachedEvent; Airbus.OptimalSpeedExceedHandler += PlaneSpeedExceededEvent; Airbus.LowSpeedHandler += PlaneLowSpeedEvent; Airbus.Flight(); Fighter Boing = new Fighter(1000, 3000, 10); Boing.HeightReachedHandler += PlaneHeightEvent; Boing.OptimalSpeedReachedHandler += PlaneSpeedReachedEvent; Boing.RocketThrownHandler += RocketThrownEvent; Boing.Flight(); Console.ReadLine(); void ValueExceededMessage() { Console.WriteLine("Converted amount is more than 100000"); } void PlaneHeightEvent() { Console.WriteLine("Optimal flying hight reached. Switching to autopilot"); } void PlaneSpeedReachedEvent() { Console.WriteLine("Optimal flying speed reached."); } void PlaneSpeedExceededEvent() { Console.WriteLine("Speed is {0}km/h", Airbus.Speed); Console.WriteLine("Optimal flying speed exceed.Speed will be decresed by 100km/h.\n"); Airbus.Speed -= 100; } void PlaneLowSpeedEvent() { Console.WriteLine("Speed is {0}km/h", Airbus.Speed); Console.WriteLine("Flying speed is too low. Speed will be increased by 100km/h.\n"); Airbus.Speed += 100; } void RocketThrownEvent() { Boing.OptimalSpeed += 100; Console.WriteLine("Rocket was thrown. Optimal speed is increased by 100km/h."); } }
private void cbCompare_Unchecked(object sender, RoutedEventArgs e) { Airliner airliner = (Airliner)((CheckBox)sender).Tag; this.SelectedAirliners.Remove(airliner); }
private ComboBox cbAirport;// cbName; public PanelUsedAirliner(PageAirliners parent, Airliner airliner) : base(parent) { this.Airliner = airliner; StackPanel panelAirliner = new StackPanel(); panelAirliner.Children.Add(PanelAirliner.createQuickInfoPanel(airliner.Type)); this.addObject(panelAirliner); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1001"; txtHeader.Margin = new System.Windows.Thickness(0, 5, 0, 0); txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PanelUsedAirliner", txtHeader.Uid); this.addObject(txtHeader); ListBox lbAirlineInfo = new ListBox(); lbAirlineInfo.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbAirlineInfo.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem"); this.addObject(lbAirlineInfo); lbAirlineInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1002"), UICreator.CreateTextBlock(string.Format("{0} ({1} years old)", this.Airliner.BuiltDate.ToShortDateString(), this.Airliner.Age)))); WrapPanel panelTailNumber = new WrapPanel(); TextBlock txtTailNumber = UICreator.CreateTextBlock(this.Airliner.TailNumber); txtTailNumber.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; panelTailNumber.Children.Add(txtTailNumber); ContentControl ccFlag = new ContentControl(); ccFlag.SetResourceReference(ContentControl.ContentTemplateProperty, "CountryFlagLongItem"); ccFlag.Content = new CountryCurrentCountryConverter().Convert(Countries.GetCountryFromTailNumber(this.Airliner.TailNumber)); ccFlag.Margin = new Thickness(10, 0, 0, 0); panelTailNumber.Children.Add(ccFlag); lbAirlineInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1003"), panelTailNumber)); lbAirlineInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1004"), UICreator.CreateTextBlock(string.Format("{0:0.##} {1}", new NumberToUnitConverter().Convert(this.Airliner.Flown), new StringToLanguageConverter().Convert("km."))))); lbAirlineInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1005"), UICreator.CreateTextBlock(string.Format("{0:0.##} {1}", new NumberToUnitConverter().Convert(this.Airliner.LastServiceCheck), new StringToLanguageConverter().Convert("km."))))); foreach (AirlinerClass aClass in this.Airliner.Classes) { TextBlock txtClass = UICreator.CreateTextBlock(new TextUnderscoreConverter().Convert(aClass.Type, null, null, null).ToString()); txtClass.FontWeight = FontWeights.Bold; lbAirlineInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1006"), txtClass)); foreach (AirlinerFacility.FacilityType type in Enum.GetValues(typeof(AirlinerFacility.FacilityType))) { AirlinerFacility facility = aClass.getFacility(type); lbAirlineInfo.Items.Add(new QuickInfoValue(string.Format("{0} facilities", type), UICreator.CreateTextBlock(facility.Name))); } } TextBlock txtPriceHeader = new TextBlock(); txtPriceHeader.Uid = "1101"; txtPriceHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtPriceHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtPriceHeader.Margin = new System.Windows.Thickness(0, 5, 0, 0); txtPriceHeader.FontWeight = FontWeights.Bold; txtPriceHeader.Text = Translator.GetInstance().GetString("PanelUsedAirliner", txtPriceHeader.Uid); this.addObject(txtPriceHeader); ListBox lbPriceInfo = new ListBox(); lbPriceInfo.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbPriceInfo.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem"); this.addObject(lbPriceInfo); /* * lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1102"), UICreator.CreateTextBlock(string.Format("{0:c}", this.Airliner.Price)))); * lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1103"), UICreator.CreateTextBlock(string.Format("{0:c}", this.Airliner.LeasingPrice)))); * lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1104"), UICreator.CreateTextBlock(string.Format("{0:c}", this.Airliner.Type.getMaintenance())))); */ lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1102"), UICreator.CreateTextBlock(new ValueCurrencyConverter().Convert(Airliner.Price).ToString()))); lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1103"), UICreator.CreateTextBlock(new ValueCurrencyConverter().Convert(this.Airliner.LeasingPrice).ToString()))); lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1104"), UICreator.CreateTextBlock(new ValueCurrencyConverter().Convert(this.Airliner.Type.getMaintenance()).ToString()))); cbAirport = new ComboBox(); cbAirport.SetResourceReference(ComboBox.ItemTemplateProperty, "AirportCountryItem"); cbAirport.Background = Brushes.Transparent; cbAirport.SetResourceReference(ComboBox.StyleProperty, "ComboBoxTransparentStyle"); cbAirport.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; List <Airport> airports = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0 && a.getMaxRunwayLength() >= this.Airliner.Type.MinRunwaylength); airports = (from a in airports orderby a.Profile.Name select a).ToList(); foreach (Airport airport in airports) { cbAirport.Items.Add(airport); } cbAirport.SelectedIndex = 0; lbPriceInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PanelUsedAirliner", "1105"), cbAirport)); WrapPanel panelButtons = new WrapPanel(); panelButtons.Margin = new Thickness(0, 5, 0, 0); this.addObject(panelButtons); Button btnBuy = new Button(); btnBuy.Uid = "200"; btnBuy.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnBuy.Height = Double.NaN; btnBuy.Width = Double.NaN; btnBuy.Content = Translator.GetInstance().GetString("PanelUsedAirliner", btnBuy.Uid); btnBuy.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnBuy.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; btnBuy.Click += new System.Windows.RoutedEventHandler(btnBuy_Click); panelButtons.Children.Add(btnBuy); Button btnLease = new Button(); btnLease.Uid = "201"; btnLease.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnLease.Height = Double.NaN; btnLease.Width = Double.NaN; btnLease.Content = Translator.GetInstance().GetString("PanelUsedAirliner", btnLease.Uid); btnLease.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnLease.Margin = new Thickness(5, 0, 0, 0); btnLease.Click += new RoutedEventHandler(btnLease_Click); panelButtons.Children.Add(btnLease); }
//creates the airliner classes for an airliner public static void CreateAirlinerClasses(Airliner airliner) { if (airliner.Type is AirlinerPassengerType) { Configuration airlinerTypeConfiguration = Configurations.GetConfigurations(Configuration.ConfigurationType.AirlinerType).Find(c => ((AirlinerTypeConfiguration)c).Airliner == airliner.Type && ((AirlinerTypeConfiguration)c).Period.From <= airliner.BuiltDate && ((AirlinerTypeConfiguration)c).Period.To > airliner.BuiltDate); if (airlinerTypeConfiguration == null) { airliner.clearAirlinerClasses(); AirlinerConfiguration configuration = null; int classes = rnd.Next(0, ((AirlinerPassengerType)airliner.Type).MaxAirlinerClasses) + 1; if (GameObject.GetInstance().GameTime.Year >= (int)AirlinerClass.ClassType.Business_Class) { if (classes == 1) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("200"); } if (classes == 2) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("202"); } if (classes == 3) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("203"); } } else { if (classes == 1) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("200"); } if (classes == 2) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("201"); } if (classes == 3) { configuration = (AirlinerConfiguration)Configurations.GetStandardConfiguration("201"); } } foreach (AirlinerClassConfiguration aClass in configuration.Classes) { AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { airlinerClass.setFacility(airliner.Airline, facility); } airlinerClass.SeatingCapacity = Convert.ToInt16(Convert.ToDouble(airlinerClass.RegularSeatingCapacity) / airlinerClass.getFacility(AirlinerFacility.FacilityType.Seat).SeatUses); airliner.addAirlinerClass(airlinerClass); } int seatingDiff = ((AirlinerPassengerType)airliner.Type).MaxSeatingCapacity - configuration.MinimumSeats; airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).RegularSeatingCapacity += seatingDiff; AirlinerFacility seatingFacility = airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).getFacility(AirlinerFacility.FacilityType.Seat); int extraSeats = (int)(seatingDiff / seatingFacility.SeatUses); airliner.getAirlinerClass(AirlinerClass.ClassType.Economy_Class).SeatingCapacity += extraSeats; } else { airliner.clearAirlinerClasses(); foreach (AirlinerClassConfiguration aClass in ((AirlinerTypeConfiguration)airlinerTypeConfiguration).Classes) { AirlinerClass airlinerClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); airlinerClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { airlinerClass.setFacility(airliner.Airline, facility); } airlinerClass.SeatingCapacity = Convert.ToInt16(Convert.ToDouble(airlinerClass.RegularSeatingCapacity) / airlinerClass.getFacility(AirlinerFacility.FacilityType.Seat).SeatUses); airliner.addAirlinerClass(airlinerClass); } } } else if (airliner.Type is AirlinerCargoType) { airliner.clearAirlinerClasses(); AirlinerClass cargoClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, 0); airliner.addAirlinerClass(cargoClass); } }
/** * @param NewID * @param TownSource * @param TownDestination * @param CurrentAirliner */ public void PassengerFlight(char[] NewID, string TownSource, string TownDestination, Airliner CurrentAirliner) { // TODO implement here }
//adds an airliner to the airlines fleet public void addAirliner(FleetAirliner.PurchasedType type, Airliner airliner, Airport homeBase) { addAirliner(new FleetAirliner(type, GameObject.GetInstance().GameTime, this, airliner, homeBase)); }
public static void ShowPopUp(Airliner airliner1, Airliner airliner2) { PopUpWindow window = new PopUpCompareAirliners(airliner1, airliner2); window.ShowDialog(); }
private void btnOrder_Click(object sender, RoutedEventArgs e) { Boolean contractedOrder = false; Boolean tryOrder = true; Airport airport = (Airport)cbAirport.SelectedItem; if (airport == null) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2002"), Translator.GetInstance().GetString("MessageBox", "2002", "message"), WPFMessageBoxButtons.Ok); } else { if (GameObject.GetInstance().HumanAirline.Contract != null) { if (GameObject.GetInstance().HumanAirline.Contract.Manufacturer == this.Manufacturer) { contractedOrder = true; } else { double terminationFee = GameObject.GetInstance().HumanAirline.Contract.getTerminationFee(); WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2010"), string.Format(Translator.GetInstance().GetString("MessageBox", "2010", "message"), GameObject.GetInstance().HumanAirline.Contract.Manufacturer.Name, terminationFee), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -terminationFee); GameObject.GetInstance().HumanAirline.Contract = null; } tryOrder = result == WPFMessageBoxResult.Yes; } } if (tryOrder) { int totalAmount = orders.Sum(o => o.Amount); double price = orders.Sum(o => o.Type.Price * o.Amount); double totalPrice = price * ((1 - GeneralHelpers.GetAirlinerOrderDiscount(totalAmount))); if (contractedOrder) { totalPrice = totalPrice * ((100 - GameObject.GetInstance().HumanAirline.Contract.Discount) / 100); } double downpaymentPrice = 0; downpaymentPrice = totalPrice * (GameObject.GetInstance().Difficulty.PriceLevel / 10); if (cbDownPayment.IsChecked.Value) { if (downpaymentPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2001"), Translator.GetInstance().GetString("MessageBox", "2001", "message"), WPFMessageBoxButtons.Ok); } else { WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2009"), string.Format(Translator.GetInstance().GetString("MessageBox", "2009", "message"), totalPrice, downpaymentPrice), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { foreach (AirlinerOrder order in orders) { for (int i = 0; i < order.Amount; i++) { Guid id = Guid.NewGuid(); Airliner airliner = new Airliner(id.ToString(), order.Type, GameObject.GetInstance().HumanAirline.Profile.Country.TailNumbers.getNextTailNumber(), dpDate.SelectedDate.Value); airliner.clearAirlinerClasses(); foreach (AirlinerClass aClass in order.Classes) { AirlinerClass tClass = new AirlinerClass(aClass.Type, aClass.SeatingCapacity); tClass.RegularSeatingCapacity = aClass.RegularSeatingCapacity; foreach (AirlinerFacility facility in aClass.getFacilities()) { tClass.setFacility(GameObject.GetInstance().HumanAirline, facility); } airliner.addAirlinerClass(tClass); } Airliners.AddAirliner(airliner); FleetAirliner.PurchasedType pType = FleetAirliner.PurchasedType.BoughtDownPayment; GameObject.GetInstance().HumanAirline.addAirliner(pType, airliner, airport); } } if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners += orders.Sum(o => o.Amount); } AirlineHelpers.AddAirlineInvoice(GameObject.GetInstance().HumanAirline, GameObject.GetInstance().GameTime, Invoice.InvoiceType.Purchases, -downpaymentPrice); PageNavigator.NavigateTo(new PageAirliners()); } } } else { if (totalPrice > GameObject.GetInstance().HumanAirline.Money) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2001"), Translator.GetInstance().GetString("MessageBox", "2001", "message"), WPFMessageBoxButtons.Ok); } else { if (orders.Sum(o => o.Amount) > 0) { WPFMessageBoxResult result = WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2008"), string.Format(Translator.GetInstance().GetString("MessageBox", "2008", "message"), totalPrice), WPFMessageBoxButtons.YesNo); if (result == WPFMessageBoxResult.Yes) { if (contractedOrder) { AirlineHelpers.OrderAirliners(GameObject.GetInstance().HumanAirline, orders, airport, dpDate.SelectedDate.Value, GameObject.GetInstance().HumanAirline.Contract.Discount); } else { AirlineHelpers.OrderAirliners(GameObject.GetInstance().HumanAirline, orders, airport, dpDate.SelectedDate.Value); } PageNavigator.NavigateTo(new PageAirliners()); } if (contractedOrder) { GameObject.GetInstance().HumanAirline.Contract.PurchasedAirliners += orders.Sum(o => o.Amount); } } } } } this.ParentPage.updatePage(); } }