Beispiel #1
0
 public AufgaabeParamDestrukt(
     SictOverViewObjektZuusctand ZiilOverviewObjekt,
     SictTargetZuusctand ZiilTarget)
 {
     this.ZiilOverviewObjekt = ZiilOverviewObjekt;
     this.ZiilTarget         = ZiilTarget;
 }
Beispiel #2
0
 public SictIndikatorTargetReprOverviewRow(
     SictTargetZuusctand Target,
     SictOverViewObjektZuusctand OverviewRow)
 {
     this.Target      = Target;
     this.OverviewRow = OverviewRow;
 }
Beispiel #3
0
        public SictTargetZuusctand[] MengeTargetTailmengePasendZuOverviewObjektBerecne(
            SictOverViewObjektZuusctand OverviewObjekt)
        {
            if (null == OverviewObjekt)
            {
                return(null);
            }

            var MengeAnnaameZuOverviewRowTarget = this.MengeAnnaameZuOverviewRowTarget;

            if (null != MengeAnnaameZuOverviewRowTarget)
            {
                var AnnaameZuOverviewRowTarget = MengeAnnaameZuOverviewRowTarget.FirstOrDefault((Kandidaat) => Kandidaat.Key == OverviewObjekt);

                if (AnnaameZuOverviewRowTarget.Key == OverviewObjekt)
                {
                    return(new SictTargetZuusctand[] { AnnaameZuOverviewRowTarget.Value });
                }
            }

            var MengeTarget = this.MengeTargetNocSictbar;

            if (null == MengeTarget)
            {
                return(null);
            }

            return
                (MengeTarget
                 .Where((KandidaatTarget) => OverViewObjektPastZuTarget(OverviewObjekt, KandidaatTarget))
                 .ToArrayNullable());
        }
        static public bool OverviewObjektBescriftungIstAsteroid(
            SictOverViewObjektZuusctand OverviewObjekt)
        {
            string         OreTypSictString;
            OreTypSictEnum?OreTyp;

            return(OverviewObjektBescriftungIstAsteroid(OverviewObjekt, out OreTypSictString, out OreTyp));
        }
Beispiel #5
0
        /*
         * 2015.01.06
         *
         * static public AufgaabeParamAndere AufgaabeWirkungDestrukt(SictOverViewObjektZuusctand InRaumObjekt)
         * {
         *      if (null == InRaumObjekt)
         *      {
         *              return null;
         *      }
         *
         *      return new AufgaabeParamAndere(InRaumObjekt, null, null, null, null, null, null, null, null, null, true);
         * }
         *
         * static public AufgaabeParamAndere AufgaabeWirkungDestrukt(SictTargetZuusctand TargetZuBearbaite)
         * {
         *      if (null == TargetZuBearbaite)
         *      {
         *              return null;
         *      }
         *
         *      return new AufgaabeParamAndere(null, TargetZuBearbaite, null, null, null, null, null, null, null, null, true);
         * }
         * */

        static public AufgaabeParamAndere AufgaabeAktioonCargoDurcsuuce(SictOverViewObjektZuusctand InRaumObjekt)
        {
            if (null == InRaumObjekt)
            {
                return(null);
            }

            return(new AufgaabeParamAndere(OverViewObjektZuBearbeite:       InRaumObjekt, AktioonCargoDurcsuuce: true));
        }
Beispiel #6
0
        static public string OverViewObjektSictZwekKomponente(SictOverViewObjektZuusctand OverviewObjekt)
        {
            if (null == OverviewObjekt)
            {
                return(null);
            }

            return(OverviewObjekt.Name);
        }
Beispiel #7
0
        static public string FürNuzerObjektBescraibungBerecne(SictOverViewObjektZuusctand Objekt)
        {
            if (null == Objekt)
            {
                return(null);
            }

            return("OverviewObject[" + (Objekt.Name ?? "") + "]");
        }
