Exemple #1
0
        static IEnumerable <SictGbsWindowZuusctand> MengeWindowEnthalteInWindowGrund(
            this    SictGbsZuusctand Gbs,
            SictGbsWindowZuusctand WindowParent)
        {
            if (null == Gbs)
            {
                yield break;
            }

            if (null == WindowParent)
            {
                yield break;
            }

            yield return(WindowParent);

            var ScnapscusWindowLezte = WindowParent.ScnapscusWindowLezte;

            var ScnapscusWindowLezteWindowStack = ScnapscusWindowLezte as WindowStack;

            if (null == ScnapscusWindowLezteWindowStack)
            {
                yield break;
            }

            var WindowStackWindowAktiiv = ScnapscusWindowLezteWindowStack.WindowAktiiv;

            if (null == WindowStackWindowAktiiv)
            {
                yield break;
            }

            yield return(Gbs.ZuHerkunftAdreseWindow(WindowStackWindowAktiiv.Ident));
        }
Exemple #2
0
        static public string WindowSictZwekKomponente(SictGbsWindowZuusctand Window)
        {
            if (null == Window)
            {
                return(null);
            }

            return(Window.WindowHeaderCaptionText);
        }
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeScrollNaacUnte(
            ISictAutomatZuusctand AutomaatZuusctand,
            VonSensor.Scroll AusScnapscusScroll)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true);

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

            var AusScnapscusScrollScrollHandleGrenze = AusScnapscusScroll.ScrollHandleGrenze;

            var AusScnapscusScrollScrollHandle = AusScnapscusScroll.ScrollHandle;

            var AusScnapscusScrollScrollHandleGrenzeFläce = AusScnapscusScrollScrollHandleGrenze.InGbsFläceNullable() ?? OrtogoonInt.Leer;
            var AusScnapscusScrollScrollHandleFläce       = AusScnapscusScrollScrollHandle.InGbsFläceNullable() ?? OrtogoonInt.Leer;

            if (AusScnapscusScrollScrollHandleGrenzeFläce.IsLeer || AusScnapscusScrollScrollHandleFläce.IsLeer)
            {
                //	wen kain ScrollHandle vorhande dan isc nit genüügend Inhalt zum Scrole vorhande, d.h. Viewport raict beraits bis Top -> Erfolg.
                return(AufgaabeParamZerleegungErgeebnis);
            }

            var FürScrolKlikFläce = OrtogoonInt.AusPunktZentrumUndGrööse(
                new Vektor2DInt(
                    AusScnapscusScrollScrollHandleGrenzeFläce.ZentrumLaage.A,
                    AusScnapscusScrollScrollHandleFläce.ZentrumLaage.B +
                    AusScnapscusScrollScrollHandleFläce.Grööse.B / 2 + 3)
                +
                AufgaabeParamScrollToTop.StatScrollHandleVersaz,
                new Vektor2DInt(AusScnapscusScrollScrollHandleFläce.Grööse.A, 6));

            var KlikZiilFäce = SictGbsWindowZuusctand.FläceProjeziirtAufGbsAst(FürScrolKlikFläce, AusScnapscusScrollScrollHandleGrenze);

            AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktMausPfaad(
                                                         SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(KlikZiilFäce)));

            return(AufgaabeParamZerleegungErgeebnis);
        }
