Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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;
            }
        }
Beispiel #4
0
        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);
        }