Example #1
0
 public SictAufgaabeParamGbsAstOklusioonVermaidung(
     GbsElement GbsAst,
     int?RestFläceKwadraatSaitenlängeScrankeMin = null)
 {
     this.GbsAst = GbsAst;
     this.RestFläceKwadraatSaitenlängeScrankeMin = RestFläceKwadraatSaitenlängeScrankeMin;
 }
Example #2
0
        override public bool MenuWurzelPasendZuInRaumObjektRepr(
            GbsElement MenuWurzel)
        {
            if (null == MenuWurzel)
            {
                return(false);
            }

            var MenuWurzelAlsTarget = MenuWurzel as ShipUiTarget;

            if (null != MenuWurzelAlsTarget)
            {
                return(MenuWurzelAlsTarget.Ident == GbsAstHerkunftAdrese);
            }

            var AingangScnapscusUnglaicDefaultLezte = AingangScnapscusUnglaicDefaultTailObjektIdentLezteBerecne();

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

            var GbsObjektInputFookusSeze = AingangScnapscusUnglaicDefaultLezte.GbsObjektInputFookusSeze;

            if (null != GbsObjektInputFookusSeze)
            {
                if (GbsObjektInputFookusSeze.Ident == MenuWurzel.Ident)
                {
                    return(true);
                }
            }

            return(false);
        }
Example #3
0
 static public SictAufgaabeParamMausPfaad Konstrukt(
     GbsElement ZiilFläce,
     bool?MausTasteLinxAin = null,
     bool?MausTasteReczAin = null)
 {
     return(new SictAufgaabeParamMausPfaad(new GbsElement[] { ZiilFläce }, MausTasteLinxAin, MausTasteReczAin));
 }
Example #4
0
 public AufgaabeParamGbsElementVerberge(
     GbsElement GbsElement,
     SictAutomatZuusctand.SictGbsAstOklusioonKombi BerictOklusion = null)
 {
     this.GbsElement     = GbsElement;
     this.BerictOklusion = BerictOklusion;
 }
Example #5
0
        static public SictAufgaabeParamZerleegungErgeebnis ZerleegeGbsElementVerberge(
            ISictAutomatZuusctand AutomaatZuusctand,
            GbsElement GbsElement)
        {
            var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true);

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

            var GbsAstVerbergeBezaicnerNulbar = (Int64?)GbsElement.Ident;

            if (GbsAstVerbergeBezaicnerNulbar.HasValue)
            {
                var KandidaatOklusioonInfo =
                    AutomaatZuusctand.ZuGbsAstHerkunftAdreseKandidaatOklusioonBerecne(GbsAstVerbergeBezaicnerNulbar.Value);

                if (null == KandidaatOklusioonInfo)
                {
                    AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();
                }
                else
                {
                    var KandidaatOklusioonInfoMenu       = KandidaatOklusioonInfo.Menu;
                    var KandidaatOklusioonInfoUtilmenu   = KandidaatOklusioonInfo.Utilmenu;
                    var KandidaatOklusioonInfoPanelGroup = KandidaatOklusioonInfo.PanelGroup;
                    var KandidaatOklusioonInfoWindow     = KandidaatOklusioonInfo.Window;

                    var ListeAufgaabeVerberge = new List <SictAufgaabeParam>();

                    if (null != KandidaatOklusioonInfoMenu ||
                        null != KandidaatOklusioonInfoUtilmenu)
                    {
                        ListeAufgaabeVerberge.Add(AufgaabeParamAndere.KonstruktMenuEntferne());
                    }

                    if (null != KandidaatOklusioonInfoPanelGroup)
                    {
                        //	PanelGroup sctamt vermuutlic aus Neocom
                        ListeAufgaabeVerberge.Add(AufgaabeParamAndere.KonstruktNeocomMenuEntferne());
                    }

                    if (null != KandidaatOklusioonInfoWindow)
                    {
                        ListeAufgaabeVerberge.Add(AufgaabeParamAndere.KonstruktWindowMinimize(KandidaatOklusioonInfoWindow));
                    }

                    if (ListeAufgaabeVerberge.Count < 1)
                    {
                        AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus();
                    }

                    AufgaabeParamZerleegungErgeebnis = AufgaabeParamZerleegungErgeebnis.Kombiniire(ListeAufgaabeVerberge);
                }
            }

            return(AufgaabeParamZerleegungErgeebnis);
        }
Example #6
0
 public SictFläceRectekOrtoAbhängigVonGbsAst(
     OrtogoonInt FläceTailSctaatisc,
     GbsElement GbsElement)
     :
     base(FläceTailSctaatisc)
 {
     this.GbsElement = GbsElement;
 }
