コード例 #1
0
        /*
         * 2014.07.29
         *
         * Verscoobe naac SictNaacNuzerMeldungZuEveOnlineCause
         *
         * static public string MeldungSictStringBerecneAusNaacNuzerMeldung(
         *      SictNaacNuzerMeldungZuEveOnlineCause Ursace)
         * {
         *      if (null == Ursace)
         *      {
         *              return null;
         *      }
         *
         *      var WindowBlockingTitel = Ursace.WindowBlockingTitel;
         *
         *      var WindowArrangementWindowStackTitel = Ursace.WindowArrangementWindowStackTitel;
         *
         *      var FittingManagementMissingFitting = Ursace.FittingManagementMissingFitting;
         *      var PreferencesOverviewMissingTypeGroup = Ursace.PreferencesOverviewMissingTypeGroup;
         *
         *      var OverviewMissingPreset = Ursace.OverviewMissingPreset;
         *      var OverviewMissingTab = Ursace.OverviewMissingTab;
         *
         *      var CauseBinary = Ursace.CauseBinary;
         *
         *      if (null != WindowBlockingTitel)
         *      {
         *              return "blocked by Window[\"" + WindowBlockingTitel + "\"]";
         *      }
         *
         *      if (null != WindowArrangementWindowStackTitel)
         *      {
         *              return "WindowStack[\"" + WindowArrangementWindowStackTitel + "\"] detected, please decompose Window Stack";
         *      }
         *
         *      if (null != FittingManagementMissingFitting)
         *      {
         *              return "missing Fitting Entry[\"" + FittingManagementMissingFitting + "\"]";
         *      }
         *
         *      if (null != PreferencesOverviewMissingTypeGroup)
         *      {
         *              return "Preferences.Overview missing Overview Type Group[\"" + PreferencesOverviewMissingTypeGroup + "\"]";
         *      }
         *
         *      if (null != OverviewMissingPreset)
         *      {
         *              return "Overview missing Preset[\"" + OverviewMissingPreset + "\"]";
         *      }
         *
         *      if (null != OverviewMissingTab)
         *      {
         *              return "Overview missing Tab[\"" + OverviewMissingTab + "\"]";
         *      }
         *
         *      if (CauseBinary.HasValue)
         *      {
         *              return SictNaacNuzerMeldungZuEveOnlineCause.CauseTypeStringBerecne(CauseBinary);
         *      }
         *
         *      return null;
         * }
         * */

        static public Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum SymboolTypBerecneAusNaacNuzerMeldung(
            SictNaacNuzerMeldungZuEveOnline Meldung)
        {
            if (null == Meldung)
            {
                return(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Kain);
            }

            var Severity = Meldung.Severity;

            if (!Severity.HasValue)
            {
                return(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Kain);
            }

            switch (Severity.Value)
            {
            case SictNaacNuzerMeldungZuEveOnlineSeverity.None:
                break;

            case SictNaacNuzerMeldungZuEveOnlineSeverity.Info:
                break;

            case SictNaacNuzerMeldungZuEveOnlineSeverity.Warning:
                return(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Warnung);

            case SictNaacNuzerMeldungZuEveOnlineSeverity.Error:
                return(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Feeler);
            }

            return(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Kain);
        }
コード例 #2
0
        public void AktualisiireTailMengeNaacNuzerMeldung(
            Int64 Zait,
            IEnumerable <SictNaacNuzerMeldungZuEveOnline> MengeMeldungAktiiv)
        {
            var MengeMeldungAktiivDistinct =
                (null == MengeMeldungAktiiv) ? null :
                MengeMeldungAktiiv.Distinct(new SictNaacNuzerMeldungZuEveOnlineEqualityHinraicenGlaicwertigFürFortsaz()).ToArray();

            Bib3.Glob.PropagiireListeRepräsentatioon(
                MengeMeldungAktiivDistinct,
                this.MengeNaacNuzerMeldung as IList <SictNaacNuzerMeldungZuEveOnline>,
                (MeldungAktiiv) => new SictNaacNuzerMeldungZuEveOnline(NaacNuzerMeldungIdent++, Zait, MeldungAktiiv),
                (KandidaatRepr, MeldungAktiiv) => SictNaacNuzerMeldungZuEveOnline.HinraicenGlaicwertigFürFortsaz(KandidaatRepr, MeldungAktiiv),
                (Repr, MeldungAktiiv) =>
            {
                if (null != MeldungAktiiv)
                {
                    Repr.AktiivLezteSeze(Zait, MeldungAktiiv.AktiivLezteInWindowClientFläce);
                }
            },
                true);

            var MeldungAktiivLezteZaitScrankeMin = Zait - 10000;

            MengeNaacNuzerMeldung.RemoveAll((Kandidaat) => !(MeldungAktiivLezteZaitScrankeMin < Kandidaat.AktiivLezteZait));
        }
コード例 #3
0
        static public string MeldungSictStringBerecneAusNaacNuzerMeldung(
            this SictNaacNuzerMeldungZuEveOnline meldung)
        {
            if (null == meldung)
            {
                return(null);
            }

            var GeneralCause = meldung.GeneralCause;

            var UndockPreventedCause = meldung.UndockPreventedCause;
            var DockForcedCause      = meldung.DockForcedCause;

            if (null != UndockPreventedCause)
            {
                return("undocking prevented, cause=\"" + SictNaacNuzerMeldungZuEveOnlineCause.CauseSictStringBerecne(UndockPreventedCause) + "\"");
            }

            if (null != DockForcedCause)
            {
                return("dock forced, cause=\"" + SictNaacNuzerMeldungZuEveOnlineCause.CauseSictStringBerecne(DockForcedCause) + "\"");
            }

            if (null != GeneralCause)
            {
                return(SictNaacNuzerMeldungZuEveOnlineCause.CauseSictStringBerecne(GeneralCause));
            }

            return(null);
        }
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeOverviewPresetLaadeNaacVorgeseheneTab(
            ISictAutomatZuusctand AutomaatZuusctand,
            OverviewPresetDefaultTyp PresetDefault)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, false);

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

            var InRaumAktioonUndGefect = AutomaatZuusctand.InRaumAktioonUndGefect;

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

            var ZiilTab =
                InRaumAktioonUndGefect.OverviewMengeZuTabNamePresetDefault
                .FirstOrDefaultNullable((Kandidaat) => Kandidaat.Value == PresetDefault).Key;

            if (ZiilTab.IsNullOrEmpty())
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                        SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, new SictNaacNuzerMeldungZuEveOnlineCause(
                                                                         CauseText: "Overview Management"))));

                return(AufgaabeParamZerleegungErgeebnis);
            }

            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                AufgaabeParamAndere.KonstruktOverviewTabAktiviire(ZiilTab));

            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                new     AufgaabeParamOverviewPresetLaade(OverviewPresetTyp.Default, PresetDefault.ToString(), ZiilTab));

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            return(AufgaabeParamZerleegungErgeebnis);
        }
