private void link_Click(object sender, RoutedEventArgs e) { AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type; if (this.Classes == null) { AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); } AirlinerClass aClass = (AirlinerClass)((Hyperlink)sender).Tag; AirlinerClass newClass = (AirlinerClass)PopUpAirlinerClassConfiguration.ShowPopUp(aClass); AirlinerClass economyClass = this.Classes.Find(c => c.Type == AirlinerClass.ClassType.Economy_Class); if (newClass != null) { AirlinerClass airlinerClass = new AirlinerClass(newClass.Type, newClass.SeatingCapacity); airlinerClass.RegularSeatingCapacity = newClass.RegularSeatingCapacity; int seatingDiff = ((AirlinerPassengerType)type).MaxSeatingCapacity; economyClass.RegularSeatingCapacity += seatingDiff; AirlinerFacility seatingFacility = economyClass.getFacility(AirlinerFacility.FacilityType.Seat); int extraSeats = (int)(seatingDiff / seatingFacility.SeatUses); economyClass.SeatingCapacity += extraSeats; } }
public AirlinerOrderMVVM(AirlinerType type, AirlinerOrdersMVVM order, int amount = 1) { this.Type = type; this.Order = order; this.Amount = amount; this._classes = new List <AirlinerClass>(); this.Homebases = new List <Airport>(); if (this.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); } long minRunway = this.Type.MinRunwaylength; //var homebases = GameObject.GetInstance().HumanAirline.Airports.FindAll(a => (a.hasContractType(GameObject.GetInstance().HumanAirline, AirportContract.ContractType.Full_Service) || a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0) && a.getMaxRunwayLength() >= minRunway); var homebases = AirlineHelpers.GetHomebases(GameObject.GetInstance().HumanAirline, minRunway); foreach (var homebase in homebases) { this.Homebases.Add(homebase); } }
private void cbAirliner_Checked(object sender, RoutedEventArgs e) { int maxNumberOfAirliners = this.AirlineFacility.ServiceLevel; FleetAirliner airliner = (FleetAirliner)((CheckBox)sender).Tag; if (this.AirlinersToMaintain.Count == 0 || (this.AirlinersToMaintain.Exists(a => a.Airliner.Type == airliner.Airliner.Type) && this.AirlinersToMaintain.Count + 1 <= maxNumberOfAirliners)) { this.AirlinersToMaintain.Add(airliner); AirlinerType type = this.AirlinersToMaintain[0].Airliner.Type; if (this.Classes == null || this.Classes.Count == 0) { AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); showClasses(); } btnEquipped.IsEnabled = true; btnApply.IsEnabled = true; } else { if (this.AirlinersToMaintain.Count == maxNumberOfAirliners) { WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2901"), string.Format(Translator.GetInstance().GetString("MessageBox", "2901", "message"), maxNumberOfAirliners), WPFMessageBoxButtons.Ok); } ((CheckBox)sender).IsChecked = false; } }
public AirlinerOrderMVVM(AirlinerType type, int amount = 1) { this.Type = type; this.Amount = amount; this.Classes = new List <AirlinerClass>(); this.Homebases = new List <Airport>(); if (this.Type.TypeAirliner == AirlinerType.TypeOfAirliner.Passenger) { AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); } long minRequiredRunway = this.Type.MinRunwaylength; foreach (var homebase in GameObject.GetInstance().HumanAirline.Airports.FindAll(a => a.getCurrentAirportFacility(GameObject.GetInstance().HumanAirline, AirportFacility.FacilityType.Service).TypeLevel > 0 && a.getMaxRunwayLength() >= minRequiredRunway)) { this.Homebases.Add(homebase); } }
//creates the panel for how the airline should be equipped private StackPanel createEquippedPanel(AirlinerType type) { this.Type = type; StackPanel panelEquipped = new StackPanel(); panelEquipped.Margin = new Thickness(0, 5, 0, 0); TextBlock txtOrders = new TextBlock(); txtOrders.FontWeight = FontWeights.Bold; txtOrders.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtOrders.Uid = "1012"; txtOrders.Text = Translator.GetInstance().GetString("PageOrderAirliners", txtOrders.Uid); panelEquipped.Children.Add(txtOrders); ListBox lbEquipped = new ListBox(); lbEquipped.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbEquipped.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem"); panelEquipped.Children.Add(lbEquipped); this.Classes.Clear(); AirlinerClass eClass = new AirlinerClass(AirlinerClass.ClassType.Economy_Class, ((AirlinerPassengerType)type).MaxSeatingCapacity); eClass.createBasicFacilities(null); this.Classes.Add(eClass); panelClasses = new WrapPanel(); foreach (AirlinerClass aClass in this.Classes) { panelClasses.Children.Add(createAirlineClassLink(aClass)); } lbEquipped.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PageOrderAirliners", "1012"), panelClasses)); Configuration airlinerTypeConfiguration = Configurations.GetConfigurations(Configuration.ConfigurationType.AirlinerType).Find(c => ((AirlinerTypeConfiguration)c).Airliner == type && ((AirlinerTypeConfiguration)c).Period.From <= GameObject.GetInstance().GameTime&& ((AirlinerTypeConfiguration)c).Period.To > GameObject.GetInstance().GameTime); if (airlinerTypeConfiguration != null) { CheckBox cbStandardConfiguration = new CheckBox(); cbStandardConfiguration.Checked += cbStandardConfiguration_Checked; cbStandardConfiguration.Unchecked += cbStandardConfiguration_Unchecked; cbStandardConfiguration.Tag = type; lbEquipped.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PageOrderAirliners", "1013"), cbStandardConfiguration)); } WrapPanel panelConfiguration = new WrapPanel(); panelEquipped.Margin = new Thickness(0, 5, 0, 0); panelEquipped.Children.Add(panelConfiguration); btnEquipped = new Button(); btnEquipped.Uid = "201"; btnEquipped.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnEquipped.Height = Double.NaN; btnEquipped.Width = Double.NaN; btnEquipped.Content = Translator.GetInstance().GetString("PageOrderAirliners", btnEquipped.Uid); btnEquipped.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnEquipped.Click += btnEquipped_Click; btnEquipped.Tag = type; btnEquipped.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; panelConfiguration.Children.Add(btnEquipped); btnApplyConfiguration = new Button(); btnApplyConfiguration.Uid = "202"; btnApplyConfiguration.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnApplyConfiguration.Height = Double.NaN; btnApplyConfiguration.Width = Double.NaN; btnApplyConfiguration.Margin = new Thickness(5, 0, 0, 0); btnApplyConfiguration.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnApplyConfiguration.Content = Translator.GetInstance().GetString("PageOrderAirli ners", btnApplyConfiguration.Uid); btnApplyConfiguration.Visibility = System.Windows.Visibility.Collapsed; panelConfiguration.Children.Add(btnApplyConfiguration); return(panelEquipped); }