Example #7
0
 static public AufgaabeParamAndere KonstruktMenuBegin(
     GbsElement MenuWurzelGbsObjekt,
     SictAnforderungMenuKaskaadeAstBedingung[] MenuListeAstBedingung)
 {
     return(new AufgaabeParamAndere(
                MenuWurzelGbsObjekt: MenuWurzelGbsObjekt,
                MenuListeAstBedingung: MenuListeAstBedingung,
                AktioonMenuBegin: true));
 }
Example #8
0
 static public AufgaabeParamAndere AufgaabeAktioonMenu(
     GbsElement MenuWurzelGbsObjekt,
     SictAnforderungMenuKaskaadeAstBedingung MenuAstBedingung,
     string[] ZwekListeKomponente = null)
 {
     return(AufgaabeAktioonMenu(
                MenuWurzelGbsObjekt,
                new SictAnforderungMenuKaskaadeAstBedingung[] { MenuAstBedingung },
                ZwekListeKomponente));
 }
Example #9
0
 public SictGbsAstOklusioonKombi(
     SictGbsAstOklusioonInfo Okludiirende,
     GbsElement Okludiirte,
     OrtogoonInt Scnitfläce,
     Int64 NaacOklusioonRestFläceGröösteKwadraatSaitelänge)
 {
     this.Okludiirende = Okludiirende;
     this.Okludiirte   = Okludiirte;
     this.Scnitfläce   = Scnitfläce;
     this.NaacOklusioonRestFläceGröösteKwadraatSaitelänge = NaacOklusioonRestFläceGröösteKwadraatSaitelänge;
 }
        GbsMenuLezteInAst(
            this    ISictAutomatZuusctand Automaat,
            GbsElement GbsAst)
        {
            if (null == GbsAst)
            {
                return(null);
            }

            return(GbsMenuLezteInAstMitHerkunftAdrese(Automaat, GbsAst.Ident));
        }
Example #11
0
 public SictGbsAstOklusioonInfo(
     GbsElement Utilmenu)
     :
     this(
         null,
         null,
         Utilmenu,
         null,
         Utilmenu)
 {
 }
Example #12
0
 MengeAuswertungErgeebnisZuAstMitHerkunftAdrese(
     this    VonSensorikMesung ScnapscusAuswertung,
     Int64 AstHerkunftAdrese)
 {
     return
         (Bib3.RefNezDiferenz.SictRefNezDiferenz.ZuRefNezMengeClrTypeInstanceReferenziirt(
              new object[] { ScnapscusAuswertung },
              Optimat.ScpezEveOnln.SictAutomat.ZuusctandSictDiferenzRictliinieScatescpaicer)
          .OfTypeNullable <GbsElement>()
          .WhereNullable((Kandidaat) => GbsElement.HatBezaicner(Kandidaat, AstHerkunftAdrese)));
 }
        override public bool HinraicendGlaicwertigFürFortsazScpez(
            SictAufgaabeParam Andere)
        {
            var AndereScpez = Andere as AufgaabeParamScrollToTop;

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

            return(GbsElement.Identisc(this.AusScnapscusScroll, AndereScpez.AusScnapscusScroll));
        }
Example #14
0
        static public AufgaabeParamAndere AufgaabeAktioonMenu(
            GbsElement MenuWurzelGbsObjekt,
            string MenuAstFrühesteAstRegexPattern,
            bool?AuswaalEntryVerursactMenuSclus = null,
            string[] ZwekListeKomponente        = null)
        {
            var MenuAstFrühesteBedingung = new SictAnforderungMenuKaskaadeAstBedingung(MenuAstFrühesteAstRegexPattern, AuswaalEntryVerursactMenuSclus);

            return(AufgaabeAktioonMenu(
                       MenuWurzelGbsObjekt,
                       MenuAstFrühesteBedingung,
                       ZwekListeKomponente));
        }
Example #15
0
            public SictGbsAstOklusioonInfo(
                SictGbsWindowZuusctand Window,
                SictGbsMenuZuusctand Menu,
                GbsElement Utilmenu,
                VonSensor.PanelGroup PanelGroup,
                GbsElement GbsElementScnapscus)
            {
                this.Window     = Window;
                this.Menu       = Menu;
                this.Utilmenu   = Utilmenu;
                this.PanelGroup = PanelGroup;

                this.GbsElementScnapscus = GbsElementScnapscus;
            }