Beispiel #8
0
        static public bool OverViewObjektTypeOderNaamePasendZuTargetBescriftung(
            SictOverViewObjektZuusctand OverviewObjekt,
            SictTargetZuusctand Target)
        {
            if (null == OverviewObjekt || null == Target)
            {
                return(false);
            }

            /*
             * 2014.04.27
             * Baiscpiil aus:
             * \\rs211275.rs.hosteurope.de\Optimat.Demo 0 .Berict\Berict\Berict.Nuzer\[ZAK=2014.04.26.21.20.10,NB=6].Anwendung.Berict:
             * "Wifrerante Vaydaerer" Level2
             * "The Blockade", "The_Blood_Raider_Covenant"
             * OverviewZaile.Type:"Starbase Stasis Tower"
             * OverviewZaile.Name:"Amarr Stasis Tower"
             * Target.OoberhalbDistanceListeZaile[0]:"Starbase Stasis Tower"
             * ->
             * OverviewZaile.Name nict enthalte in Target.OoberhalbDistanceListeZaile
             *
             * */
            var TargetOoberhalbDistanceListeZaile = Target.OoberhalbDistanceListeZaile;

            if (null == TargetOoberhalbDistanceListeZaile)
            {
                return(false);
            }

            var OverviewObjektTypeAbbild = StringSictFürVerglaicZwisceTargetUndOverview(OverviewObjekt.Type);
            var OverviewObjektNameAbbild = StringSictFürVerglaicZwisceTargetUndOverview(OverviewObjekt.Name);
            var TargetBescriftungAbbild  = StringSictFürVerglaicZwisceTargetUndOverview(string.Join("", TargetOoberhalbDistanceListeZaile));

            if (null == TargetBescriftungAbbild)
            {
                return(false);
            }

            if (null != OverviewObjektTypeAbbild)
            {
                if (Regex.Match(TargetBescriftungAbbild, OverviewObjektTypeAbbild, RegexOptions.IgnoreCase).Success)
                {
                    return(true);
                }
            }

            if (null != OverviewObjektNameAbbild)
            {
                if (Regex.Match(TargetBescriftungAbbild, OverviewObjektNameAbbild, RegexOptions.IgnoreCase).Success)
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #9
0
 static public AufgaabeParamAndere AufgaabeAktioonMenu(
     SictOverViewObjektZuusctand InRaumObjekt,
     SictAnforderungMenuKaskaadeAstBedingung MenuAstBedingung,
     string[] ZwekListeKomponente = null)
 {
     return(AufgaabeAktioonMenu(
                InRaumObjekt,
                new SictAnforderungMenuKaskaadeAstBedingung[] { MenuAstBedingung },
                ZwekListeKomponente));
 }
Beispiel #10
0
        static public AufgaabeParamAndere AufgaabeDistanceAinzusctele(
            SictOverViewObjektZuusctand InRaumObjekt,
            Int64?DistanceScrankeMin,
            Int64?DistanceScrankeMax)
        {
            if (null == InRaumObjekt)
            {
                return(null);
            }

            return(new AufgaabeParamAndere(OverViewObjektZuBearbeite:       InRaumObjekt, DistanzAinzuscteleScrankeMin: DistanceScrankeMin, DistanzAinzuscteleScrankeMax: DistanceScrankeMax));
        }
Beispiel #11
0
        static public AufgaabeParamAndere AufgaabeInOverViewMaceSictbar(
            SictOverViewObjektZuusctand InRaumObjekt,
            string[] ZwekListeKomponente = null)
        {
            if (null == InRaumObjekt)
            {
                return(null);
            }

            var Aufgaabe = new AufgaabeParamAndere(OverViewObjektZuBearbeite:       InRaumObjekt, AktioonInOverviewMaceSictbar: true, ZwekListeKomponenteZuusaz: ZwekListeKomponente);

            return(Aufgaabe);
        }
Beispiel #12
0
        /*
         * static public AufgaabeParamAndere KonstruktGbsAstVerberge(
         *      GbsElement GbsAstVerberge)
         * {
         *      return new AufgaabeParamAndere(GbsAstVerberge: GbsAstVerberge);
         * }
         */

        static public AufgaabeParamAndere KonstruktInRaumManööver(
            SictTargetZuusctand InRaumObjektReprTarget,
            SictOverViewObjektZuusctand InRaumObjektReprOverview,
            SictZuInRaumObjektManööverTypEnum?ManööverAuszufüüreTyp,
            Int64?DistanceScrankeMin = null,
            Int64?DistanceScrankeMax = null)
        {
            return(new AufgaabeParamAndere(
                       TargetZuBearbeite: InRaumObjektReprTarget,
                       OverViewObjektZuBearbeite: InRaumObjektReprOverview,
                       ManööverAuszufüüreTyp: ManööverAuszufüüreTyp,
                       DistanzAinzuscteleScrankeMin:   DistanceScrankeMin,
                       DistanzAinzuscteleScrankeMax:   DistanceScrankeMax));
        }
Beispiel #13
0
        static public AufgaabeParamAndere AufgaabeAktioonMenu(
            SictOverViewObjektZuusctand InRaumObjektOverview,
            SictAnforderungMenuKaskaadeAstBedingung[] MenuListeAstBedingung,
            string[] ZwekListeKomponente = null)
        {
            if (null == InRaumObjektOverview)
            {
                return(null);
            }

            var Aufgaabe = new AufgaabeParamAndere(OverViewObjektZuBearbeite:       InRaumObjektOverview, MenuListeAstBedingung: MenuListeAstBedingung, ZwekListeKomponenteZuusaz: ZwekListeKomponente);

            return(Aufgaabe);
        }
Beispiel #14
0
        static public bool OverViewObjektPastZuTarget(
            SictOverViewObjektZuusctand OverviewObjekt,
            SictTargetZuusctand Target)
        {
            if (null == OverviewObjekt)
            {
                return(false);
            }

            if (null == Target)
            {
                return(false);
            }

            if (!OverViewObjektTypeOderNaamePasendZuTargetBescriftung(OverviewObjekt, Target))
            {
                return(false);
            }

            var OverviewObjektSictungLezteDistanceScrankeMin =
                OverviewObjekt?.AingangUnglaicDefaultZuZaitLezte?.Wert.Key?.DistanceMin ??
                OverviewObjekt.SictungLezteDistanceScrankeMinScpezOverview;

            var OverviewObjektSictungLezteDistanceScrankeMax =
                OverviewObjekt?.AingangUnglaicDefaultZuZaitLezte?.Wert.Key?.DistanceMax ??
                OverviewObjekt.SictungLezteDistanceScrankeMaxScpezOverview;

            var TargetDistanceScrankeMin = Target.SictungLezteDistanceScrankeMinScpezTarget;
            var TargetDistanceScrankeMax = Target.SictungLezteDistanceScrankeMaxScpezTarget;

            if (OverviewObjekt.SaitSictbarkaitLezteListeScritAnzaal <= 0)
            {
                var ScnapshusLezteTarget = OverviewObjekt?.AingangUnglaicDefaultZuZaitLezte?.Wert.Key?.IconTargetedByMeSictbar ?? false;

                if (!(true == OverviewObjekt.TargetingOderTargeted || ScnapshusLezteTarget))
                {
                    return(false);
                }

                if (!(OverviewObjektSictungLezteDistanceScrankeMin - 1777 < TargetDistanceScrankeMax &&
                      TargetDistanceScrankeMin - 1777 < OverviewObjektSictungLezteDistanceScrankeMax))
                {
                    return(false);
                }
            }

            return(true);
        }
        static public bool OverviewObjektBescriftungIstAsteroid(
            SictOverViewObjektZuusctand OverviewObjekt,
            out string OreTypSictString,
            out OreTypSictEnum?OreTyp)
        {
            OreTypSictString = null;
            OreTyp           = null;

            if (null == OverviewObjekt)
            {
                return(false);
            }

            var OverviewObjektName = OverviewObjekt.Name;
            var OverviewObjektType = OverviewObjekt.Type;

            if (0 < OverviewObjektName.CountNullable())
            {
                var NameMatch = Regex.Match(
                    OverviewObjektName, OverviewObjektNameRegexPattern, RegexOptions.IgnoreCase);

                if (NameMatch.Success)
                {
                    OreTypSictString = NameMatch.Groups[2].Value.Trim();

                    OreTyp = TempAuswertGbs.Extension.OreTypBerecneAusOreTypSictString(OreTypSictString);

                    return(true);
                }
            }

            OreTyp = TempAuswertGbs.Extension.OreTypBerecneAusOreTypSictString(OverviewObjektType);

            if (OreTyp.HasValue)
            {
                OreTypSictString = OverviewObjektType;

                return(true);
            }

            return(false);
        }
        public void MengeObjektCargoDurcsuuctFüügeAin(SictOverViewObjektZuusctand Objekt)
        {
            if (null == Objekt)
            {
                return;
            }

            var MengeObjektCargoDurcsuuct = this.MengeObjektCargoDurcsuuct;

            if (null == MengeObjektCargoDurcsuuct)
            {
                MengeObjektCargoDurcsuuct = new List <SictOverViewObjektZuusctand>();
            }

            if (!MengeObjektCargoDurcsuuct.Contains(Objekt))
            {
                MengeObjektCargoDurcsuuct.Add(Objekt);
            }

            this.MengeObjektCargoDurcsuuct = MengeObjektCargoDurcsuuct;
        }
Beispiel #17
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeLockTarget(
            ISictAutomatZuusctand AutomaatZuusctand,
            SictOverViewObjektZuusctand OverviewObjekt)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true);

            if (null == OverviewObjekt)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            if (true == OverviewObjekt.TargetingOderTargeted)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();

            if (null == AutomaatZuusctand)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            var FittingUndShipZuusctand = AutomaatZuusctand.FittingUndShipZuusctand;
            var OverviewUndTarget       = AutomaatZuusctand.OverviewUndTarget;

            var MengeTargetNocSictbar = (null == OverviewUndTarget) ? null : OverviewUndTarget.MengeTargetNocSictbar;

            var MengeTargetAnzaalScrankeMax = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.MengeTargetAnzaalScrankeMax;
            var ScritNääxteJammed           = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.ScritNääxteJammed;
            var ScritÜüberNääxteJammed      = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.ScritÜüberNääxteJammed;

            if (ScritÜüberNääxteJammed ?? false)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            if (MengeTargetAnzaalScrankeMax.HasValue)
            {
                if (MengeTargetAnzaalScrankeMax <= MengeTargetNocSictbar.CountNullable())
                {
                    return(AufgaabeParamZerleegungErgeebnis);
                }
            }

            var MenuKaskaadeLezte = AutomaatZuusctand.GbsMenuLezteInAst(OverviewObjekt);

            var MenuAstBedingung =
                new SictAnforderungMenuKaskaadeAstBedingung(SictShipZuusctandMitFitting.MenuEntryLockTargetRegexPattern, true);

            if (null != MenuKaskaadeLezte)
            {
                var MenuKaskaadeLezteAlter = AutomaatZuusctand.NuzerZaitMili - MenuKaskaadeLezte.BeginZait;

                var Menu0ListeEntry = MenuKaskaadeLezte.AusMenu0ListeEntryBerecne();

                if (!Menu0ListeEntry.IsNullOrEmpty())
                {
                    var MenuEntryLock = MenuAstBedingung.AusMengeMenuEntryGibUntermengePasendFürFrüühestePasendePrio(Menu0ListeEntry);

                    if (null == MenuEntryLock &&
                        !(8888 < MenuKaskaadeLezteAlter))
                    {
                        //	Kain Entry "Lock" vorhande. Daher Vermuutung das Objekt zu wait entfernt für Lock.

                        AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeDistanceAinzusctele(OverviewObjekt, null, 4444));
                    }
                }

                if (!MenuKaskaadeLezte.EndeZait.HasValue)
                {
                    //	Menu zu OverviewObjekt isc noc geöfnet.

                    if (ScritNääxteJammed ?? false)
                    {
                        return(AufgaabeParamZerleegungErgeebnis);
                    }
                }
            }

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                AufgaabeParamAndere.AufgaabeAktioonMenu(OverviewObjekt,
                                                        MenuAstBedingung));

            return(AufgaabeParamZerleegungErgeebnis);
        }