Exemple #4
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;
        }
        public void Berecne(ISictAutomatZuusctand AutomaatZuusctand)
        {
            var MengeZuTargetMesungSurveyScanListEntryUndErzMenge =
                new List <KeyValuePair <SictTargetZuusctand, SictWertMitZait <KeyValuePair <GbsListGroupedEntryZuusctand, Int64> > > >();

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

                var MengeZuListEntryTargetPerDistance = AutomaatZuusctand.MengeZuListEntryTargetAinscrankungPerDistance();

                var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget;
                var Gbs = AutomaatZuusctand.Gbs;

                if (null == OverviewUndTarget)
                {
                    return;
                }

                if (null == Gbs)
                {
                    return;
                }

                WindowSurveyScanView  = Gbs.WindowSurveyScanView();
                MengeTargetNocSictbar = OverviewUndTarget.MengeTargetNocSictbar.ToArrayNullable();

                if (null == WindowSurveyScanView)
                {
                    return;
                }

                var WindowSurveyScanViewList = WindowSurveyScanView.ListHaupt;

                if (null == WindowSurveyScanViewList)
                {
                    return;
                }

                var WindowSurveyScanViewListListeEntry = WindowSurveyScanViewList.ListeEntry();

                if (null == MengeTargetNocSictbar)
                {
                    return;
                }

                foreach (var TargetNocSictbar in MengeTargetNocSictbar)
                {
                    SictWertMitZait <GbsListGroupedEntryZuusctand> ZuZaitSurveyScanEntry = default(SictWertMitZait <GbsListGroupedEntryZuusctand>);

                    {
                        var ZuTargetIndikatorLezte =
                            ListeIndikatorZuTargetSurveyScanListEntry
                            .LastOrDefaultNullable((Kandidaat) => Kandidaat.Wert.Key == TargetNocSictbar);

                        /*
                         * 2014.09.25
                         *
                         * if (null == ZuTargetIndikatorLezte.Wert.Key)
                         * {
                         *      continue;
                         * }
                         *
                         * var SurveyScanEntry = ZuTargetIndikatorLezte.Wert.Value;
                         * */

                        if (null != ZuTargetIndikatorLezte.Wert.Key)
                        {
                            ZuZaitSurveyScanEntry = new     SictWertMitZait <GbsListGroupedEntryZuusctand>(ZuTargetIndikatorLezte.Zait, ZuTargetIndikatorLezte.Wert.Value);
                        }
                    }

                    if (null != MengeZuListEntryTargetPerDistance)
                    {
                        var TailmengeListEntryAingescranktDurcDistance =
                            WindowSurveyScanViewListListeEntry
                            .WhereNullable((KandidaatListEntry) =>
                        {
                            var ZuListEntryInfoAinscrankungDistance =
                                MengeZuListEntryTargetPerDistance.FirstOrDefault((KandidaatZuListEntryInfoAinscrankungDistance) =>
                                                                                 KandidaatZuListEntryInfoAinscrankungDistance.ListEntry == KandidaatListEntry);

                            if (null == ZuListEntryInfoAinscrankungDistance)
                            {
                                //	Ainscrankung zu diise ListEntry noc nit berecnet.
                                return(true);
                            }

                            return(ZuListEntryInfoAinscrankungDistance.MengeInRaumObjekt.ContainsNullable((TargetNocSictbar)));
                        })
                            .ToArrayNullable();

                        if (1 == TailmengeListEntryAingescranktDurcDistance.CountNullable())
                        {
                            var SurveyScanEntry = TailmengeListEntryAingescranktDurcDistance.First();

                            ZuZaitSurveyScanEntry =
                                new SictWertMitZait <GbsListGroupedEntryZuusctand>(SurveyScanEntry.ScnapscusFrühesteZait ?? -1, SurveyScanEntry);
                        }
                    }

                    if (null == ZuZaitSurveyScanEntry.Wert)
                    {
                        continue;
                    }

                    if (!(WindowSurveyScanView.ScnapscusFrühesteZait <= ZuZaitSurveyScanEntry.Wert.AingangUnglaicDefaultLezteZait))
                    {
                        continue;
                    }

                    var Quantity = ZuZaitSurveyScanEntry.Wert.Quantity;

                    if (!Quantity.HasValue)
                    {
                        continue;
                    }

                    MengeZuTargetMesungSurveyScanListEntryUndErzMenge.Add(
                        new KeyValuePair <SictTargetZuusctand, SictWertMitZait <KeyValuePair <GbsListGroupedEntryZuusctand, Int64> > >(
                            TargetNocSictbar,
                            new SictWertMitZait <KeyValuePair <GbsListGroupedEntryZuusctand, Int64> >(
                                ZuZaitSurveyScanEntry.Zait,
                                new KeyValuePair <GbsListGroupedEntryZuusctand, Int64>(ZuZaitSurveyScanEntry.Wert, Quantity.Value))));
                }
            }
            finally
            {
                this.MengeZuTargetMesungSurveyScanListEntryUndErzMenge = MengeZuTargetMesungSurveyScanListEntryUndErzMenge.ToArray();
            }
        }