Example #16
0
        static public GbsElement FläceProjeziirtAufGbsAst(
            OrtogoonInt Fläce,
            GbsElement Ident)
        {
            if (null == Fläce || null == Ident)
            {
                return(null);
            }

            return(new GbsElement(
                       new ObjektMitIdentInt64(Ident.Ident),
                       Fläce,
                       Ident.InGbsBaumAstIndex
                       ));
        }
Example #17
0
        static public SictFläceRectekOrtoAbhängigVonGbsAst FläceRectekOrtoAbhängigVonGbsAstBerecne(
            GbsElement GbsObjekt,
            GbsElement GbsBaum)
        {
            if (null == GbsObjekt)
            {
                return(null);
            }

            OrtogoonInt FläceTailSctaatisc = GbsObjekt.InGbsFläce;

            /*
             * 2015.03.12
             *
             * var GbsObjektBezaicner = (Int64?)GbsObjekt.Ident;
             *
             * InGbsPfaad NaacGbsAstPfaad = null;
             *
             * if (GbsObjektBezaicner.HasValue	&&
             *      null != GbsBaum)
             * {
             *      GbsAstInfo[] PfaadListeAst;
             *
             *      NaacGbsAstPfaad	=	GbsBaum.GbsPfaadBerecneNaacAstMitHerkunftAdrese(GbsObjektBezaicner.Value, out	PfaadListeAst);
             *
             *      if (null != NaacGbsAstPfaad	&&
             *              null	!= PfaadListeAst)
             *      {
             *              var GbsObjektGbsAst = Bib3.Extension.LastOrDefaultNullable(PfaadListeAst) as SictGbsAstInfoSictAuswert;
             *
             *              var GbsObjektGbsAstLaage =
             *                      PfaadListeAst
             *                      .Select((Ast) => Ast.Laage ?? new SictVektor2DSingle(0, 0))
             *                      .Aggregate(new SictVektor2DSingle(0, 0), (a, b) => a + b)
             *                      .AlsVektor2DInt();
             *
             *              FläceTailSctaatisc =
             *                      FläceTailSctaatisc.Versezt(-GbsObjektGbsAstLaage);
             *      }
             * }
             *
             * return new SictFläceRectekOrtoAbhängigVonGbsAst(FläceTailSctaatisc, NaacGbsAstPfaad);
             * */

            return(new SictFläceRectekOrtoAbhängigVonGbsAst(FläceTailSctaatisc, GbsObjekt));
        }
Example #18
0
        static public AufgaabeParamAndere AufgaabeAktioonMenu(
            GbsElement MenuWurzelGbsObjekt,
            SictAnforderungMenuKaskaadeAstBedingung[] MenuListeAstBedingung,
            string[] ZwekListeKomponente = null)
        {
            if (null == MenuWurzelGbsObjekt)
            {
                return(null);
            }

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

            return(Aufgaabe);
        }
Example #19
0
        public SictGbsMenuKaskaadeZuusctand(
            Int64 Zait,
            KeyValuePair <SictAufgaabeZuusctand[], string>[] ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame = null,
            GbsElement MenuWurzelAnnaameInitiaal = null,
            VonSensor.Menu[] ListeMenuScnapscus  = null)
            :
            base(3)
        {
            this.ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame = ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame;
            this.MenuWurzelAnnaameInitiaal = MenuWurzelAnnaameInitiaal;
            this.MenuWurzelAnnaameLezte    = MenuWurzelAnnaameInitiaal;

            base.AingangScnapscus(
                Zait,
                ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(ListeMenuScnapscus),
                ListeMenuScnapscus);
        }
Example #20
0
        static public bool TailIdentHinraicendGlaicwertigFürFortsaz(
            GbsElement O0,
            GbsElement O1)
        {
            if (O0 == O1)
            {
                return(true);
            }

            if (null == O0 || null == O1)
            {
                return(false);
            }

            return
                (O0.Ident == O1.Ident);
        }