コード例 #5
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeInSolarSystemMenuAktioon(
            ISictAutomatZuusctand AutomaatZuusctand,
            SictAnforderungMenuKaskaadeAstBedingung[] ListeMenuKaskaadeAstBedingung)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, false);

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

            var Scnapscus = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;

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

            var GbsButtonListSurroundings = Scnapscus.InfoPanelLocationInfoButtonListSurroundings();

            if (null == GbsButtonListSurroundings)
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                                                             SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1,
                                                                                                          new SictNaacNuzerMeldungZuEveOnlineCause(CauseText: "Solar System Menu not found"))));

                return(AufgaabeParamZerleegungErgeebnis);
            }

            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.AufgaabeAktioonMenu(
                                                         GbsButtonListSurroundings,
                                                         ListeMenuKaskaadeAstBedingung));

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            return(AufgaabeParamZerleegungErgeebnis);
        }
コード例 #6
0
        public SictAufgaabeParamZerleegungErgeebnis ZerleegeScteleSicerOverviewSortNaacDistance(
            ISictAutomatZuusctand AutomaatZuusctand)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis();

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();

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

            var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget;

            var WindowOverview = AutomaatZuusctand.WindowOverView();

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

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

            if (!(OverviewUndTarget.SortedNaacDistanceNict ?? false))
            {
                AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

                return(AufgaabeParamZerleegungErgeebnis);
            }

            var WindowOverviewScnapscus = WindowOverview.AingangScnapscusTailObjektIdentLezteBerecne() as VonSensor.WindowOverView;

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

            var ScnapscusWindowOverviewAusTabListeZaileOrdnetNaacLaage = (null == WindowOverviewScnapscus) ? null : WindowOverviewScnapscus.AusTabListeZaileOrdnetNaacLaage;
            var ScnapscusWindowOverviewColumnHeaderDistance            = (null == WindowOverviewScnapscus) ? null : WindowOverviewScnapscus.ColumnHeaderDistance;

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            if (!(4 < ExtractFromOldAssembly.Bib3.Extension.CountNullable(ScnapscusWindowOverviewAusTabListeZaileOrdnetNaacLaage)))
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            if (WindowOverviewScnapscus.ZaileSindSortiirtNaacDistanceAufsctaigend ?? false)
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            if (null == ScnapscusWindowOverviewColumnHeaderDistance)
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1,

                                                                                                                          //	!!!!	Cause Anzupase:	Meldung das ColumnHeaderDistance feelt!

                                                                                                                          new SictNaacNuzerMeldungZuEveOnlineCause(SictNaacNuzerMeldungZuEveOnlineCauseTypeBinär.OverviewSortingNotOptimized))),
                    false);
            }
            else
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktColumnHeaderSort(ScnapscusWindowOverviewColumnHeaderDistance));
            }

            return(AufgaabeParamZerleegungErgeebnis);
        }
コード例 #7
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeOverviewPresetLaade(
            ISictAutomatZuusctand AutomaatZuusctand,
            OverviewPresetTyp PresetTyp,
            string PresetIdent,
            string ZiilTabIdent)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, false);

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

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

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

            var ScnapscusWindowOverview = AutomaatZuusctand.WindowOverviewScnapscusLezte();

            var WindowOverviewScnapscusLezteListeTab = AutomaatZuusctand.WindowOverviewScnapscusLezteListeTabNuzbar();

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

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

            var ZiilTab =
                WindowOverviewScnapscusLezteListeTab
                .FirstOrDefault((Kandidaat) => string.Equals(Kandidaat.LabelBescriftung, ZiilTabIdent, StringComparison.InvariantCultureIgnoreCase));

            if (null == ZiilTab)
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                        SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, new SictNaacNuzerMeldungZuEveOnlineCause(
                                                                         OverviewMissingTab: ZiilTabIdent))));

                return(AufgaabeParamZerleegungErgeebnis);
            }

            if (!(ZiilTab == AutomaatZuusctand.WindowOverviewScnapscusLezteTabAktiiv()))
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktMausPfaad(
                        SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(ZiilTab)));

                return(AufgaabeParamZerleegungErgeebnis);
            }

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            if (string.Equals(ScnapscusWindowOverview.OverviewPresetIdent, PresetIdent,
                              StringComparison.InvariantCultureIgnoreCase))
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            var MenuEntryPattern = "load\\s*" + PresetTyp.ToString();

            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                AufgaabeParamAndere.AufgaabeAktioonMenu(
                    ZiilTab,
                    new SictAnforderungMenuKaskaadeAstBedingung[] {
                new SictAnforderungMenuKaskaadeAstBedingung(MenuEntryPattern),
                new SictAnforderungMenuKaskaadeAstBedingung("^" + Regex.Escape(PresetIdent) + "$", true)
            }));

            return(AufgaabeParamZerleegungErgeebnis);
        }
コード例 #8
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;
        }