Exemple #6
0
 static public IEnumerable <SictGbsWindowZuusctand> MengeWindowEnthalteInWindow(
     this    SictGbsZuusctand Gbs,
     SictGbsWindowZuusctand WindowParent)
 {
     return(MengeWindowEnthalteInWindowGrund(Gbs, WindowParent).WhereNotDefault());
 }
Exemple #7
0
        public void Aktualisiire(
            SictAutomatZuusctand AutomaatZuusctand,
            VonSensorikMesung AusScnapscusAuswertungZuusctand)
        {
            if (null == AutomaatZuusctand)
            {
                return;
            }

            var AgregatioonAusTransitionInfo = this.AgregatioonAusTransitionInfo;

            var ZaitMili = AutomaatZuusctand.NuzerZaitMili;

            var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget;

            /*
             * 2015.03.12
             *
             * Ersaz durc ToCustomBotSnapshot
             *      var GbsBaum = AutomaatZuusctand.VonNuzerMeldungZuusctandTailGbsBaum;
             * */

            var GbsBaum = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu;

            var MengeWindow = this.MengeWindow;
            var ListeAbovemainMessageAuswertMitZait = this.ListeAbovemainMessageAuswertMitZait;

            var ScnapscusWindowOverview = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.WindowOverview;

            var NeocomClockZaitKalenderModuloTaagStringUndMinMax = (null == AusScnapscusAuswertungZuusctand) ? null :
                                                                   AusScnapscusAuswertungZuusctand.NeocomClockZaitKalenderModuloTaagMinMax;

            var ScnapscusWindowOverviewZaileInputFookusExklusiiv = (null == ScnapscusWindowOverview) ? null : ScnapscusWindowOverview.ZaileMitInputFookusExklusiiv();

            var ScnapscusMengeWindow = (null == AusScnapscusAuswertungZuusctand) ? null :
                                       AusScnapscusAuswertungZuusctand.MengeWindowBerecne();

            var ScnapscusMengeWindowSictbar =
                ExtractFromOldAssembly.Bib3.Extension.WhereNullable(ScnapscusMengeWindow, (Kandidaat) => null == Kandidaat ? false : (true == Kandidaat.Sictbar))
                .ToArrayNullable();

            var ScnapscusMengeMenu = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.MengeMenu;

            if (null == AgregatioonAusTransitionInfo)
            {
                this.AgregatioonAusTransitionInfo = AgregatioonAusTransitionInfo = new SictGbsAgregatioonAusTransitionInfo();
            }

            AgregatioonAusTransitionInfo.Agregiire(AutomaatZuusctand);

            if (null == MengeWindow)
            {
                this.MengeWindow = MengeWindow = new List <SictGbsWindowZuusctand>();
            }

            if (NeocomClockZaitKalenderModuloTaagStringUndMinMax.HasValue)
            {
                this.NeocomClockZaitModuloTaagMinMax = NeocomClockZaitKalenderModuloTaagStringUndMinMax.Value;
            }

            var ListeAusGbsAbovemainMessageMitZait = AutomaatZuusctand.ListeAusGbsAbovemainMessageMitZait();

            var ListeAusGbsAbovemainMessageMitZaitLezte =
                (null == ListeAusGbsAbovemainMessageMitZait) ? null : ListeAusGbsAbovemainMessageMitZait.LastOrDefault();

            if (null != AusScnapscusAuswertungZuusctand)
            {
                if (null != AusScnapscusAuswertungZuusctand.InfoPanelLocationInfo)
                {
                    InfoPanelLocationInfoSictbarLezteZaitMili = ZaitMili;
                }

                if (null != AusScnapscusAuswertungZuusctand.InfoPanelRoute)
                {
                    InfoPanelRouteSictbarLezteZaitMili = ZaitMili;
                }

                if (null != AusScnapscusAuswertungZuusctand.InfoPanelMissions)
                {
                    InfoPanelMissionsSictbarLezteZaitMili = ZaitMili;
                }
            }

            SictGbsWindowZuusctand.ZuZaitAingangMengeObjektScnapscus(
                ZaitMili,
                ScnapscusMengeWindowSictbar,
                MengeWindow,
                false,
                AgregatioonAusTransitionInfo);

            {
                //	Window entferne welce zu lange nit meer geöfnet sind.
                MengeWindow.RemoveAll((Kandidaat) => !Kandidaat.InLezteScnapscusSictbar());
            }

            {
                var MengeWindowGrupe = MengeWindow.GroupBy((Kandidaat) => Kandidaat.GbsAstHerkunftAdrese).ToArray();

                if (MengeWindowGrupe.Any((Grupe) => 1 < Grupe.Count()))
                {
                    //	Temp für Debug Verzwaigung
                }
            }

            {
                //	Berecnung	ListeAbovemainMessageAuswertMitZait

                if (null != ListeAusGbsAbovemainMessageMitZaitLezte)
                {
                    var ListeAusGbsAbovemainMessageLezte = ListeAusGbsAbovemainMessageMitZaitLezte.Wert;

                    var ListeAusGbsAbovemainMessageLezteText = ListeAusGbsAbovemainMessageLezte.LabelText;

                    if (null != ListeAusGbsAbovemainMessageLezteText)
                    {
                        if (null != ListeAusGbsAbovemainMessageLezte)
                        {
                            if (null == ListeAbovemainMessageAuswertMitZait)
                            {
                                this.ListeAbovemainMessageAuswertMitZait = ListeAbovemainMessageAuswertMitZait =
                                    new List <SictVerlaufBeginUndEndeRef <SictMessageStringAuswert> >();
                            }

                            SictVerlaufBeginUndEndeRef <SictMessageStringAuswert> AbovemainMessageAuswertMitZait =
                                ListeAbovemainMessageAuswertMitZait
                                .LastOrDefault((Kandidaat) => Kandidaat.BeginZait == ListeAusGbsAbovemainMessageMitZaitLezte.BeginZait);

                            if (null == AbovemainMessageAuswertMitZait)
                            {
                                var AbovemainMessageAuswert = new SictMessageStringAuswert(ListeAusGbsAbovemainMessageLezteText);

                                AbovemainMessageAuswertMitZait = new SictVerlaufBeginUndEndeRef <SictMessageStringAuswert>(
                                    ListeAusGbsAbovemainMessageMitZaitLezte.BeginZait,
                                    ListeAusGbsAbovemainMessageMitZaitLezte.EndeZait,
                                    AbovemainMessageAuswert);

                                AbovemainMessageAuswert.Berecne();

                                ListeAbovemainMessageAuswertMitZait.Add(AbovemainMessageAuswertMitZait);

                                if (AbovemainMessageAuswert.ClusterShutdownZaitDistanz.HasValue)
                                {
                                    AbovemainMessageClusterShutdownLezte = AbovemainMessageAuswertMitZait;
                                }
                            }
                        }
                    }
                }
            }

            ListeAbovemainMessageDronesLezteAuswertMitZait =
                ListeAbovemainMessageAuswertMitZait
                .LastOrDefaultNullable((Kandidaat) =>
                                       null == Kandidaat.Wert ? false :
                                       (Kandidaat.Wert.DroneBandwithAvailableMili.HasValue ||
                                        Kandidaat.Wert.DroneCommandRange.HasValue ||
                                        Kandidaat.Wert.DroneControlCountScrankeMax.HasValue));

            ListeAbovemainMessageDronesLezteAlter =
                ZaitMili - (null == ListeAbovemainMessageDronesLezteAuswertMitZait ? (Int64?)null : (ListeAbovemainMessageDronesLezteAuswertMitZait.EndeZait ?? ZaitMili));

            if (null != ListeAbovemainMessageAuswertMitZait)
            {
                foreach (var AbovemainMessageAuswertMitZait in ListeAbovemainMessageAuswertMitZait.Reversed().Take(4))
                {
                    if (AbovemainMessageAuswertMitZait.EndeZait.HasValue)
                    {
                        continue;
                    }

                    var AbovemainMessageMitZait =
                        ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(
                            ListeAusGbsAbovemainMessageMitZait,
                            (Kandidaat) => Kandidaat.BeginZait == AbovemainMessageAuswertMitZait.BeginZait);

                    if (null == AbovemainMessageMitZait)
                    {
                        AbovemainMessageAuswertMitZait.EndeZait = ZaitMili;
                    }
                    else
                    {
                        AbovemainMessageAuswertMitZait.EndeZait = AbovemainMessageMitZait.EndeZait;
                    }
                }

                {
                    //	Naacricte welce älter sind als Viir minuute entferne

                    var ListeAbovemainMessageAuswertMitZaitZuErhalteZaitScranke = ZaitMili - 1000 * 60 * 4;

                    ListeAbovemainMessageAuswertMitZait
                    .RemoveAll((Kandidaat) => Kandidaat.BeginZait < ListeAbovemainMessageAuswertMitZaitZuErhalteZaitScranke);
                }
            }

            {
                //	Berecnung ListeGbsMenu

                //	Menge Menu werd geordnet für den Fal das in aine Scnapscus meerere Menu auftauce
                //	2014.02.27	Beobactung: lezte Menu erhält 0=InGbsZIndex -> noieste isc am waiteste vorne (okludiirt andere)

                var ScnapscusListeMenu =
                    (null == ScnapscusMengeMenu) ? null :
                    ScnapscusMengeMenu

                    /*
                     * 2015.09.01
                     * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value.
                     *
                     * .OrderByDescending((ScnapscusMenu) => ScnapscusMenu.InGbsBaumAstIndex ?? -1)
                     */
                    .OrderBy((ScnapscusMenu) => ScnapscusMenu.InGbsBaumAstIndex ?? -1)
                    .ToArray();

                var ScnapscusListeMenuFrüüheste =
                    ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(ScnapscusListeMenu);

                var ScnapscusListeMenuFrüühesteListeEntry =
                    (null == ScnapscusListeMenuFrüüheste) ? null :
                    ScnapscusListeMenuFrüüheste.ListeEntry;

                var MenuKaskaadeLezte = ExtractFromOldAssembly.Bib3.Extension.LastOrDefaultNullable(ListeMenuKaskaade);

                if (null == ScnapscusListeMenuFrüühesteListeEntry)
                {
                    if (null != MenuKaskaadeLezte)
                    {
                        MenuKaskaadeLezte.AingangScnapscusLeer(ZaitMili);
                    }

                    MenuKaskaadeLezte = null;
                }
                else
                {
                    GbsElement MenuWurzelAnnaameInitiaal = null;

                    var MengeAufgaabeZuusctand = AutomaatZuusctand.MengeAufgaabeZuusctand;

                    var ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame =
                        AutomaatZuusctand.ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame
                        .ToArrayNullable();

                    if (null != ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame)
                    {
                        foreach (var ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame in ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame)
                        {
                            if (null == ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame.Key)
                            {
                                continue;
                            }

                            foreach (var AufgaabeAst in ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame.Key)
                            {
                                var AufgaabeAstAufgaabeParam = AufgaabeAst.AufgaabeParam as AufgaabeParamAndere;

                                if (null == AufgaabeAstAufgaabeParam)
                                {
                                    continue;
                                }

                                var AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt = AufgaabeAstAufgaabeParam.MenuWurzelGbsObjekt;

                                if (null == AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt)
                                {
                                    continue;
                                }

                                var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar = (Int64?)AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt.Ident;

                                if (!AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar.HasValue)
                                {
                                    continue;
                                }

                                var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdent = AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar.Value;

                                var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt.InGbsFläce;

                                if (null == AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce)
                                {
                                    continue;
                                }

                                var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläceVergröösertFürTestÜberscnaidung =
                                    AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce.Vergröösert(40, 10);

                                var ScnapscusAufgaabeMenuWurzelTarget      = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt as ShipUiTarget;
                                var ScnapscusAufgaabeMenuWurzelOverviewRow =
                                    (GbsElement)(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt as VonSensor.OverviewZaile);

                                bool AnnaameMenuPasendZuAusAufgaabeMenuWurzel = true;

                                var ScnapscusLezteMenuWurzelGbsObjektTarget =
                                    AusScnapscusAuswertungZuusctand.TargetEnthaltendGbsAstBerecne(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt);

                                var ScnapscusLezteMenuWurzelGbsObjektOverviewRow = (null == ScnapscusWindowOverview) ? null :
                                                                                   ScnapscusWindowOverview.OverviewRowEnthaltendGbsAstBerecne(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt);

                                {
                                    /*
                                     * 2014.04.22	Beobactung Probleem:
                                     * In vorherige Scrit für OverviewZaile geöfnete Menu werd waiterverwendet als Menu welces für ain in Inventory angezaigte Objekt ersctelt werde solte.
                                     * In Folge werd der falsce Cargo Container Abandoned.
                                     *
                                     * Daher Ainfüürung zuusäzlice Bedingung:
                                     * Menu früheste Fläce mus überscnaide mit MenuWurzelGbsObjektAbbild.Fläce
                                     * */

                                    //	Bedingung: Fläce von ScnapscusAufgaabeMenuWurzelTarget und Menu müsen sic scnaide

                                    if (OrtogoonInt.Scnitfläce(
                                            AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläceVergröösertFürTestÜberscnaidung,
                                            ScnapscusListeMenuFrüüheste.InGbsFläce).IsLeer)
                                    {
                                        AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                    }
                                }

                                {
                                    /*
                                     * 2014.04.22	Beobactung Probleem:
                                     * In vorherige Scrit für OverviewZaile geöfnete Menu werd waiterverwendet als Menu welces für ain in Inventory angezaigte Objekt ersctelt werde solte.
                                     * In Folge werd der falsce Cargo Container Abandoned.
                                     *
                                     * Daher 2014.04.29 Ainfüürung zuusäzlice Bedingung:
                                     * Fals MenuWurzelGbsObjekt in aine Window enthalte isc mus diises das vorderste Window sain.
                                     * */

                                    if (null == GbsBaum ||
                                        null == MengeWindow)
                                    {
                                        AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                    }
                                    else
                                    {
                                        SictGbsWindowZuusctand MenuWurzelGbsObjektWindow = null;

                                        foreach (var KandidaatGbsWindow in MengeWindow)
                                        {
                                            var GbsWindowHerkunftAdrese = KandidaatGbsWindow.GbsAstHerkunftAdrese;

                                            if (!GbsWindowHerkunftAdrese.HasValue)
                                            {
                                                continue;
                                            }

                                            var GbsWindowAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(GbsWindowHerkunftAdrese.Value);

                                            if (null == GbsWindowAst)
                                            {
                                                continue;
                                            }

                                            if (null != GbsWindowAst.SuuceFlacMengeGbsAstFrühesteMitIdent(AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdent))
                                            {
                                                MenuWurzelGbsObjektWindow = KandidaatGbsWindow;
                                            }
                                        }

                                        if (null != MenuWurzelGbsObjektWindow)
                                        {
                                            /*
                                             * 2015.09.01
                                             * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value.
                                             *                                              if (MengeWindow.Any((GbsWindow) => GbsWindow.ZIndex.HasValue && GbsWindow.ZIndex < (MenuWurzelGbsObjektWindow.ZIndex ?? int.MaxValue)))
                                             */
                                            if (MengeWindow.Any((GbsWindow) => GbsWindow.ZIndex.HasValue && GbsWindow.ZIndex > (MenuWurzelGbsObjektWindow.ZIndex ?? int.MaxValue)))
                                            {
                                                //	Ain anderes Window befindet sic waiter vorne als das Window welces MenuWurzelGbsObjekt enthalt.
                                                AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                            }
                                        }
                                    }
                                }

                                if (null != ScnapscusAufgaabeMenuWurzelTarget)
                                {
                                    if (null == ScnapscusLezteMenuWurzelGbsObjektTarget)
                                    {
                                        AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                    }
                                    else
                                    {
                                        if (null == ScnapscusAufgaabeMenuWurzelTarget.InGbsFläce ||
                                            null == ScnapscusLezteMenuWurzelGbsObjektTarget.InGbsFläce)
                                        {
                                            AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                        }
                                        else
                                        {
                                            var BeweegungSctreke =
                                                ScnapscusLezteMenuWurzelGbsObjektTarget.InGbsFläce.ZentrumLaage -
                                                ScnapscusAufgaabeMenuWurzelTarget.InGbsFläce.ZentrumLaage;

                                            if (!(BeweegungSctreke.Betraag < 4))
                                            {
                                                //	Target solte zwisce deen zwai Scnapscus nit beweegt haabe.
                                                AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                            }
                                        }

                                        var KandidaatMenuEntryIndikatorTarget = ScnapscusListeMenuFrüühesteListeEntry.MenuEntryTargetUnLock();

                                        if (null == KandidaatMenuEntryIndikatorTarget)
                                        {
                                            AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                        }
                                    }
                                }

                                if (null != ScnapscusAufgaabeMenuWurzelOverviewRow)
                                {
                                    if (null == ScnapscusLezteMenuWurzelGbsObjektOverviewRow)
                                    {
                                        AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                    }
                                    else
                                    {
                                        if (!(ObjektMitIdentInt64.Identisc(ScnapscusLezteMenuWurzelGbsObjektOverviewRow, ScnapscusWindowOverviewZaileInputFookusExklusiiv)))
                                        {
                                            AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false;
                                        }
                                    }
                                }

                                if (!AnnaameMenuPasendZuAusAufgaabeMenuWurzel)
                                {
                                    continue;
                                }

                                MenuWurzelAnnaameInitiaal = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt;
                            }
                        }
                    }

                    Action MenuKaskaadeKonstrukt = delegate()
                    {
                        MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand(
                            ZaitMili,
                            ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame,
                            MenuWurzelAnnaameInitiaal,
                            ScnapscusListeMenu);
                        ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte);
                    };

                    if (null == MenuKaskaadeLezte)
                    {
                        /*
                         * 2015.01.16
                         *
                         * MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand(ZaitMili, MenuWurzelAnnaameInitiaal, ScnapscusListeMenu);
                         * ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte);
                         * */
                        MenuKaskaadeKonstrukt();
                    }
                    else
                    {
                        if (!MenuKaskaadeLezte.AingangScnapscus(ZaitMili, ScnapscusListeMenu))
                        {
                            /*
                             * 2015.01.16
                             *
                             * MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand(ZaitMili, MenuWurzelAnnaameInitiaal, ScnapscusListeMenu);
                             * ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte);
                             * */
                            MenuKaskaadeKonstrukt();
                        }
                    }
                }

                ListeMenuKaskaade.ListeKürzeBegin(30);

                var ListeMenu =
                    (null == MenuKaskaadeLezte) ? null :
                    MenuKaskaadeLezte.ListeMenu;

                var AusButtonListSurroundingsMenu =
                    ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(
                        ListeMenu, ButtonListSurroundingsMenuPrädikaatTailSctaatisc);

                if (null != AusButtonListSurroundingsMenu)
                {
                    if (1 < AusButtonListSurroundingsMenu.ListeScnapscusZuZaitAingangBisherAnzaal)
                    {
                        //	Übernaame ersct bai meer als ain Scnapscus da eventuel in früühescte Scnapscus noc nit ale Entry enthalte
                        AusButtonListSurroundingsMenuLezteMitBeginZait = AusButtonListSurroundingsMenu.SictWertMitZaitBerecneFürBeginZait <SictGbsMenuZuusctand>();
                    }
                }
            }
        }
Exemple #8
0
 static public AufgaabeParamAndere KonstruktWindowHooleNaacVorne(
     SictGbsWindowZuusctand WindowHooleNaacVorne)
 {
     return(new AufgaabeParamAndere(WindowHooleNaacVorne: WindowHooleNaacVorne));
 }
Exemple #9
0
 static public AufgaabeParamAndere KonstruktWindowMinimize(
     SictGbsWindowZuusctand WindowMinimize)
 {
     return(new AufgaabeParamAndere(WindowMinimize: WindowMinimize));
 }
Exemple #10
0
 static public string ObjektSictZwekKomponente(SictGbsWindowZuusctand Window)
 {
     return("Window[" + (WindowSictZwekKomponente(Window) ?? "") + "]");
 }