Exemple #1
0
        static public SictOptimatParam EveOnlinePräferenzSctandardWertBerecne()
        {
            //	Präferenz für Shield Tank

            var GefectFortsazScranke = new SictVerzwaigungNaacShipZuusctandScranke();
            var GefectBaitritScranke = new SictVerzwaigungNaacShipZuusctandScranke();

            GefectFortsazScranke.ShieldScrankeBetraagMili    = 400;
            GefectFortsazScranke.ArmorScrankeBetraagMili     = 900;
            GefectFortsazScranke.StructScrankeBetraagMili    = 980;
            GefectFortsazScranke.CapacitorScrankeBetraagMili = 330;

            GefectBaitritScranke.ShieldScrankeBetraagMili    = 800;
            GefectBaitritScranke.ArmorScrankeBetraagMili     = 950;
            GefectBaitritScranke.StructScrankeBetraagMili    = 990;
            GefectBaitritScranke.CapacitorScrankeBetraagMili = 700;

            var InRaumVerhalteBaasis = new SictParamInRaumAktioonVerzwaigungNaacShipZuusctandScranke();

            InRaumVerhalteBaasis.GefectFortsazScranke = GefectFortsazScranke;
            InRaumVerhalteBaasis.GefectBaitritScranke = GefectBaitritScranke;

            InRaumVerhalteBaasis.ModuleRegenAinScrankeMili = 800;
            InRaumVerhalteBaasis.ModuleRegenAusScrankeMili = 950;

            var Präferenz = new SictOptimatParam();

            Präferenz.InRaumVerhalteBaasis = InRaumVerhalteBaasis;

            Präferenz.AutoPilotFraigaabe = true;

            Präferenz.Mission = EveOnlinePräferenzSctandardWertBerecneTailMission();

            return(Präferenz);
        }
        public SictVerzwaigungNaacShipZuusctandScranke KonfigBerecneAusGbs()
        {
            var Konfig = new SictVerzwaigungNaacShipZuusctandScranke();

            var ShieldProzent    = (int?)AuswaalShieldProzent.AuswaalZaal;
            var ArmorProzent     = (int?)AuswaalArmorProzent.AuswaalZaal;
            var StructProzent    = (int?)AuswaalStructProzent.AuswaalZaal;
            var CapacitorProzent = (int?)AuswaalCapacitorProzent.AuswaalZaal;

            Konfig.ShieldScrankeBetraagMiliUndAin =
                ShieldProzent.HasValue  ? new   KeyValuePair <int, bool>(ShieldProzent.Value * 10, true == AuswaalShieldProzent.AuswaalScalterBinär)    :
                (KeyValuePair <int, bool>?)null;

            Konfig.ArmorScrankeBetraagMiliUndAin =
                ArmorProzent.HasValue ? new KeyValuePair <int, bool>(ArmorProzent.Value * 10, true == AuswaalArmorProzent.AuswaalScalterBinär) :
                (KeyValuePair <int, bool>?)null;

            Konfig.StructScrankeBetraagMiliUndAin =
                StructProzent.HasValue  ? new   KeyValuePair <int, bool>(StructProzent.Value * 10, true == AuswaalStructProzent.AuswaalScalterBinär)    :
                (KeyValuePair <int, bool>?)null;

            Konfig.CapacitorScrankeBetraagMiliUndAin =
                CapacitorProzent.HasValue ? new KeyValuePair <int, bool>(CapacitorProzent.Value * 10, true == AuswaalCapacitorProzent.AuswaalScalterBinär) :
                (KeyValuePair <int, bool>?)null;

            return(Konfig);
        }
        static public SictVerzwaigungNaacShipZuusctandScranke BerecneAusFortsazScrankeUndBaitritScranke(
            SictVerzwaigungNaacShipZuusctandScranke GefectFortsazScranke,
            SictVerzwaigungNaacShipZuusctandScranke GefectBaitritScranke)
        {
            if (null == GefectFortsazScranke || null == GefectBaitritScranke)
            {
                return(null);
            }

            var AnnaameArmorTank = GefectFortsazScranke.ArmorScrankeBetraagMili < 700;

            int?ShieldScrankeBetraagMili = null;
            int?ArmorScrankeBetraagMili  = null;

            ShieldScrankeBetraagMili = Bib3.Glob.Max(GefectFortsazScranke.ShieldScrankeBetraagMili,
                                                     (GefectFortsazScranke.ShieldScrankeBetraagMili + GefectBaitritScranke.ShieldScrankeBetraagMili * 2) / 3);

            ArmorScrankeBetraagMili = Bib3.Glob.Max(GefectFortsazScranke.ArmorScrankeBetraagMili,
                                                    (GefectFortsazScranke.ArmorScrankeBetraagMili + GefectBaitritScranke.ArmorScrankeBetraagMili * 2) / 3);

            int?StructScrankeBetraagMili = Bib3.Glob.Max(GefectFortsazScranke.StructScrankeBetraagMili, 990);

            int?CapacitorScrankeBetraagMili = Bib3.Glob.Max(GefectFortsazScranke.CapacitorScrankeBetraagMili,
                                                            (GefectFortsazScranke.CapacitorScrankeBetraagMili + GefectBaitritScranke.CapacitorScrankeBetraagMili) / 2);

            return(new SictVerzwaigungNaacShipZuusctandScranke(
                       ShieldScrankeBetraagMili,
                       ArmorScrankeBetraagMili,
                       StructScrankeBetraagMili,
                       CapacitorScrankeBetraagMili));
        }
        public void ApliziireFunktioonKombinatioon(
            SictVerzwaigungNaacShipZuusctandScranke WertNoi,
            Func <int?, int?, int?> FunktioonKombinatioon)
        {
            if (null == WertNoi)
            {
                return;
            }

            if (null == FunktioonKombinatioon)
            {
                return;
            }

            var VorherShield    = (int?)AuswaalShieldProzent.AuswaalZaal;
            var VorherArmor     = (int?)AuswaalArmorProzent.AuswaalZaal;
            var VorherStruct    = (int?)AuswaalStructProzent.AuswaalZaal;
            var VorherCapacitor = (int?)AuswaalCapacitorProzent.AuswaalZaal;

            var WertNoiShieldScrankeMili    = WertNoi.ShieldScrankeBetraagMiliUndAin;
            var WertNoiArmorScrankeMili     = WertNoi.ArmorScrankeBetraagMiliUndAin;
            var WertNoiStructScrankeMili    = WertNoi.StructScrankeBetraagMiliUndAin;
            var WertNoiCapacitorScrankeMili = WertNoi.CapacitorScrankeBetraagMiliUndAin;

            var WertNoiShield    = WertNoiShieldScrankeMili.HasValue ? (WertNoiShieldScrankeMili.Value.Key / 10) : (int?)null;
            var WertNoiArmor     = WertNoiArmorScrankeMili.HasValue ? (WertNoiArmorScrankeMili.Value.Key / 10) : (int?)null;
            var WertNoiStruct    = WertNoiStructScrankeMili.HasValue ? (WertNoiStructScrankeMili.Value.Key / 10) : (int?)null;
            var WertNoiCapacitor = WertNoiCapacitorScrankeMili.HasValue ? (WertNoiCapacitorScrankeMili.Value.Key / 10) : (int?)null;

            var KombiShield    = FunktioonKombinatioon(VorherShield, WertNoiShield);
            var KombiArmor     = FunktioonKombinatioon(VorherArmor, WertNoiArmor);
            var KombiStruct    = FunktioonKombinatioon(VorherStruct, WertNoiStruct);
            var KombiCapacitor = FunktioonKombinatioon(VorherCapacitor, WertNoiCapacitor);

            if (KombiShield.HasValue)
            {
                AuswaalShieldProzent.AuswaalZaal = KombiShield;
            }

            if (KombiArmor.HasValue)
            {
                AuswaalArmorProzent.AuswaalZaal = KombiArmor;
            }

            if (KombiStruct.HasValue)
            {
                AuswaalStructProzent.AuswaalZaal = KombiStruct;
            }

            if (KombiCapacitor.HasValue)
            {
                AuswaalCapacitorProzent.AuswaalZaal = KombiCapacitor;
            }
        }
        public void KonfigScraibeNaacGbs(
            SictVerzwaigungNaacShipZuusctandScranke Konfig)
        {
            var ShieldScrankeBetraagMiliUndAin    = (null == Konfig) ? null : Konfig.ShieldScrankeBetraagMiliUndAin;
            var ArmorScrankeBetraagMiliUndAin     = (null == Konfig) ? null : Konfig.ArmorScrankeBetraagMiliUndAin;
            var StructScrankeBetraagMiliUndAin    = (null == Konfig) ? null : Konfig.StructScrankeBetraagMiliUndAin;
            var CapacitorScrankeBetraagMiliUndAin = (null == Konfig) ? null : Konfig.CapacitorScrankeBetraagMiliUndAin;

            ScraibeWertMiliNaacSctoierelementProzent(AuswaalShieldProzent, ShieldScrankeBetraagMiliUndAin);
            ScraibeWertMiliNaacSctoierelementProzent(AuswaalArmorProzent, ArmorScrankeBetraagMiliUndAin);
            ScraibeWertMiliNaacSctoierelementProzent(AuswaalStructProzent, StructScrankeBetraagMiliUndAin);
            ScraibeWertMiliNaacSctoierelementProzent(AuswaalCapacitorProzent, CapacitorScrankeBetraagMiliUndAin);
        }
 public void KombiniireNaacMaximum(
     SictVerzwaigungNaacShipZuusctandScranke ScrankeWert)
 {
     ApliziireFunktioonKombinatioon(ScrankeWert, (VorherWert, NoiWert) => VorherWert.HasValue ? Bib3.Glob.Max(VorherWert, NoiWert) : null);
 }