Example #21
0
        /// <summary>
        /// Berecnet ob in durc <paramref name="GbsBaum"/> bescriibene Baum aine oklusioon von Ast O0 durc Ast O1 mööglic ist.
        /// Dabai werd dii Fläce der Äste nit berüksictigt sondern nur deeren Ordnung.
        /// </summary>
        /// <param name="O0GbsAstHerkunftAdrese"></param>
        /// <param name="O1GbsAstHerkunftAdrese"></param>
        /// <param name="GbsBaum"></param>
        /// <returns></returns>
        static public bool?OklusioonVonO0DurcO1MööglicNaacBaumsctruktuurBerecne(
            Int64 O0GbsAstHerkunftAdrese,
            Int64 O1GbsAstHerkunftAdrese,
            GbsElement GbsBaum,
            out GbsElement O0GbsAst,
            out GbsElement O1GbsAst)
        {
            O0GbsAst = null;
            O1GbsAst = null;

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

            if (O0GbsAstHerkunftAdrese == O1GbsAstHerkunftAdrese)
            {
                return(false);
            }

            {
                //	2015.03.18	Aufgrund desen das di Elemente in GbsBaum anders angeordnet sind gelten di vorherige reegeln nit meer.

                O0GbsAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(O0GbsAstHerkunftAdrese);
                O1GbsAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(O1GbsAstHerkunftAdrese);

                if (null == O0GbsAst || null == O1GbsAst)
                {
                    return(null);
                }

                if (O1GbsAst.GbsBaumEnumFlacListeKnoote().Contains(O0GbsAst))
                {
                    return(false);
                }

                /*
                 * 2015.09.01
                 * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value.
                 * return O1GbsAst.InGbsBaumAstIndex < O0GbsAst.InGbsBaumAstIndex;
                 */
                return(O0GbsAst.InGbsBaumAstIndex < O1GbsAst.InGbsBaumAstIndex);
            }
        }
Example #22
0
        static public bool MenuWurzelHinraicendGlaicwertigFürFortsaz(
            GbsElement O0,
            GbsElement O1)
        {
            if (O0 == O1)
            {
                return(true);
            }

            if (null == O0 || null == O1)
            {
                return(false);
            }

            return
                (O0.Ident == O1.Ident &&
                 //	2015.02.07	string.Equals(O0.GbsAstName, O1.GbsAstName) &&
                 MenuWurzelHinraicendGlaicwertigFürFortsaz(O0.InGbsFläce, O1.InGbsFläce));
        }
        override public bool MenuWurzelPasendZuInRaumObjektRepr(
            GbsElement MenuWurzel)
        {
            if (null == MenuWurzel)
            {
                return(false);
            }

            var MenuWurzelAlsOverviewRowInterpretiirt = MenuWurzel as VonSensor.OverviewZaile;
            var MenuWurzelAlsOverviewRow = MenuWurzel as VonSensor.OverviewZaile;

            if (null != MenuWurzelAlsOverviewRowInterpretiirt)
            {
                return(MenuWurzelAlsOverviewRowInterpretiirt.Ident == GbsAstHerkunftAdrese);
            }

            if (null != MenuWurzelAlsOverviewRow)
            {
                return(MenuWurzelAlsOverviewRow.Ident == GbsAstHerkunftAdrese);
            }

            return(false);
        }
Example #24
0
        void Aktualisiire(
            Int64 Zait,
            VonSensor.Window ScnapscusWindow,
            SictGbsAgregatioonAusTransitionInfo ZuusazInfo)
        {
            GbsElement HeaderFläceOoneSctoierelement = null;

            try
            {
                var VorherScnapscusWindow = this.ScnapscusWindowLezte;

                {
                    var ScnapscusListHaupt = (null == ScnapscusWindow) ? null : ScnapscusWindow.ListHaupt();

                    var ListHaupt = this.ListHaupt;

                    GbsListGroupedZuusctand.ObjektKonstruktOderAingangScnapscus(
                        ref ListHaupt,
                        Zait,
                        ScnapscusListHaupt,
                        ZuusazInfo);

                    this.ListHaupt = ListHaupt;
                }

                if (null != ScnapscusWindow)
                {
                    var ScnapscusWindowInGbsFläce = ScnapscusWindow.InGbsFläce;

                    {
                        if (null != VorherScnapscusWindow)
                        {
                            if (1 < Optimat.EveOnline.Extension.DiferenzLaageUndGrööseSume(VorherScnapscusWindow.InGbsFläce, ScnapscusWindow.InGbsFläce))
                            {
                                //	Laage des Window wurde geändert

                                HeaderButtonMinimizeSictungLezte = null;
                                HeaderButtonCloseSictungLezte    = null;
                            }
                        }

                        if (null != ScnapscusWindowInGbsFläce)
                        {
                            //	Berecnung HeaderFläceOoneSctoierelement

                            var AnnaameHeaderFläceHöhe = 10;

                            var AnnaameHeaderSctoierelementLinxBraite = 30;

                            //	Scon bis zu viir Sctoierelemente auf recter Saite beobactet worden (Inventory)
                            var AnnaameHeaderSctoierelementReczBraite = 68;

                            HeaderFläceOoneSctoierelement =
                                ScnapscusWindow.SictFläceGesezt(
                                    OrtogoonInt.AusPunktZentrumUndGrööse(
                                        ScnapscusWindowInGbsFläce.ZentrumLaage +
                                        new Vektor2DInt(0, (AnnaameHeaderFläceHöhe - ScnapscusWindowInGbsFläce.Grööse.B) / 2),
                                        new Vektor2DInt(
                                            ScnapscusWindowInGbsFläce.Grööse.A -
                                            AnnaameHeaderSctoierelementLinxBraite - AnnaameHeaderSctoierelementReczBraite,
                                            AnnaameHeaderFläceHöhe)));
                        }

                        var ScnapscusWindowHeaderButtonMinimize = ScnapscusWindow.HeaderButtonMinimize;
                        var ScnapscusWindowHeaderButtonClose    = ScnapscusWindow.HeaderButtonClose;

                        if (null != ScnapscusWindowHeaderButtonMinimize)
                        {
                            HeaderButtonMinimizeSictungLezte = ScnapscusWindowHeaderButtonMinimize;
                        }

                        if (null != ScnapscusWindowHeaderButtonClose)
                        {
                            HeaderButtonCloseSictungLezte = ScnapscusWindowHeaderButtonClose;
                        }
                    }
                }
            }
            finally
            {
                this.HeaderFläceOoneSctoierelement = HeaderFläceOoneSctoierelement;
            }
        }