コード例 #9
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeMengeOverviewObjGrupeMesung(
            ISictAutomatZuusctand AutomaatZuusctand,
            SictOverviewObjektGrupeEnum[] MengeObjGrupe)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true);

            if (MengeObjGrupe.IsNullOrEmpty())
            {
                return(AufgaabeParamZerleegungErgeebnis);
            }

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();

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

            var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget;

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

            var InRaumAktioonUndGefect = AutomaatZuusctand.InRaumAktioonUndGefect;

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

            /*
             * 2015.00.04
             *
             * Aufgaabe werd vorersct so zerleegt das für ObjGrupe jewails ainzeln Overview durchsuuct werd.
             * */

            var MengePresetDefault =
                SictOverviewUndTargetZuusctand.ListePresetDefaultPrioSctaatisc
                .Where((Kandidaat) =>
                       0 <
                       SictOverviewUndTargetZuusctand.ZuOverviewDefaultMengeObjektGrupeSictbar(Kandidaat)
                       .IntersectNullable(MengeObjGrupe).CountNullable())
                .ToArray();

            var ListePresetDefault = SictOverviewUndTargetZuusctand.MengePresetDefaultOrdnetNaacPrioSctaatisc(MengePresetDefault);

            var PresetNääxte = ListePresetDefault.FirstOrDefaultNullable();

            var OverviewMengeZuTabNamePresetDefault = InRaumAktioonUndGefect.OverviewMengeZuTabNamePresetDefault;

            var TabFürPresetDefault =
                OverviewMengeZuTabNamePresetDefault
                .FirstOrDefaultNullable((Kandidaat) => Kandidaat.Value == PresetNääxte).Key;

            if (TabFürPresetDefault.IsNullOrEmpty())
            {
                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                    AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                        SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, new SictNaacNuzerMeldungZuEveOnlineCause(CauseText: "Overview Management"))));

                return(AufgaabeParamZerleegungErgeebnis);
            }

            //	Für nääxte Preset vorgesehene Tab öfne.
            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                AufgaabeParamAndere.KonstruktOverviewTabAktiviire(TabFürPresetDefault));

            //	Preset laade.
            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                new AufgaabeParamOverviewPresetLaade(OverviewPresetTyp.Default, PresetNääxte.ToString(), TabFürPresetDefault));

            //	Dirc Viewport Scrolle.
            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktInOverviewTabFolgeViewportDurcGrid());

            AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin();

            return(AufgaabeParamZerleegungErgeebnis);
        }