Beispiel #18
0
 public AufgaabeParamLockTarget(
     SictOverViewObjektZuusctand OverviewObjekt)
 {
     this.OverviewObjekt = OverviewObjekt;
 }
Beispiel #19
0
        public AufgaabeParamAndere(
            SictOverViewObjektZuusctand OverViewObjektZuBearbeite = null,
            SictTargetZuusctand TargetZuBearbeite  = null,
            bool?AktioonInOverviewMaceSictbar      = null,
            string AktioonInOverviewTabZuAktiviire = null,
            SictAnforderungMenuKaskaadeAstBedingung[] MenuListeAstBedingung = null,
            Int64?DistanzAinzuscteleScrankeMin = null,
            Int64?DistanzAinzuscteleScrankeMax = null,
            bool?AktioonInRaumObjektActivate   = null,
            bool?AktioonCargoDurcsuuce         = null,
            bool?AktioonLock                              = null,
            bool?AktioonWirkungTraktor                    = null,
            bool?AktioonDroneLaunch                       = null,
            bool?AktioonDroneEngage                       = null,
            bool?AktioonDroneReturn                       = null,
            bool?AktioonUnDock                            = null,
            SictAufgaabeParam AufgaabeParam               = null,
            SictAufgaabeParamMausPfaad MausPfaad          = null,
            SictShipUiModuleReprZuusctand ModuleScalteAin = null,
            SictShipUiModuleReprZuusctand ModuleScalteAus = null,
            SictShipUiModuleReprZuusctand ModuleScalteUm  = null,
            SictShipUiModuleReprZuusctand ModuleMesungModuleButtonHint = null,
            bool?AfterburnerScalteAin            = null,
            bool?AktioonMenuBegin                = null,
            bool?AktioonMenuEntferne             = null,
            bool?AktioonNeocomMenuEntferne       = null,
            GbsElement MenuWurzelGbsObjekt       = null,
            VonSensor.MenuEntry MenuEntry        = null,
            InfoPanelTypSictEnum?InfoPanelEnable = null,
            InfoPanelTypSictEnum?InfoPanelExpand = null,
            SictAufgaabeParamGbsAstOklusioonVermaidung GbsAstOklusioonVermaidung = null,
            SictGbsWindowZuusctand WindowMinimize       = null,
            SictGbsWindowZuusctand WindowHooleNaacVorne = null,
            //	GbsElement GbsAstVerberge = null,
            SictZuInRaumObjektManööverTypEnum?ManööverAuszufüüreTyp = null,
            SictVerlaufBeginUndEndeRef <ShipUiIndicationAuswert> ManööverUnterbreceNict = null,
            bool?VorrangVorManööverUnterbreceNict = null,
            bool?GridVerlase = null,
            VonSensor.ListColumnHeader ColumnHeaderSort                = null,
            GbsListGroupedEntryZuusctand ListEntryMaceSictbar          = null,
            GbsListGroupedEntryZuusctand ListEntryExpand               = null,
            GbsListGroupedEntryZuusctand ListEntryCollapse             = null,
            GbsListGroupedEntryZuusctand ListEntryToggleExpandCollapse = null,
            SictTargetZuusctand TargetUnLock          = null,
            SictTargetZuusctand TargetInputFookusSeze = null,
            VonSensor.LobbyAgentEntry LobbyAgentEntryStartConversation = null,
            SictMissionZuusctand MissionObjectiveMese     = null,
            SictMissionZuusctand MissionStartConversation = null,
            VonSensor.InfoPanelMissionsMission MissionButtonUtilmenuObjectiveZuMese   = null,
            VonSensor.WindowAgentDialogue WindowAgentDialogueMissionAcceptOderRequest = null,
            VonSensor.WindowAgentDialogue WindowAgentDialogueMissionDecline           = null,
            SictMissionZuusctand MissionAccept         = null,
            SictMissionZuusctand MissionDecline        = null,
            SictOptimatParamFitting FittingZuApliziire = null,
            SictNaacNuzerMeldungZuEveOnline NaacNuzerMeldungZuEveOnline = null,
            string[] ZwekListeKomponenteZuusaz                           = null,
            bool?InOverviewTabFolgeViewportDurcGrid                      = null,
            SictInventoryItemTransport InventoryItemTransport            = null,
            VonSensor.WindowInventoryPrimary InventorySezeSictTypAufList = null)
            :
            base(ZwekListeKomponenteZuusaz)
        {
            this.NaacNuzerMeldungZuEveOnline = NaacNuzerMeldungZuEveOnline;

            this.OverViewObjektZuBearbaite = OverViewObjektZuBearbeite;
            this.TargetZuBearbaite         = TargetZuBearbeite;

            this.AktioonInOverviewMaceSictbar = AktioonInOverviewMaceSictbar;

            this.AktioonInOverviewTabZuAktiviire    = AktioonInOverviewTabZuAktiviire;
            this.InOverviewTabFolgeViewportDurcGrid = InOverviewTabFolgeViewportDurcGrid;

            this.MenuListeAstBedingung = MenuListeAstBedingung;

            this.AktioonUnDock = AktioonUnDock;

            this.AktioonInRaumObjektActivate = AktioonInRaumObjektActivate;
            this.AktioonCargoDurcsuuce       = AktioonCargoDurcsuuce;

            this.AktioonWirkungTraktor = AktioonWirkungTraktor;

            this.AktioonDroneLaunch = AktioonDroneLaunch;
            this.AktioonDroneEngage = AktioonDroneEngage;
            this.AktioonDroneReturn = AktioonDroneReturn;

            this.MausPfaad = MausPfaad;

            this.AktioonMenuBegin    = AktioonMenuBegin;
            this.AktioonMenuEntferne = AktioonMenuEntferne;
            this.MenuWurzelGbsObjekt = MenuWurzelGbsObjekt;
            this.MenuEntry           = MenuEntry;

            this.AktioonNeocomMenuEntferne = AktioonNeocomMenuEntferne;

            this.InfoPanelEnable = InfoPanelEnable;
            this.InfoPanelExpand = InfoPanelExpand;

            this.WindowMinimize       = WindowMinimize;
            this.WindowHooleNaacVorne = WindowHooleNaacVorne;

            //	this.GbsAstVerberge = GbsAstVerberge;

            this.DistanzAinzuscteleScrankeMin     = DistanzAinzuscteleScrankeMin;
            this.DistanzAinzuscteleScrankeMax     = DistanzAinzuscteleScrankeMax;
            this.ManööverAuszufüüreTyp            = ManööverAuszufüüreTyp;
            this.ManööverUnterbreceNict           = ManööverUnterbreceNict;
            this.VorrangVorManööverUnterbreceNict = VorrangVorManööverUnterbreceNict;

            this.GbsAstOklusioonVermaidung = GbsAstOklusioonVermaidung;

            this.ModuleScalteAin = ModuleScalteAin;
            this.ModuleScalteAus = ModuleScalteAus;
            this.ModuleScalteUm  = ModuleScalteUm;
            this.ModuleMesungModuleButtonHint = ModuleMesungModuleButtonHint;

            this.AfterburnerScalteAin = AfterburnerScalteAin;

            this.ColumnHeaderSort              = ColumnHeaderSort;
            this.ListEntryMaceSictbar          = ListEntryMaceSictbar;
            this.ListEntryExpand               = ListEntryExpand;
            this.ListEntryCollapse             = ListEntryCollapse;
            this.ListEntryToggleExpandCollapse = ListEntryToggleExpandCollapse;

            this.GridVerlase = GridVerlase;

            this.TargetUnLock          = TargetUnLock;
            this.TargetInputFookusSeze = TargetInputFookusSeze;

            this.LobbyAgentEntryStartConversation = LobbyAgentEntryStartConversation;

            this.MissionObjectiveMese                        = MissionObjectiveMese;
            this.MissionStartConversation                    = MissionStartConversation;
            this.MissionButtonUtilmenuObjectiveZuMese        = MissionButtonUtilmenuObjectiveZuMese;
            this.WindowAgentDialogueMissionAcceptOderRequest = WindowAgentDialogueMissionAcceptOderRequest;
            this.WindowAgentDialogueMissionDecline           = WindowAgentDialogueMissionDecline;
            this.MissionAccept  = MissionAccept;
            this.MissionDecline = MissionDecline;

            this.FittingZuApliziire = FittingZuApliziire;

            this.InventoryItemTransport = InventoryItemTransport;

            this.InventorySezeSictTypAufList = InventorySezeSictTypAufList;
        }