Example #25
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>();
                    }
                }
            }
        }
Example #26
0
        static public bool HinraicendGlaicwertigFürFortsazScpezAndere(
            AufgaabeParamAndere O0,
            AufgaabeParamAndere O1)
        {
            if (object.Equals(O0, O1))
            {
                return(true);
            }

            if (null == O0 || null == O1)
            {
                return(false);
            }


            return

                (O0.NaacNuzerMeldungZuEveOnline == O1.NaacNuzerMeldungZuEveOnline &&

                 object.Equals(O0.NaacNuzerVorsclaagWirkung, O1.NaacNuzerVorsclaagWirkung) &&

                 object.Equals(O0.NaacAbsclusTailWirkungWartezaitScranke, O1.NaacAbsclusTailWirkungWartezaitScranke) &&

                 string.Equals(O0.AktioonInOverviewTabZuAktiviire, O1.AktioonInOverviewTabZuAktiviire, StringComparison.InvariantCultureIgnoreCase) &&

                 O0.InOverviewTabFolgeViewportDurcGrid == O1.InOverviewTabFolgeViewportDurcGrid &&

                 O0.AktioonInOverviewMaceSictbar == O1.AktioonInOverviewMaceSictbar &&

                 object.Equals(O0.OverViewObjektZuBearbaite, O1.OverViewObjektZuBearbaite) &&
                 object.Equals(O0.TargetZuBearbaite, O1.TargetZuBearbaite) &&

                 object.Equals(O0.AktioonTargetActivate, O1.AktioonTargetActivate) &&

                 O0.AktioonCargoDurcsuuce == O1.AktioonCargoDurcsuuce &&

                 object.Equals(O0.TargetUnLock, O1.TargetUnLock) &&
                 object.Equals(O0.TargetInputFookusSeze, O1.TargetInputFookusSeze) &&

                 object.Equals(O0.ModuleMesungModuleButtonHint, O1.ModuleMesungModuleButtonHint) &&
                 object.Equals(O0.ModuleScalteAin, O1.ModuleScalteAin) &&
                 object.Equals(O0.ModuleScalteAus, O1.ModuleScalteAus) &&
                 object.Equals(O0.ModuleScalteUm, O1.ModuleScalteUm) &&

                 O0.AfterburnerScalteAin == O1.AfterburnerScalteAin &&

                 HinraicendGlaicwertigFürFortsaz(O0.MausPfaad, O1.MausPfaad) &&

                 O1.AktioonUnDock == O1.AktioonUnDock &&

                 HinraicendGlaicwertigFürFortsaz(O0.MenuListeAstBedingung, O1.MenuListeAstBedingung) &&
                 MenuWurzelHinraicendGlaicwertigFürFortsaz(O0.MenuWurzelGbsObjekt, O1.MenuWurzelGbsObjekt) &&
                 O0.AktioonMenuBegin == O1.AktioonMenuBegin &&
                 HinraicendGlaicwertigFürFortsaz(O0.MenuEntry, O1.MenuEntry) &&

                 //	TailIdentHinraicendGlaicwertigFürFortsaz(O0.GbsAstVerberge, O1.GbsAstVerberge) &&

                 O0.AktioonNeocomMenuEntferne == O1.AktioonNeocomMenuEntferne &&

                 O0.InfoPanelExpand == O1.InfoPanelExpand &&
                 O0.InfoPanelEnable == O1.InfoPanelEnable &&

                 HinraicendGlaicwertigFürFortsaz(O0.GbsAstOklusioonVermaidung, O1.GbsAstOklusioonVermaidung) &&

                 O0.WindowMinimize == O1.WindowMinimize &&
                 O0.WindowHooleNaacVorne == O1.WindowHooleNaacVorne &&

                 GbsElement.Identisc(O0.ColumnHeaderSort, O1.ColumnHeaderSort) &&
                 O0.ListEntryMaceSictbar == O1.ListEntryMaceSictbar &&
                 O0.ListEntryExpand == O1.ListEntryExpand &&
                 O0.ListEntryCollapse == O1.ListEntryCollapse &&
                 O0.ListEntryToggleExpandCollapse == O1.ListEntryToggleExpandCollapse &&

                 O0.GridVerlase == O1.GridVerlase &&

                 O0.ManööverUnterbreceNict == O1.ManööverUnterbreceNict &&
                 O0.VorrangVorManööverUnterbreceNict == O1.VorrangVorManööverUnterbreceNict &&
                 O0.ManööverAuszufüüreTyp == O1.ManööverAuszufüüreTyp &&
                 O0.DistanzAinzuscteleScrankeMin == O1.DistanzAinzuscteleScrankeMin &&
                 O0.DistanzAinzuscteleScrankeMax == O1.DistanzAinzuscteleScrankeMax &&

                 HinraicendGlaicwertigFürFortsaz(O0.LobbyAgentEntryStartConversation, O1.LobbyAgentEntryStartConversation) &&
                 MenuWurzelHinraicendGlaicwertigFürFortsaz(O0.MissionButtonUtilmenuObjectiveZuMese, O1.MissionButtonUtilmenuObjectiveZuMese) &&
                 HinraicendGlaicwertigFürFortsaz(O0.WindowAgentDialogueMissionAcceptOderRequest, O1.WindowAgentDialogueMissionAcceptOderRequest) &&
                 HinraicendGlaicwertigFürFortsaz(O0.WindowAgentDialogueMissionDecline, O1.WindowAgentDialogueMissionDecline) &&
                 O0.MissionAccept == O1.MissionAccept &&
                 O0.MissionDecline == O1.MissionDecline &&

                 HinraicendGlaicwertigFürFortsaz(O0.FittingZuApliziire, O1.FittingZuApliziire) &&

                 O0.AktioonDroneLaunch == O1.AktioonDroneLaunch &&
                 O0.AktioonDroneEngage == O1.AktioonDroneEngage &&
                 O0.AktioonDroneReturn == O1.AktioonDroneReturn &&

                 HinraicendGlaicwertigFürFortsaz(O0.InventoryItemTransport, O1.InventoryItemTransport) &&

                 HinraicendGlaicwertigFürFortsaz(O0.InventorySezeSictTypAufList, O1.InventorySezeSictTypAufList)

                );
        }