コード例 #10
0
        public void FürMissionListeAufgaabeNääxteParamBerecne(
            ISictAutomatZuusctand AutomaatZuusctand,
            out IEnumerable <SictAufgaabeParam> FürMissionListeAufgaabeNääxteParam)
        {
            var ListeAufgaabeNääxteParam = new List <SictAufgaabeParam>();

            FürMissionListeAufgaabeNääxteParam = ListeAufgaabeNääxteParam;

            if (null == AutomaatZuusctand)
            {
                return;
            }

            var OptimatParam = AutomaatZuusctand.OptimatParam();

            if (null == OptimatParam)
            {
                return;
            }

            var ZaitMili = AutomaatZuusctand.NuzerZaitMili;

            var AusScnapscusAuswertungZuusctand = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;

            var GbsButtonListSurroundings =
                (null == AusScnapscusAuswertungZuusctand) ? null :
                AusScnapscusAuswertungZuusctand.InfoPanelLocationInfoButtonListSurroundings();

            var UtilmenuMission = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.UtilmenuMission;

            var MengeWindowAgentDialogue = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.MengeWindowAgentDialogue;

            var FittingUndShipZuusctand = AutomaatZuusctand.FittingUndShipZuusctand;
            var InRaumAktioonUndGefect  = AutomaatZuusctand.InRaumAktioonUndGefect;

            var UtilmenuMissionLezteNocOfeMitBeginZait = this.UtilmenuMissionLezteNocOfeMitBeginZait;

            var UtilmenuMissionLezteNocOfeAlter = (ZaitMili - UtilmenuMissionLezteNocOfeMitBeginZait.Zait) / 1000;

            var VonNuzerParamMission = (null == OptimatParam) ? null : OptimatParam.Mission;

            var VonNuzerParamMissionAktioonAcceptFraigaabe = (null == VonNuzerParamMission) ? null : VonNuzerParamMission.AktioonAcceptFraigaabe;

            var MissionAktuel = this.MissionAktuel;

            var MissionAktuelObjectiveZuZaitLezteNulbar =
                (null == MissionAktuel) ? null : MissionAktuel.ListeMesungObjectiveZuusctandZuZaitLezteBerecne();

            var MissionAktuelObjectiveLezte =
                MissionAktuelObjectiveZuZaitLezteNulbar.HasValue ? MissionAktuelObjectiveZuZaitLezteNulbar.Value.Wert : null;

            var MissionAktuelWindowAgentDialogueZuZaitLezte = (null == MissionAktuel) ? null : MissionAktuel.WindowAgentDialogueZuZaitLezteBerecne();

            var MissionAktuelTailFürNuzer = (null == MissionAktuel) ? null : MissionAktuel.TailFürNuzer;

            var MissionAktuelAgentLevel = (null == MissionAktuelTailFürNuzer) ? null : MissionAktuelTailFürNuzer.AgentLevel;

            var MissionAktuelStrategikon = (null == MissionAktuel) ? null : MissionAktuel.Strategikon;

            var MissionAktuelStrategikonFürLevel4WarpToWithinFürDistanceAbhängigVonWirkungDestruktRange =
                (null == MissionAktuelStrategikon) ? null :
                MissionAktuelStrategikon.FürLevel4WarpToWithinFürDistanceAbhängigVonWirkungDestruktRange;

            var MissionZiilLocationNääxteInUtilmenu = (null == MissionAktuel) ? null : MissionAktuel.ZiilLocationNääxteInUtilmenu;
            var MissionButtonUtilmenu = (null == MissionAktuel) ? null : MissionAktuel.ButtonUtilmenu;

            var ShipZuusctandLezte = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.ShipZuusctand;

            var MissionAnforderungActiveShipCargoLeereLezteZaitMili = this.AnforderungActiveShipCargoLeereLezteZaitMili;

            var AnnaameActiveShipCargoLeerLezteZaitMili = AutomaatZuusctand.AnnaameActiveShipCargoGeneralLeerLezteZaitMili;

            var SelbsctShipDocking   = (null == ShipZuusctandLezte) ? null : ShipZuusctandLezte.Docking;
            var SelbsctShipDocked    = (null == ShipZuusctandLezte) ? null : ShipZuusctandLezte.Docked;
            var SelbsctShipWarping   = (null == ShipZuusctandLezte) ? null : ShipZuusctandLezte.Warping;
            var WarpingLezteZaitMili = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.WarpingLezteZaitMili;
            var JumpingLezteZaitMili = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.JumpingLezteZaitMili;

            var WarpingLezteAlterMili = ZaitMili - WarpingLezteZaitMili;
            var JumpingLezteAlterMili = ZaitMili - JumpingLezteZaitMili;

            var AnnaameGefectDistanceOptimum = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameModuleDestruktRangeOptimum;
            var FittingUndShipZuusctandAnnaameTargetingDistanceScrankeMax = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.AnnaameTargetingDistanceScrankeMax;

            var LobbyAgentEntryStartConversation            = this.LobbyAgentEntryStartConversation;
            var MissionButtonUtilmenuObjectiveZuMese        = this.MissionButtonUtilmenuObjectiveZuMese;
            var WindowAgentDialogueMissionAcceptOderRequest = this.WindowAgentDialogueMissionAcceptOderRequest;

            var MissionAcceptNääxte  = this.MissionAcceptNääxte;
            var MissionDeclineNääxte = this.MissionDeclineNääxte;
            var InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgesclose = this.InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgesclose;

            var ZuBeginZaitMissionFittingZuTesteNääxte = this.ZuBeginZaitMissionFittingZuTesteNääxte;

            var CurrentLocation = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.CurrentLocationInfo();

            var CurrentLocationNearestName = (null == CurrentLocation) ? null : CurrentLocation.NearestName;

            var MissionZiilLocationNääxteAuswert = (null == MissionAktuel) ? null : MissionAktuel.ZiilLocationNääxteAuswert;

            var MissionZiilLocationNääxteErraict = (null == MissionZiilLocationNääxteAuswert) ? null : MissionZiilLocationNääxteAuswert.LocationErraict;

            var MissionZiilLocationNääxteAuswertObjectiveLocation = (null == MissionZiilLocationNääxteAuswert) ? null : MissionZiilLocationNääxteAuswert.Objective;

            var MissionAktuelWindowAgentDialogueVolsctändigGeöfnet =
                (null == MengeWindowAgentDialogue || null == MissionAktuel) ? null :
                MengeWindowAgentDialogue.FirstOrDefault((KandidaatWindow) => EveOnline.Anwendung.SictMissionZuusctand.WindowAgentPastZuMission(MissionAktuel, KandidaatWindow, true, true, true, true));

            var MissionAktuelWindowAgentDialogueHalbGeöfnet =
                (null == MengeWindowAgentDialogue || null == MissionAktuel) ? null :
                MengeWindowAgentDialogue.FirstOrDefault((KandidaatWindow) => EveOnline.Anwendung.SictMissionZuusctand.WindowAgentPastZuMission(MissionAktuel, KandidaatWindow, true, true, false, false));

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

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

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

            var AbovemainMessageCannotWarpThereLezteBeginZait =
                (null == AbovemainMessageCannotWarpThereLezte) ? null : AbovemainMessageCannotWarpThereLezte.BeginZait;

            var AbovemainMessageCannotWarpThereLezteBeginAlterMili = ZaitMili - AbovemainMessageCannotWarpThereLezteBeginZait;

            var MissionListeMesungObjectiveZuusctandLezteMitZaitNulbar =
                (null == MissionAktuel) ? null : MissionAktuel.ListeMesungObjectiveZuusctandZuZaitLezteBerecne();

            var MissionListeMesungObjectiveZuusctandLezte =
                MissionListeMesungObjectiveZuusctandLezteMitZaitNulbar.HasValue ?
                MissionListeMesungObjectiveZuusctandLezteMitZaitNulbar.Value.Wert : null;

            var MissionListeMesungObjectiveZuusctandLezteCompleteBisAufLocationDropOff =
                (null == MissionListeMesungObjectiveZuusctandLezte) ? null : MissionListeMesungObjectiveZuusctandLezte.CompleteBisAufLocationDropOffBerecne();

            var MissionAktuelAgentLocation =
                (null == MissionAktuelTailFürNuzer) ? null : MissionAktuelTailFürNuzer.AgentLocation;

            var MissionAktuelAgentLocationLocationNameTailSystem =
                (null == MissionAktuelAgentLocation) ? null : MissionAktuelAgentLocation.LocationNameTailSystem;

            var CurrentLocationSolarSystemName =
                (null == CurrentLocation) ? null : CurrentLocation.SolarSystemName;

            var UtilmenuZuEntferneAlter =
                null == UtilmenuMissionLezteNocOfeMitBeginZait.Wert ? (Int64?)null :
                UtilmenuMissionLezteNocOfeAlter;

            if (null != MissionAktuelTailFürNuzer)
            {
                if (MissionAktuelTailFürNuzer.FürMissionFittingBezaicner.IsNullOrEmpty())
                {
                    ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                                                     SictNaacNuzerMeldungZuEveOnline.WarningGenerel(-1, SictNaacNuzerMeldungZuEveOnlineCauseTypeBinär.MissionCurrentNoFittingConfigured)));
                }
            }

            if (33 < UtilmenuZuEntferneAlter)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMenuEntferne());
            }

            if (null != MissionAktuelWindowAgentDialogueVolsctändigGeöfnet &&
                null != MissionAktuelObjectiveLezte)
            {
                if (true == MissionAktuelObjectiveLezte.Complete)
                {
                    //	Button Complete sol ersct naac Messung Objective Complete betäätigt werde da sunsct der Erfolg der Mission scpääter nit erkant werd.

                    var ButtonComplete = MissionAktuelWindowAgentDialogueVolsctändigGeöfnet.ButtonComplete;

                    if (null == ButtonComplete)
                    {
                    }
                    else
                    {
                        /*
                         * 2014.04.24 ("20:06") Beobactung Probleeem:
                         * "Mission of Mercy" werd von Automaat "complete remotely" -> mit Complete warte bis in Station "Agent Home Base" gedockt.
                         *
                         * Daher noie Bedingung für Complete: ersct wenn Scpiiler in glaiche System gedockt isc in welcem sic der Agent zur Mission befindet.
                         * */

                        if (true == SelbsctShipDocked &&
                            string.Equals(MissionAktuelAgentLocationLocationNameTailSystem, CurrentLocationSolarSystemName, StringComparison.InvariantCultureIgnoreCase))
                        {
                            ListeAufgaabeNääxteParam.Add(
                                SictAufgaabeParam.KonstruktAufgaabeParam(
                                    AufgaabeParamAndere.KonstruktMausPfaad(
                                        SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(ButtonComplete)),
                                    new     string[] { SictAufgaabeParam.ObjektSictZwekKomponente(MissionAktuel) + ".Complete" }));
                        }
                    }
                }
            }

            if (null != MissionListeMesungObjectiveZuusctandLezte &&
                !(false == MissionZiilLocationNääxteErraict))
            {
                //	Mission Complete

                if (true == MissionListeMesungObjectiveZuusctandLezte.Complete ||
                    true == MissionListeMesungObjectiveZuusctandLezteCompleteBisAufLocationDropOff)
                {
                    if (null != MissionAktuelWindowAgentDialogueHalbGeöfnet)
                    {
                        var ButtonRequestMission = MissionAktuelWindowAgentDialogueHalbGeöfnet.ButtonRequestMission;
                        var ButtonViewMission    = MissionAktuelWindowAgentDialogueHalbGeöfnet.ButtonViewMission;

                        var Button = ButtonRequestMission ?? ButtonViewMission;

                        if (null != Button)
                        {
                            ListeAufgaabeNääxteParam.Add(
                                SictAufgaabeParam.KonstruktAufgaabeParam(
                                    AufgaabeParamAndere.KonstruktMausPfaad(SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(Button)),
                                    new string[] {
                                "Button[" + (Button.Bescriftung ?? "") + "].click"
                            }));
                            return;
                        }
                    }

                    var DialogueBeraitsGeöfnet = false;

                    if (MissionAktuelWindowAgentDialogueZuZaitLezte.HasValue)
                    {
                        if (ZaitMili <= MissionAktuelWindowAgentDialogueZuZaitLezte.Value.Zait &&
                            null != MissionAktuelWindowAgentDialogueZuZaitLezte.Value.Wert)
                        {
                            DialogueBeraitsGeöfnet = true;
                        }
                    }

                    if (!DialogueBeraitsGeöfnet)
                    {
                        ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMissionStartConversation(MissionAktuel));
                    }
                }
            }

            if (null != MissionZiilLocationNääxteAuswert)
            {
                //	zu nääxte Ziil Location raise

                if (JumpingLezteAlterMili < 5e+3 ||
                    WarpingLezteAlterMili < 4e+3)
                {
                    return;
                }

                var MissionZiilLocationNääxteInfoAggr = MissionAktuel.ZuObjectiveLocationLocationInfoAggr(MissionZiilLocationNääxteAuswert, true);

                var MissionZiilLocationNääxteIstDeadspace = (null == MissionZiilLocationNääxteInfoAggr) ? null : MissionZiilLocationNääxteInfoAggr.IstDeadspace;

                if (false == MissionZiilLocationNääxteAuswert.LocationErraict)
                {
                    if (false == MissionZiilLocationNääxteAuswert.LocationErraictTailSystem &&
                        true == MissionZiilLocationNääxteAuswert.LocationSystemGlaicInfoPanelRouteDestinationSystem)
                    {
                        //	Ziilsystem isc in InfoPanel Route als Ziil gesezt.

                        ListeAufgaabeNääxteParam.Add(new AufgaabeParamInfoPanelRouteFüüreAus());
                    }

                    if (!(JumpingLezteAlterMili < 5e+3))
                    {
                        if (true == SelbsctShipDocked)
                        {
                            ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktUnDock());
                        }

                        var InZiilLocationSystemUnDockedAktioon =
                            (true == MissionZiilLocationNääxteAuswert.LocationErraictTailSystem &&
                             !(true == SelbsctShipWarping) &&
                             !(true == SelbsctShipDocking) &&
                             false == SelbsctShipDocked);

                        {
                            //	2014.02.26	Noie Verzwaigung: Für LVL4 Mission sol "Warp to Location" -> "Within" verwendet werde.

                            if (InZiilLocationSystemUnDockedAktioon &&
                                (false == MissionZiilLocationNääxteAuswert.LocationErfordertDock) &&
                                !(MissionAktuelAgentLevel < 4) &&
                                !(true == MissionZiilLocationNääxteIstDeadspace) &&
                                null != MissionZiilLocationNääxteInfoAggr &&
                                true == MissionAktuelStrategikonFürLevel4WarpToWithinFürDistanceAbhängigVonWirkungDestruktRange &&
                                !(true == SelbsctShipDocked))
                            {
                                var MenuEntryMissionRegexPattern = VonSensor.MenuEntryScpez.InSurroundingsMenuEntryAgentMissionRegexPattern(
                                    MissionAktuelTailFürNuzer);

                                //	!!!!	Noc zu sctabilisiire: tatsäclice Bezaicnung ermitle, z.B. aus UtilMenu
                                var MenuEntryLocationRegexPattern = "Encounter";

                                var MenuEntryWarpToLocationRegexPattern = "Warp to Location";

                                var WarpDistanceOptimum = Math.Min((AnnaameGefectDistanceOptimum + 10000) ?? 100000, FittingUndShipZuusctandAnnaameTargetingDistanceScrankeMax ?? 80000);

                                var AnnaameMengeWarpDistanceVerfüügbar =
                                    Enumerable.Range(0, 21).Select((Index) => Index * 5000).ToArray();

                                //	!!!!	Noc zu sctabilisiire: tatsäclic verfüügbaare Entry ermitle aus lezte Menu
                                var AnnaameMengeWarpDistanceVerfüügbarMitRegexPattern =
                                    AnnaameMengeWarpDistanceVerfüügbar
                                    .Select((Distance) => new KeyValuePair <int, string>(Distance, "within\\s*" + (Distance / 1000).ToString() + "\\s*km"))
                                    .ToArray();

                                var ListeEntryDistanceRegexPatternOrdnetNaacGüte =
                                    AnnaameMengeWarpDistanceVerfüügbarMitRegexPattern
                                    .OrderBy((Kandidaat) => Math.Abs(Kandidaat.Key - WarpDistanceOptimum))
                                    .Select((Kandidaat) => Kandidaat.Value)
                                    .ToArray();

                                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.AufgaabeAktioonMenu(
                                                                 GbsButtonListSurroundings,
                                                                 new SictAnforderungMenuKaskaadeAstBedingung[] {
                                    new     SictAnforderungMenuKaskaadeAstBedingung(MenuEntryMissionRegexPattern),
                                    new     SictAnforderungMenuKaskaadeAstBedingung(MenuEntryLocationRegexPattern),
                                    new     SictAnforderungMenuKaskaadeAstBedingung(new     string[] {
                                        MenuEntryWarpToLocationRegexPattern + "$",
                                        MenuEntryWarpToLocationRegexPattern
                                    }),
                                    new     SictAnforderungMenuKaskaadeAstBedingung(ListeEntryDistanceRegexPatternOrdnetNaacGüte),
                                }));
                            }
                        }

                        if ((false == MissionZiilLocationNääxteAuswert.LocationErraictTailSystem &&
                             false == MissionZiilLocationNääxteAuswert.LocationSystemGlaicInfoPanelRouteDestinationSystem) ||
                            InZiilLocationSystemUnDockedAktioon)
                        {
                            var MissionZiilLocationNääxteLocationName =
                                MissionZiilLocationNääxteAuswert.Objective.Location.LocationName;

                            var ZwekListeKomponente = new string[] { "travel to Mission Location[" + (MissionZiilLocationNääxteLocationName ?? "") + "]" };

                            //	Wen (Ship sic noc nit im Ziil Solarsysteem befindet und Route noc nit naac InfoPanelRoute gesezt wurde) oder (Ship sic scon im Ziil Solarsysteem und nit in Warp befindet) sol über Utilmenu waitergesctoiert werde.

                            if (AbovemainMessageCannotWarpThereLezteBeginAlterMili < 11111)
                            {
                                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktGridVerlase());
                            }

                            if (null == MissionZiilLocationNääxteInUtilmenu)
                            {
                                if (null == MissionButtonUtilmenu)
                                {
                                }
                                else
                                {
                                    ListeAufgaabeNääxteParam.Add(
                                        SictAufgaabeParam.KonstruktAufgaabeParam(
                                            AufgaabeParamAndere.KonstruktMausPfaad(SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(MissionButtonUtilmenu)),
                                            Optimat.Glob.ListeErwaitertAlsArray(ZwekListeKomponente, new string[] { "InfoPanelMenu.Create" })));
                                }
                            }
                            else
                            {
                                var KnopfSetDestination = MissionZiilLocationNääxteInUtilmenu.KnopfSetDestination;
                                var KnopfWarpTo         = MissionZiilLocationNääxteInUtilmenu.KnopfWarpTo;
                                var KnopfDock           = MissionZiilLocationNääxteInUtilmenu.KnopfDock;
                                var KnopfApproach       = MissionZiilLocationNääxteInUtilmenu.KnopfApproach;

                                //	WarpTo oder Dock oder Approach nur dan betäätige wen nict geraade in Warp

                                var KnopfZuBetäätige =
                                    ((true == SelbsctShipWarping) ? null : (KnopfWarpTo ?? KnopfDock)) ??
                                    KnopfSetDestination;

                                var KnopfBetäätigeFraigaabe =
                                    KnopfSetDestination == KnopfZuBetäätige;

                                if (true == RaumVerlaseFraigaabe)
                                {
                                    if (KnopfWarpTo == KnopfZuBetäätige &&
                                        true == GefectBaitritFraigaabe)
                                    {
                                        KnopfBetäätigeFraigaabe = true;
                                    }

                                    if (KnopfDock == KnopfZuBetäätige)
                                    {
                                        KnopfBetäätigeFraigaabe = true;
                                    }
                                }

                                if (null != KnopfZuBetäätige && KnopfBetäätigeFraigaabe)
                                {
                                    ListeAufgaabeNääxteParam.Add(
                                        SictAufgaabeParam.KonstruktAufgaabeParam(
                                            AufgaabeParamAndere.KonstruktMausPfaad(SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(KnopfZuBetäätige)),
                                            Optimat.Glob.ListeErwaitertAlsArray(ZwekListeKomponente, new string[] { "Button[" + KnopfZuBetäätige.Bescriftung + "]" })));
                                }
                            }
                        }
                    }
                }
            }

            if (null != WindowAgentDialogueMissionAcceptOderRequest)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktWindowAgentDialogueMissionAcceptOderRequest(WindowAgentDialogueMissionAcceptOderRequest));
                return;
            }

            /*
             * 2014.06.10
             *
             * if (null != WindowAgentDialogueMissionDecline)
             * {
             *      ListeAufgaabeNääxteParam.Add(SictAufgaabeParam.KonstruktWindowAgentDialogueMissionDecline(WindowAgentDialogueMissionDecline));
             *      return;
             * }
             * */

            if (null != MissionDeclineNääxte)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMissionDecline(MissionDeclineNääxte));
                return;
            }

            if (null != MissionAcceptNääxte)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMissionAccept(MissionAcceptNääxte));
                return;
            }

            if (null != LobbyAgentEntryStartConversation)
            {
                var WindowAgentDialoguePasendZuAgentEntry =
                    ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(
                        MengeWindowAgentDialogue,
                        (Kandidaat) => string.Equals(Kandidaat.AgentName, LobbyAgentEntryStartConversation.AgentName, StringComparison.InvariantCultureIgnoreCase));

                if (null != WindowAgentDialoguePasendZuAgentEntry)
                {
                    var ButtonRequestMission = WindowAgentDialoguePasendZuAgentEntry.ButtonRequestMission;
                    var ButtonViewMission    = WindowAgentDialoguePasendZuAgentEntry.ButtonViewMission;

                    var Button = ButtonRequestMission ?? ButtonViewMission;

                    if (null != Button)
                    {
                        ListeAufgaabeNääxteParam.Add(
                            SictAufgaabeParam.KonstruktAufgaabeParam(
                                AufgaabeParamAndere.KonstruktMausPfaad(SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(Button)),
                                SictAufgaabeParam.ObjektSictZwekKomponente(WindowAgentDialoguePasendZuAgentEntry) + "." + (Button.Bescriftung ?? "")));
                        return;
                    }
                }

                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktLobbyAgentEntryStartConversation(LobbyAgentEntryStartConversation));
                return;
            }

            if (null != MissionButtonUtilmenuObjectiveZuMese)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMissionButtonUtilmenuObjectiveZuMese(MissionButtonUtilmenuObjectiveZuMese));
                return;
            }

            if (null != ZuBeginZaitMissionFittingZuTesteNääxte.Wert)
            {
                if (!(true == SelbsctShipDocked))
                {
                    var MissionFittingAgentLocation = ZuBeginZaitMissionFittingZuTesteNääxte.Wert.AgentLocation();

                    if (null == MissionFittingAgentLocation)
                    {
                    }
                    else
                    {
                        ListeAufgaabeNääxteParam.Add(new        AufgaabeParamShipDock(MissionFittingAgentLocation.LocationName));
                        return;
                    }
                }

                if (!(MissionAnforderungActiveShipCargoLeereLezteZaitMili < AnnaameActiveShipCargoLeerLezteZaitMili))
                {
                    //	Warte bis Cargo Leere abgesclose
                    return;
                }

                if (null != ZuBeginZaitMissionFittingZuTesteNääxte.Wert.FürMissionFittingBezaicner())
                {
                    ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktFittingZuApliziire(
                                                     new SictOptimatParamFitting(null, ZuBeginZaitMissionFittingZuTesteNääxte.Wert.FürMissionFittingBezaicner())));
                    return;
                }
            }

            if (ZaitMili - WarpingLezteZaitMili < 3333)
            {
                //	Auf Ende Warp warte.
                return;
            }

            if (!(true == VonNuzerParamMissionAktioonAcceptFraigaabe))
            {
                return;
            }

            if (null != InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgesclose &&
                null != CurrentLocation)
            {
                //	Aine der Station aufsuuce in welce nit jeeder Agent unpasende Mission geOffered hat

                if (0 < InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgesclose.Length)
                {
                    var InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgescloseOrdnet =
                        InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgesclose
                        .OrderByDescending((StationUndAnzaal) => StationUndAnzaal.Value ?? 1)
                        .ToArray();

                    var MengeStationName =
                        InAktuelemSystemMengeStationFürWelcePasendeMissionNictAusgescloseOrdnet
                        .Select((Kandidaat) => Kandidaat.Key)
                        .Where((Kandidaat) => null != Kandidaat)
                        .ToArray();

                    var BeraitsDockedInStationMitAgentOoneUnpasendeOffer =
                        true == SelbsctShipDocked &&
                        null != CurrentLocationNearestName &&
                        MengeStationName.Any((StationName) => string.Equals(StationName, CurrentLocationNearestName));

                    if (!BeraitsDockedInStationMitAgentOoneUnpasendeOffer)
                    {
                        if (0 < MengeStationName.Length)
                        {
                            if (true == AusScnapscusAuswertungZuusctand.Docked())
                            {
                                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktUnDock());
                                return;
                            }

                            ListeAufgaabeNääxteParam.AddRange(
                                MengeStationName.Select((StationName) => new AufgaabeParamShipDock(StationName)));
                        }
                    }
                }
            }

            if (11 < UtilmenuZuEntferneAlter)
            {
                ListeAufgaabeNääxteParam.Add(AufgaabeParamAndere.KonstruktMenuEntferne());
            }
        }