Beispiel #20
0
 public AufgaabeParamDestrukt(
     SictOverViewObjektZuusctand ZiilOverviewObjekt)
     :
     this(ZiilOverviewObjekt, null)
 {
 }
Beispiel #21
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeDestrukt(
            ISictAutomatZuusctand AutomaatZuusctand,
            SictAufgaabeKombiZuusctand KombiZuusctand,
            SictOverViewObjektZuusctand ZiilOverviewObjekt,
            SictTargetZuusctand ZiilTarget)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, false);

            if (null == AutomaatZuusctand)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            var NuzerZaitMili = AutomaatZuusctand.NuzerZaitMili;

            var ZiilOverviewObjektSictungLezteAlterMili = NuzerZaitMili - ((null == ZiilOverviewObjekt) ? null : ZiilOverviewObjekt.SictungLezteZait);

            var Gbs = AutomaatZuusctand.Gbs;
            var OverviewUndTarget               = AutomaatZuusctand.OverviewUndTarget;
            var FittingUndShipZuusctand         = AutomaatZuusctand.FittingUndShipZuusctand;
            var InRaumAktioonUndGefect          = AutomaatZuusctand.InRaumAktioonUndGefect;
            var AusScnapscusAuswertungZuusctand = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;

            var FürWirkungDestruktAufgaabeDroneEngageTarget = (null == InRaumAktioonUndGefect) ? null : InRaumAktioonUndGefect.FürWirkungDestruktAufgaabeDroneEngageTarget;

            var ScnapscusWindowDroneView = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.WindowDroneView;

            var AnforderungDroneReturnLezte = (null == InRaumAktioonUndGefect) ? null : InRaumAktioonUndGefect.AnforderungDroneReturnLezte;

            var AnnaameDroneControlCountScrankeMaxNulbar = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameDroneControlCountScrankeMax;

            var MengeModuleRepr = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.MengeModuleRepr;

            var MengeModuleUmscaltFraigaabe =
                AutomaatZuusctand.MengeModuleUmscaltFraigaabe
                .WhereNullable((KandidaatModule) => (null == KombiZuusctand) ? true : KombiZuusctand.ModuleVerwendungFraigaabe(KandidaatModule))
                .ToArrayNullable();

            var AnnaameTargetingDistanceScrankeMax = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameTargetingDistanceScrankeMax;

            var AnnaameModuleDestruktRangeMax           = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameModuleDestruktRangeMax;
            var AnnaameModuleDestruktRangeOptimumNulbar = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameModuleDestruktRangeOptimum;

            var AnnaameGefectDistanzOptimum = Bib3.Glob.Min(AnnaameModuleDestruktRangeOptimumNulbar, AnnaameTargetingDistanceScrankeMax);

            var ScritNääxteJammed      = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.ScritNääxteJammed;
            var ScritÜüberNääxteJammed = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.ScritÜüberNääxteJammed;

            var ListeAbovemainMessageDronesLezteAlter = (null == Gbs) ? null : Gbs.ListeAbovemainMessageDronesLezteAlter;
            var MengeTargetNocSictbar = (null == OverviewUndTarget) ? null : OverviewUndTarget.MengeTargetNocSictbar;

            bool DroneLaunchVolsctändig = false;

            if (ListeAbovemainMessageDronesLezteAlter < 3e+4)
            {
                DroneLaunchVolsctändig = true;
            }

            if (!DroneLaunchVolsctändig &&
                0 < ExtractFromOldAssembly.Bib3.Extension.CountNullable(MengeTargetNocSictbar) || (ScritNääxteJammed ?? false))
            {
                //	Drones Launch

                if (false == AnforderungDroneReturnLezte &&
                    null != ScnapscusWindowDroneView)
                {
                    //	Drones Launch

                    if (0 < ScnapscusWindowDroneView.DronesInBayAnzaal)
                    {
                        /*
                         * 2013.09.24
                         * Anforderung vorerst nur für Scpeziaalfal das nur fünf drones in space sain köne.
                         * Scpääter sol Anzaal nuzbaarer drones berüksictigt were.
                         * */
                        if ((AnnaameDroneControlCountScrankeMaxNulbar ?? 5) <= ScnapscusWindowDroneView.DronesInLocalSpaceAnzaal)
                        {
                            DroneLaunchVolsctändig = true;
                        }
                        else
                        {
                            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeAktioonDroneLaunch());
                        }
                    }
                    else
                    {
                        DroneLaunchVolsctändig = true;
                    }
                }
            }

            var MengeModuleAinSol =
                MengeModuleUmscaltFraigaabe.IntersectNullable(
                    MengeModuleRepr.WhereNullable((KandidaatModule) =>
                                                  (((true == KandidaatModule.IstWirkmitelDestrukt) &&
                                                    (true == KandidaatModule.ChargeLoaded)) ||
                                                   (true == KandidaatModule.IstTargetPainter)) &&
                                                  !(true == KandidaatModule.AktiivBerecne(1))))
                .ToArrayNullable();

            if (null == ZiilTarget)
            {
                var MengeTargetPasend =
                    OverviewUndTarget.MengeTargetTailmengePasendZuOverviewObjektBerecne(ZiilOverviewObjekt);

                if (null != MengeTargetPasend)
                {
                    ZiilTarget = MengeTargetPasend.OrderBy((KandidaatTarget) => KandidaatTarget.SictungLezteDistanceScrankeMaxScpezTarget ?? int.MaxValue).FirstOrDefault();
                }
            }

            if (null == ZiilTarget)
            {
                if (null != ZiilOverviewObjekt)
                {
                    if (!(GefectListeLockedTargetScranke <= ExtractFromOldAssembly.Bib3.Extension.CountNullable(MengeTargetNocSictbar)))
                    {
                        if (true == ZiilOverviewObjekt.TargetingOderTargeted &&
                            7777 < ZiilOverviewObjektSictungLezteAlterMili)
                        {
                            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeInOverViewMaceSictbar(ZiilOverviewObjekt));
                        }
                        else
                        {
                            var DistanceHinraicendGeringFürLock = true;

                            if (0 < ExtractFromOldAssembly.Bib3.Extension.CountNullable(MengeTargetNocSictbar))
                            {
                                if (ZiilOverviewObjekt.SaitSictbarkaitLezteListeScritAnzaal < 1)
                                {
                                    if (AnnaameTargetingDistanceScrankeMax < ZiilOverviewObjekt.SictungLezteDistanceScrankeMaxScpezOverview &&
                                        NuzerZaitMili - 4444 < ZiilOverviewObjekt.SictungLezteZait)
                                    {
                                        DistanceHinraicendGeringFürLock = false;
                                    }

                                    if (AnnaameGefectDistanzOptimum < ZiilOverviewObjekt.SictungLezteDistanceScrankeMaxScpezOverview)
                                    {
                                        DistanceHinraicendGeringFürLock = false;
                                    }
                                }
                            }

                            if (DistanceHinraicendGeringFürLock)
                            {
                                AufgaabeParamZerleegungErgeebnis.FüügeAn(new AufgaabeParamLockTarget(ZiilOverviewObjekt));
                            }
                            else
                            {
                                AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();
                            }
                        }
                    }

                    if (!(ZiilOverviewObjekt.SictungLezteDistanceScrankeMaxScpezOverview < AnnaameGefectDistanzOptimum))
                    {
                        AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeDistanceAinzusctele(ZiilOverviewObjekt, null, AnnaameGefectDistanzOptimum));
                    }
                }
            }
            else
            {
                var AnnaameDroneCommandRange = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameDroneCommandRange;

                var TargetDistancePasendFürModule = false;
                var TargetDistancePasendFürDrone  = false;

                //	!!!!	zu ergänze: Berecnung soldistance für Turret
                //	!!!!	zu ergänze: Berecnung TargetMengeModuleAinSol: untermenge von MengeModuleAinSol da Module untersciidlice optimaale Distance haabe (TargetPainter)
                if (ZiilTarget.SictungLezteDistanceScrankeMaxScpezTarget < AnnaameGefectDistanzOptimum)
                {
                    TargetDistancePasendFürModule = true;
                }

                {
                    AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeDistanceAinzusctele(ZiilTarget, null, AnnaameGefectDistanzOptimum));
                }

                if (ZiilTarget.SictungLezteDistanceScrankeMaxScpezTarget < AnnaameDroneCommandRange)
                {
                    TargetDistancePasendFürDrone = true;
                }

                var DroneEngage =
                    DroneLaunchVolsctändig &&
                    TargetDistancePasendFürDrone &&
                    true == FürWirkungDestruktAufgaabeDroneEngageTarget;

                if (DroneEngage || !MengeModuleAinSol.IsNullOrEmpty())
                {
                    {
                        if (TargetDistancePasendFürModule)
                        {
                            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktTargetInputFookusSeze(ZiilTarget));
                        }
                    }
                }

                if (!MengeModuleAinSol.IsNullOrEmpty())
                {
                    //	Hiir werd nuur waitergemact wen noc mindesctens ain Module noc aigescaltet werde sol.

                    if (true == ZiilTarget.InputFookusTransitioonLezteZiilWert)
                    {
                        if (TargetDistancePasendFürModule)
                        {
                            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                                MengeModuleAinSol.Select((ModuleAinSol) => AufgaabeParamAndere.KonstruktModuleScalteAin(ModuleAinSol)));
                        }
                    }
                }

                if (DroneEngage)
                {
                    if (true == ZiilTarget.InputFookusTransitioonLezteZiilWert)
                    {
                        AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktDronesEngage(ZiilTarget));
                    }
                }
            }

            return(AufgaabeParamZerleegungErgeebnis);
        }
Beispiel #22
0
 static public AufgaabeParamAndere AufgaabeAktioonInRaumObjektActivate(
     SictOverViewObjektZuusctand InRaumObjekt,
     string ZwekKomponente)
 {
     return(AufgaabeAktioonInRaumObjektActivate(InRaumObjekt, new string[] { ZwekKomponente }));
 }
Beispiel #23
0
 abstract public SictAufgaabeZuusctand ManööverAusgefüürtLezteAufgaabeBerecne(SictOverViewObjektZuusctand OverviewObjekt, SictTargetZuusctand Target, SictZuInRaumObjektManööverTypEnum ManööverTyp, long?DistanceScrankeMin = null, long?DistanceScrankeMax = null, bool BedingungNocAktiiv = false);
Beispiel #24
0
 static public AufgaabeParamAndere AufgaabeInOverViewMaceSictbar(
     SictOverViewObjektZuusctand InRaumObjekt,
     string ZwekKomponente)
 {
     return(AufgaabeInOverViewMaceSictbar(InRaumObjekt, new string[] { ZwekKomponente }));
 }