Example #27
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;
        }
 virtual public bool MenuWurzelPasendZuInRaumObjektRepr(
     GbsElement MenuWurzel)
 {
     return(false);
 }
Example #29
0
 static public SictAufgaabeParamMausPfaad KonstruktMausKlikRecz(GbsElement ZiilFläce)
 {
     return(Konstrukt(ZiilFläce, null, true));
 }
Example #30
0
        static public IEnumerable <SictAufgaabeParam> GbsAstOklusioonVermaidungBerecne(
            SictAufgaabeParamGbsAstOklusioonVermaidung OklusioonVermaidungParam,
            IEnumerable <SictGbsAstOklusioonInfo> MengeKandidaatOklusioon,
            IEnumerable <SictGbsAstOklusioonInfo> MengeKandidaatOklusioonZuErhalte,
            GbsElement GbsBaum,
            out IEnumerable <SictFläceRectekOrtoAbhängigVonGbsAst> MengeFläceZuMaide,
            out IEnumerable <OrtogoonInt> NaacOklusioonRestMengeFläce)
        {
            MengeFläceZuMaide = null;

            NaacOklusioonRestMengeFläce = null;

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

            var OklusioonVermaidungParamGbsElement = OklusioonVermaidungParam.GbsAst;

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

            var OklusioonVermaidungParamGbsAstFläce = OklusioonVermaidungParamGbsElement.InGbsFläce;

            if (null == OklusioonVermaidungParamGbsAstFläce)
            {
                return(null);
            }

            GbsElement OklusioonVermaidungParamGbsAst = null;

            NaacOklusioonRestMengeFläce = new OrtogoonInt[] { OklusioonVermaidungParamGbsAstFläce };

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

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

            var OklusioonVermaidungParamGbsAstHerkunftAdrese = (Int64?)OklusioonVermaidungParamGbsElement.Ident;

            var InternMengeFläceZuMaide = new List <SictFläceRectekOrtoAbhängigVonGbsAst>();

            MengeFläceZuMaide = InternMengeFläceZuMaide;

            var ListeTailaufgaabe = new List <SictAufgaabeParam>();

            var WeegpunktGbsObjektFläceKwadraatSaitelänge = Math.Min(OklusioonVermaidungParamGbsAstFläce.Grööse.A, OklusioonVermaidungParamGbsAstFläce.Grööse.B);

            var ListeTailwaiseOklusioon = new List <SictGbsAstOklusioonKombi>();

            OrtogoonInt[] InsgesamtRestMengeTailfläce = new OrtogoonInt[] { OklusioonVermaidungParamGbsAstFläce };

            foreach (var KandidaatOklusioon in MengeKandidaatOklusioon)
            {
                if (null == KandidaatOklusioon)
                {
                    continue;
                }

                var KandidaatOklusioonGbsObjekt = KandidaatOklusioon.GbsElementScnapscus;

                if (null == KandidaatOklusioonGbsObjekt)
                {
                    continue;
                }

                var KandidaatOklusioonFläce = KandidaatOklusioonGbsObjekt.InGbsFläce;

                GbsElement KandidaatOklusioonGbsAst = null;

                var OklusioonVonO0DurcO1MööglicNaacBaumsctruktuur =
                    OklusioonVermaidungParamGbsAstHerkunftAdrese.HasValue ?
                    OklusioonVonO0DurcO1MööglicNaacBaumsctruktuurBerecne(
                        OklusioonVermaidungParamGbsAstHerkunftAdrese.Value,
                        KandidaatOklusioonGbsObjekt.Ident,
                        GbsBaum,
                        out OklusioonVermaidungParamGbsAst,
                        out KandidaatOklusioonGbsAst) :
                    null;

                if (false == OklusioonVonO0DurcO1MööglicNaacBaumsctruktuur)
                {
                    continue;
                }

                var KandidaatOklusioonFläceZuMaide = FläceRectekOrtoAbhängigVonGbsAstBerecne(KandidaatOklusioonGbsObjekt, GbsBaum);

                InternMengeFläceZuMaide.Add(KandidaatOklusioonFläceZuMaide);

                var WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce =
                    Optimat.EveOnline.Extension.FläceMiinusFläce(OklusioonVermaidungParamGbsAstFläce, KandidaatOklusioonFläce);

                InsgesamtRestMengeTailfläce =
                    Bib3.Glob.ArrayAusListeFeldGeflact(InsgesamtRestMengeTailfläce.Select((Fläce) => Optimat.EveOnline.Extension.FläceMiinusFläce(Fläce, KandidaatOklusioonFläce)));

                if (null != WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce)
                {
                    var RestfläceGröösteKwadraatSaitelänge =
                        AusMengeFläceBerecneGröösteKwadraatSaitelängeBerecne(WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce);

                    /*
                     * 2014.04.29
                     * Korektur: ListeTailwaiseOkludiirendeUndRestKwadraatSaitelänge mus befült werde unabhängig davon ob das restlice grööste Kwadraat klainer geworde isc,
                     * sunsct scteet waiter unte kain Kandidaat zum entferne zur Verfüügung.
                     *
                     * if (!(WeegpunktGbsObjektFläceKwadraatSaitelänge - 0.1f < RestfläceGröösteKwadraatSaitelänge))
                     * */
                    var Scnitfläce = OrtogoonInt.Scnitfläce(KandidaatOklusioonFläce, OklusioonVermaidungParamGbsAstFläce);

                    if (!Scnitfläce.IsLeer)
                    {
                        //	grööste Kwadraat in übrige Tailfäce isc klainer, zumindest tailwaise Okludiirt.

                        ListeTailwaiseOklusioon.Add(
                            new SictGbsAstOklusioonKombi(
                                KandidaatOklusioon,
                                OklusioonVermaidungParamGbsElement,
                                Scnitfläce,
                                RestfläceGröösteKwadraatSaitelänge));
                    }
                }
            }

            NaacOklusioonRestMengeFläce = InsgesamtRestMengeTailfläce;

            var InsgesamtRestMengeTailfläceGröösteKwadraatSaitelänge =
                AusMengeFläceBerecneGröösteKwadraatSaitelängeBerecne(InsgesamtRestMengeTailfläce);

            if (!(OklusioonVermaidungParam.RestFläceKwadraatSaitenlängeScrankeMin <= InsgesamtRestMengeTailfläceGröösteKwadraatSaitelänge) &&
                0 < ListeTailwaiseOklusioon.Count)
            {
                //	übrige Tailfläce nit hinraicend groos, Oklusioon erfordert Reaktioon

                //	Versuuce Oklusioon zu beende

                var ListeTailwaiseOkludiirendeOrdnet =
                    ListeTailwaiseOklusioon
                    //	Window früüher scliise als andere (z.B. Menu oder Utilmenu oder Neocom) da andere oftmaals impliziit gesclose werden.
                    .OrderBy((Kandidaat) => null == Kandidaat?.Okludiirende?.Window ? 0 : 1)
                    .ThenBy((Kandidaat) => Kandidaat.NaacOklusioonRestFläceGröösteKwadraatSaitelänge)

                    /*
                     * 2015.09.01
                     * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value.
                     * .ThenBy((Kandidaat) => Kandidaat?.Okludiirende?.GbsAstInBaumIndex)
                     */
                    .ThenByDescending((Kandidaat) => Kandidaat?.Okludiirende?.GbsAstInBaumIndex)
                    .ToArray();

                foreach (var TailwaiseOkludiirende in ListeTailwaiseOkludiirendeOrdnet)
                {
                    if (0 < ListeTailaufgaabe.Count)
                    {
                        //	!!!!	Temp für Performanz und üübersictlickait Berict:	nur aine Tailaufgaabe berecne
                        break;
                    }

                    if (null == TailwaiseOkludiirende)
                    {
                        continue;
                    }

                    var OkludiirendeZuErhalte =
                        (null == MengeKandidaatOklusioonZuErhalte) ? false :
                        MengeKandidaatOklusioonZuErhalte
                        .Any((KandidaatOklusioonZuErhalte) => KandidaatOklusioonZuErhalte.GbsElementIdent ==
                             TailwaiseOkludiirende.Okludiirende.GbsElementIdent);

                    if (OkludiirendeZuErhalte)
                    {
                        //	Okludiirende zu erhalte werde. z.B. Window Drones.
                        //	Versuuce Oklusioon zu beende oone Okludiirende zu Verberge: Z-Index von okludiirte waiter naac vorne bringe

                        SictGbsAstOklusioonInfo Okludiirte = null;

                        foreach (var KandidaatOkludiirte in MengeKandidaatOklusioon)
                        {
                            if (null == KandidaatOkludiirte)
                            {
                                continue;
                            }

                            var KandidaatOkludiirteGbsAstHerkunftAdrese = KandidaatOkludiirte.GbsElementIdent;

                            if (!KandidaatOkludiirteGbsAstHerkunftAdrese.HasValue)
                            {
                                continue;
                            }

                            if (KandidaatOkludiirteGbsAstHerkunftAdrese == OklusioonVermaidungParamGbsAstHerkunftAdrese)
                            {
                                Okludiirte = KandidaatOkludiirte;
                                break;
                            }

                            if (OklusioonVermaidungParamGbsAstHerkunftAdrese.HasValue)
                            {
                                var KandidaatOkludiirteGbsAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(KandidaatOkludiirteGbsAstHerkunftAdrese.Value);

                                if (null == KandidaatOkludiirteGbsAst)
                                {
                                    continue;
                                }

                                if (null != KandidaatOkludiirteGbsAst.SuuceFlacMengeGbsAstFrühesteMitIdent(OklusioonVermaidungParamGbsAstHerkunftAdrese.Value))
                                {
                                    Okludiirte = KandidaatOkludiirte;
                                    break;
                                }
                            }
                        }

                        if (null != Okludiirte)
                        {
                            var OkludiirteWindow = Okludiirte.Window;

                            if (null != OkludiirteWindow)
                            {
                                ListeTailaufgaabe.Add(AufgaabeParamAndere.KonstruktWindowHooleNaacVorne(OkludiirteWindow));
                            }
                        }
                    }
                    else
                    {
                        var TailwaiseOkludiirendeGbsObjektScnapscus = TailwaiseOkludiirende?.Okludiirende?.GbsElementScnapscus;

                        //	ListeTailaufgaabe.Add(AufgaabeParamAndere.KonstruktGbsAstVerberge(TailwaiseOkludiirendeGbsObjektScnapscus));
                        ListeTailaufgaabe.Add(new AufgaabeParamGbsElementVerberge(
                                                  TailwaiseOkludiirendeGbsObjektScnapscus,
                                                  TailwaiseOkludiirende));
                    }
                }
            }

            return(ListeTailaufgaabe);
        }