コード例 #11
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeInfoPanelRouteFüüreAus(
            ISictAutomatZuusctand AutomaatZuusctand,
            bool LowSecFraigaabe)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, false);

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

            var NuzerZaitMili           = AutomaatZuusctand.NuzerZaitMili;
            var SensorikScnapscus       = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;
            var InRaumAktioonUndGefect  = AutomaatZuusctand.InRaumAktioonUndGefect;
            var FittingUndShipZuusctand = AutomaatZuusctand.FittingUndShipZuusctand;

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

            var WarpingLezteZaitMili     = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.WarpingLezteZaitMili;
            var JumpingLezteZaitMili     = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.JumpingLezteZaitMili;
            var DockedLezteZaitMili      = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.DockedLezteZaitMili;
            var WarpingLezteAlterMili    = NuzerZaitMili - WarpingLezteZaitMili;
            var JumpingLezteAlterMili    = NuzerZaitMili - JumpingLezteZaitMili;
            var DockedLezteAlterMili     = NuzerZaitMili - DockedLezteZaitMili;
            var SelbsctShipWarpScrambled = (null == FittingUndShipZuusctand) ? null : FittingUndShipZuusctand.SelbsctShipWarpScrambled;

            var CurrentLocationInfo = SensorikScnapscus.CurrentLocationInfo();
            var InfoPanelRoute      = SensorikScnapscus.InfoPanelRoute;

            var InfoPanelRouteExpanded = (null == InfoPanelRoute) ? null : InfoPanelRoute.Expanded;

            var InfoPanelRouteCurrentInfo = (null == InfoPanelRoute) ? null : InfoPanelRoute.CurrentInfo;

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

            if (null != AktioonUndockFraigaabeNictUrsace)
            {
                AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();
            }
            else
            {
                if (null == CurrentLocationInfo)
                {
                    AufgaabeParamZerleegungErgeebnis.FüügeAn(
                        AufgaabeParamAndere.KonstruktInfoPanelExpand(InfoPanelTypSictEnum.SystemInfo),
                        false);
                }

                if (true == InfoPanelRouteExpanded &&
                    null != InfoPanelRouteCurrentInfo)
                {
                    if ((true == SelbsctShipWarpScrambled) ||
                        (DockedLezteAlterMili < 3555) ||
                        (WarpingLezteAlterMili < 4444) ||
                        (JumpingLezteAlterMili < 4444))
                    {
                        AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();
                    }
                    else
                    {
                        if (500 <= InfoPanelRouteCurrentInfo.SolarSystemSecurityLevelMili || LowSecFraigaabe)
                        {
                            var MarkerNääxte = InfoPanelRoute.MengeMarker.FirstOrDefaultNullable();

                            if (null == MarkerNääxte)
                            {
                                //	!!!!	Meldung Feeler
                            }
                            else
                            {
                                AufgaabeParamZerleegungErgeebnis.FüügeAn(
                                    AufgaabeParamAndere.AufgaabeAktioonMenu(MarkerNääxte,
                                                                            new SictAnforderungMenuKaskaadeAstBedingung(
                                                                                new string[] { "Jump through stargate", "Dock", "Warp to within\\s*\\d" }, true)));
                            }
                        }
                        else
                        {
                            AufgaabeParamZerleegungErgeebnis.FüügeAn(
                                AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                                    SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, SictNaacNuzerMeldungZuEveOnlineCauseTypeBinär.RoutePathSecurityLevelTooLow)),
                                false);
                        }
                    }
                }
                else
                {
                    AufgaabeParamZerleegungErgeebnis.FüügeAn(
                        AufgaabeParamAndere.KonstruktInfoPanelExpand(InfoPanelTypSictEnum.Route),
                        false);
                }
            }

            return(AufgaabeParamZerleegungErgeebnis);
        }
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeShipAktuelOpenInventoryCargoTyp(
            ISictAutomatZuusctand AutomaatZuusctand,
            SictShipCargoTypSictEnum CargoTyp,
            out VonSensor.WindowInventoryPrimary ErgeebnisWindowShipInventory,
            out VonSensor.Inventory ErgeebnisShipInventory)
        {
            bool ZerleegungVolsctändig = true;
            var  InternMengeAufgaabeKomponenteParam = new List <SictAufgaabeParam>();

            ErgeebnisWindowShipInventory = null;
            ErgeebnisShipInventory       = null;

            VonSensor.WindowInventoryPrimary ScnapscusShipWindowInventory = null;

            var Gbs = AutomaatZuusctand.Gbs();

            var AusScnapscusAuswertungZuusctand = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;

            var AusScnapcusMengeWindowInventory =
                (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.MengeWindowInventory;

            if (null != AusScnapcusMengeWindowInventory)
            {
                if (1 == AusScnapcusMengeWindowInventory.Length)
                {
                    var KandidaatAnforderungLeereCargoWindowInventory = AusScnapcusMengeWindowInventory.FirstOrDefault();

                    if (null != KandidaatAnforderungLeereCargoWindowInventory)
                    {
                        if (null != KandidaatAnforderungLeereCargoWindowInventory.LinxTreeEntryActiveShip)
                        {
                            ScnapscusShipWindowInventory = KandidaatAnforderungLeereCargoWindowInventory;
                        }
                    }
                }
            }

            var ScnapscusShipWindowInventoryLinxTreeEntryActiveShip =
                (null == ScnapscusShipWindowInventory) ? null : ScnapscusShipWindowInventory.LinxTreeEntryActiveShip;

            if (null == ScnapscusShipWindowInventory)
            {
                ZerleegungVolsctändig = false;

                var NeocomButtonInventory = AusScnapscusAuswertungZuusctand.NeocomButtonInventory;

                if (null == NeocomButtonInventory)
                {
                }
                else
                {
                    InternMengeAufgaabeKomponenteParam.Add(AufgaabeParamAndere.KonstruktMausPfaad(
                                                               SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(NeocomButtonInventory)));
                }
            }
            else
            {
                var WindowInventoryZuusctand =
                    (null == Gbs) ? null :
                    Gbs.ZuHerkunftAdreseWindow(ScnapscusShipWindowInventory.Ident);

                {
                    //	2015.09.02	Erwaiterung:

                    var ScnapscusWindowInventoryLinxTreeListeEntryNitBenöötigt =
                        ScnapscusShipWindowInventory?.LinxTreeListeEntry
                        ?.Where(Kandidaat => !(Kandidaat == ScnapscusShipWindowInventory.LinxTreeEntryActiveShip))
                        ?.ToArray();

                    foreach (var LinxTreeEntryNitBenöötigt in ScnapscusWindowInventoryLinxTreeListeEntryNitBenöötigt)
                    {
                        if (!(0 < LinxTreeEntryNitBenöötigt.MengeChild.CountNullable()))
                        {
                            continue;
                        }

                        var LinxTreeEntryNitBenöötigtExpandCollapseToggleFläce = LinxTreeEntryNitBenöötigt.ExpandCollapseToggleFläce;

                        if (null == LinxTreeEntryNitBenöötigtExpandCollapseToggleFläce)
                        {
                        }
                        else
                        {
                            InternMengeAufgaabeKomponenteParam.Add(
                                SictAufgaabeParam.KonstruktAufgaabeParam(
                                    AufgaabeParamAndere.KonstruktMausPfaad(SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(LinxTreeEntryNitBenöötigtExpandCollapseToggleFläce)),
                                    "In Inventory collapse unnecessary branch"));
                        }
                    }
                }

                if (null == ScnapscusShipWindowInventoryLinxTreeEntryActiveShip)
                {
                }
                else
                {
                    var ZuCargoTypTreeEntry =
                        Optimat.EveOnline.Extension.TreeEntryBerecneAusCargoTyp(
                            ScnapscusShipWindowInventoryLinxTreeEntryActiveShip,
                            CargoTyp);

                    var ZuAuswaalReczMengeKandidaatLinxTreeEntry = ScnapscusShipWindowInventory.ZuAuswaalReczMengeKandidaatLinxTreeEntry;

                    if (null == ZuCargoTypTreeEntry)
                    {
                        //	Sicersctele das AnforderungLeereCargoWindowInventoryLinxTreeEntryActiveShip expanded.

                        if (0 < ExtractFromOldAssembly.Bib3.Extension.CountNullable(ScnapscusShipWindowInventoryLinxTreeEntryActiveShip.MengeChild))
                        {
                            //	ist beraits Expanded.

                            InternMengeAufgaabeKomponenteParam.Add(AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline(
                                                                       SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, new SictNaacNuzerMeldungZuEveOnlineCause(
                                                                                                                        ShipCargoMissingTyp: CargoTyp))));
                        }
                        else
                        {
                            var ExpandCollapseToggleFläce = ScnapscusShipWindowInventoryLinxTreeEntryActiveShip.ExpandCollapseToggleFläce;

                            if (null == ExpandCollapseToggleFläce)
                            {
                            }
                            else
                            {
                                InternMengeAufgaabeKomponenteParam.Add(AufgaabeParamAndere.KonstruktMausPfaad(
                                                                           SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(ExpandCollapseToggleFläce)));
                            }
                        }
                    }
                    else
                    {
                        var ZuAuswaalReczLinxTreeEntry = ZuAuswaalReczMengeKandidaatLinxTreeEntry.FirstOrDefaultNullable();
                        var AuswaalReczInventory       = ScnapscusShipWindowInventory.AuswaalReczInventory;

                        if (1 == ExtractFromOldAssembly.Bib3.Extension.CountNullable(ZuAuswaalReczMengeKandidaatLinxTreeEntry) &&
                            ZuCargoTypTreeEntry == ZuAuswaalReczLinxTreeEntry)
                        {
                            if (null == AuswaalReczInventory)
                            {
                                InternMengeAufgaabeKomponenteParam.Add(AufgaabeParamAndere.KonstruktMausPfaad(
                                                                           SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(ScnapscusShipWindowInventoryLinxTreeEntryActiveShip.TopContLabel)));
                            }
                            else
                            {
                                //	Erfolg.

                                ErgeebnisWindowShipInventory = ScnapscusShipWindowInventory;
                                ErgeebnisShipInventory       = AuswaalReczInventory;
                            }
                        }
                        else
                        {
                            InternMengeAufgaabeKomponenteParam.Add(AufgaabeParamAndere.KonstruktMausPfaad(
                                                                       SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(ZuCargoTypTreeEntry.TopContLabel)));
                        }
                    }
                }
            }

            return(new SictAufgaabeParamZerleegungErgeebnis(InternMengeAufgaabeKomponenteParam, ZerleegungVolsctändig));
        }
コード例 #13
0
 static public AufgaabeParamAndere KonstruktNaacNuzerMeldungZuEveOnline(
     SictNaacNuzerMeldungZuEveOnline NaacNuzerMeldungZuEveOnline)
 {
     return(new AufgaabeParamAndere(NaacNuzerMeldungZuEveOnline: NaacNuzerMeldungZuEveOnline));
 }