Exemplo n.º 1
0
 override protected void NaacAingangScnapscus(
     Int64 ScnapscusZait,
     ShipUiModule ScnapscusWert,
     AutomaatZuusctandUndGeneric <int> ZuusazInfo)
 {
     Aktualisiire(ScnapscusZait, ScnapscusWert, ZuusazInfo);
 }
Exemplo n.º 2
0
 public SictVerknüpfungAusGbsModuleReprMitModuleButtonHint(
     ShipUiModule ModuleRepr,
     ModuleButtonHintInterpretiirt ModuleButtonHint)
 {
     this.ModuleRepr       = ModuleRepr;
     this.ModuleButtonHint = ModuleButtonHint;
 }
        public bool?PasendZuModuleReprBerecne(ShipUiModule ModuleRepr)
        {
            var ModuleButtonHint = this.ModuleButtonHint;

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

            return(ModuleButtonHint.PasendZuModuleReprBerecne(ModuleRepr));
        }
Exemplo n.º 4
0
        public void Berecne()
        {
            if (!(slotNode?.VisibleIncludingInheritance ?? false))
            {
                return;
            }

            ModuleButtonAst =
                slotNode?.FirstMatchingNodeFromSubtreeBreadthFirst(kandidaat => string.Equals(ModuleButtonPyTypeName, kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 1, 1);

            ModuleButtonIconAst =
                ModuleButtonAst?.FirstMatchingNodeFromSubtreeBreadthFirst((kandidaat) =>
                                                                          (string.Equals("Icon", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) ||
                                                                           string.Equals("EveIcon", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase)),
                                                                          1, 1);

            ModuleButtonQuantityAst =
                ModuleButtonAst?.FirstMatchingNodeFromSubtreeBreadthFirst((kandidaat) => string.Equals("quantityParent", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 1, 1);

            ModuleButtonQuantityLabelAst =
                ModuleButtonQuantityAst?.FirstMatchingNodeFromSubtreeBreadthFirst((kandidaat) => string.Equals("Label", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 1, 1);

            var MengeSpriteAst =
                slotNode?.MatchingNodesFromSubtreeBreadthFirst((kandidaat) =>
                                                               true == kandidaat.VisibleIncludingInheritance &&
                                                               string.Equals("Sprite", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), null, 1, 1);

            SpriteHiliteAst =
                (null == MengeSpriteAst) ? null :
                MengeSpriteAst.FirstOrDefault((kandidaat) => string.Equals("hilite", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase));

            SpriteGlowAst =
                (null == MengeSpriteAst) ? null :
                MengeSpriteAst.FirstOrDefault((kandidaat) => string.Equals("glow", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase));

            SpriteBusyAst =
                (null == MengeSpriteAst) ? null :
                MengeSpriteAst.FirstOrDefault((kandidaat) => string.Equals("busy", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase));

            MengeKandidaatRampAst =
                slotNode?.MatchingNodesFromSubtreeBreadthFirst((kandidaat) =>
                                                               true == kandidaat.VisibleIncludingInheritance &&
                                                               Regex.Match(kandidaat.PyObjTypName ?? "", "ramps", RegexOptions.IgnoreCase).Success, 1, 1);

            MengeKandidaatRampAuswert =
                MengeKandidaatRampAst?.Select((kandidaatRampAst) =>
            {
                var Auswert = new SictAuswertGbsShipModuleButtonRamps(kandidaatRampAst);
                Auswert.Berecne();
                return(Auswert);
            }).ToArray();

            var RampAuswert =
                MengeKandidaatRampAuswert
                ?.FirstOrDefault((kandidaat) => null != kandidaat.LeftRampAst || kandidaat.RampAktiiv);

            AstMainShape =
                slotNode?.FirstMatchingNodeFromSubtreeBreadthFirst((kandidaat) => string.Equals("mainshape", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 1, 1);

            if (null == AstMainShape)
            {
                return;
            }

            bool?SpriteHiliteSictbar = null;

            bool?SpriteGlowSictbar = null;
            bool?SpriteBusySictbar = null;

            if (null != SpriteHiliteAst)
            {
                SpriteHiliteSictbar = true == SpriteHiliteAst.VisibleIncludingInheritance;
            }

            if (null != SpriteGlowAst)
            {
                SpriteGlowSictbar = true == SpriteGlowAst.VisibleIncludingInheritance;
            }

            if (null != SpriteBusyAst)
            {
                SpriteBusySictbar = true == SpriteBusyAst.VisibleIncludingInheritance;
            }

            var ModuleButtonSictbar = ModuleButtonAst?.VisibleIncludingInheritance;

            var ModuleButtonFlächeToggle =
                ModuleButtonAst.AsUIElementIfVisible().WithRegionSizePivotAtCenter(new Vektor2DInt(16, 16));

            var ModuleButtonIconTextureIdent = ModuleButtonIconAst?.TextureIdent0;

            var rampActive        = ModuleButtonAst?.RampActive ?? RampAuswert?.RampAktiiv ?? false;
            var rampRotationMilli = RampAuswert?.RotatioonMili;

            bool?overloadOn = null;

            var overloadButton =
                slotNode?.FirstMatchingNodeFromSubtreeBreadthFirst(node => node.PyObjTypNameIsSprite() && (node?.Name?.RegexMatchSuccessIgnoreCase("OverloadB(tn|utton)") ?? false));

            if (null != overloadButton)
            {
                if (overloadButton?.Hint?.RegexMatchSuccessIgnoreCase(overloadOffHintRegexPattern) ?? false)
                {
                    overloadOn = false;
                }

                if (overloadButton?.Hint?.RegexMatchSuccessIgnoreCase(overloadOnHintRegexPattern) ?? false)
                {
                    overloadOn = true;
                }
            }

            var ModuleRepr = new ShipUiModule(slotNode.AsUIElementIfVisible())
            {
                ModuleButtonVisible     = ModuleButtonSictbar,
                ModuleButtonIconTexture = ModuleButtonIconTextureIdent?.AsObjectIdInMemory(),
                ModuleButtonQuantity    = ModuleButtonQuantityLabelAst?.SetText,
                RampActive        = rampActive,
                RampRotationMilli = rampRotationMilli,
                HiliteVisible     = SpriteHiliteSictbar,
                GlowVisible       = SpriteGlowSictbar,
                BusyVisible       = SpriteBusySictbar,
                OverloadOn        = overloadOn,
            };

            this.ModuleRepr = ModuleRepr;
        }
Exemplo n.º 5
0
		public void Travel_InputFrequency()
		{
			var BotSequence = new BotSequence();

			var ClientPreference = new Bot.BotPreference() { TravelEnable = true };

			var UIElementFactory = new Func<UIElement>(Exe.UIElementFactory.Instance.UIElementConstruct);

			var InfoPanelRouteWaypointMarker = UIElementFactory();

			var InfoPanelRoute = new InfoPanelRoute(new InfoPanel(UIElementFactory(), true, UIElementFactory()), null, null, new[] { InfoPanelRouteWaypointMarker });

			var ShipUiHitpoints = new ShipHitpointsAndEnergy(1000, 1000, 1000, 700);

			var ShipUiModule = new ShipUiModule(UIElementFactory(), true, null, null, false, null, null, null, null);

			var ShipUi = new ShipUi(UIElementFactory(), UIElementFactory(), new ShipUiIndication(UIElementFactory(), null), ShipUiHitpoints, null, null, null, null, new[] { ShipUiModule });

			var Menu = new BotEngine.EveOnline.Sensor.Menu(UIElementFactory(), new[] { new MenuEntry(new UIElementLabelString(UIElementFactory(), TravelInfoPanelRouteParam.MenuEntryJumpLabel)) });

			var Measurement = new MemoryMeasurement()
			{
				InfoPanelRoute = InfoPanelRoute,

				//	ShipUI tells the Bot that char is in Space.
				ShipUi = ShipUi
			};

			bool MenuOpen = false;

			var MeasurementCurrent = new Func<MemoryMeasurement>(() =>
			 {
				 Measurement.Menu = MenuOpen ? new[] { Menu } : null;

				 return Measurement;
			 });

			var ListInputMenuCountMin = 2;

			var ListTaskMenuOpenTime = new List<Int64>();
			var ListTaskMenuEntryActivateTime = new List<Int64>();
			var ListTaskModuleMeasureTime = new List<Int64>();

			BotSequence.SequenceStep(
				MeasurementCurrent,
				() => ClientPreference,
				Bot =>
				{
					var BotTime = Bot.Time().Value;

					var RecommendedMotion =
						Bot.ExtractRecommendedMotion()
						?.ToArray();

					var Status = Bot.ToUserReport?.TravelTask?.CurrentInstant?.ExtractStatus();
					var ListPathToClientTask = Bot.ToUserReport?.TravelTask?.CurrentInstant?.ExtractPathToClientNode()?.ToArray();

					var ListTaskFlat = ListPathToClientTask.ConcatNullable()?.Distinct()?.ToArray();

					var TaskMenuOpen =
						RecommendedMotion
						?.FirstOrDefault(Node => (Node.Param as MotionParam).ContainsUIElement(InfoPanelRouteWaypointMarker));

					var TaskMenuEntryActivate =
						RecommendedMotion
						?.FirstOrDefault(Node => (Node.Param as MotionParam).ContainsUIElement(Menu?.ListEntry?.FirstOrDefault()));

					var TaskModuleMeasure =
						RecommendedMotion
						?.FirstOrDefault(Node => (Node.Param as MotionParam).ContainsUIElement(ShipUiModule));

					if (null != TaskMenuOpen)
					{
						MenuOpen = true;

						BotSequence.TaskMarkAsCompleted(TaskMenuOpen.IdAtBot);

						if (0 < ListTaskMenuOpenTime.Count)
						{
							var Distance = BotTime - ListTaskMenuOpenTime.Last();

							Assert.Greater(Distance, TravelInfoPanelRouteParam.InputNextManeuverDistanceMin - 1111, "menu open.distance min");

							Assert.Less(Distance, TravelInfoPanelRouteParam.InputNextManeuverDistanceMin + 1111, "menu open.distance max");
						}

						ListTaskMenuOpenTime.Add(BotTime);
					}

					if (null != TaskMenuEntryActivate)
					{
						MenuOpen = false;

						BotSequence.TaskMarkAsCompleted(TaskMenuEntryActivate.IdAtBot);

						var DistanceToMenuOpen = BotTime - ListTaskMenuOpenTime.Last();

						Assert.Less(DistanceToMenuOpen, 1111, "menu entry activate.distance max");

						ListTaskMenuEntryActivateTime.Add(BotTime);
					}

					if (null != TaskModuleMeasure)
					{
						ListTaskModuleMeasureTime.Add(BotTime);
					}
				},
				(int)1e+5);

			Assert.GreaterOrEqual(ListTaskMenuOpenTime.Count, ListInputMenuCountMin, "input menu count min");

			Assert.GreaterOrEqual(ListTaskModuleMeasureTime.Count, 4, "module measure");
		}
Exemplo n.º 6
0
        void Aktualisiire(
            Int64 Zait,
            ShipUiModule ScnapscusWert,
            AutomaatZuusctandUndGeneric <int> ZuusazInfo)
        {
            TempDebugInspektAingangScnapscusLezteZait = Zait;

            var ModuleButtonHintGültigMitZait = default(SictWertMitZait <ModuleButtonHintInterpretiirt>);

            var Automaat = ZuusazInfo.Automaat;

            var ScnapscusModuleButtonHint = Automaat.ScnapscusLezteModuleButtonHint();

            var Sictbar = false;
            var Hilite  = false;
            var Aktiiv  = false;

            var ModuleReprInGbsFläce       = (null == ScnapscusWert) ? OrtogoonInt.Leer : ScnapscusWert.InGbsFläce;
            var ScnapscusRampRotatioonMili = (null == ScnapscusWert) ? null : ScnapscusWert.RampRotatioonMili;

            ListeRampRotatioonMiliZuZait.Enqueue(new SictWertMitZait <int?>(Zait, ScnapscusRampRotatioonMili));
            Bib3.Extension.ListeKürzeBegin(ListeRampRotatioonMiliZuZait, 8);

            var MenuKaskaadeLezte = Automaat.GbsMenuLezteInAstMitHerkunftAdrese(this.ScnapscusLezteGbsAstHerkunftAdrese);

            if (null != MenuKaskaadeLezte)
            {
                var MenuKaskaadeLezteMenuBegin = MenuKaskaadeLezte.ListeMenuScnapscusLezteMitBeginZaitBerecne().FirstOrDefaultNullable();

                if (null != MenuKaskaadeLezteMenuBegin.Wert)
                {
                    var EntryIndikatorModule =
                        MenuKaskaadeLezteMenuBegin.Wert.ListeEntry.FirstOrDefault((Kandidaat) =>
                                                                                  Regex.Match(Kandidaat.Bescriftung ?? "", "put\\s*(off|on)line", RegexOptions.IgnoreCase).Success ||
                                                                                  Regex.Match(Kandidaat.Bescriftung ?? "", "reload", RegexOptions.IgnoreCase).Success ||
                                                                                  Regex.Match(Kandidaat.Bescriftung ?? "", "unload", RegexOptions.IgnoreCase).Success);

                    var EntryIndikatorModuleKontra =
                        MenuKaskaadeLezteMenuBegin.Wert.ListeEntry.FirstOrDefault((Kandidaat) =>
                                                                                  Regex.Match(Kandidaat.Bescriftung ?? "", "camera", RegexOptions.IgnoreCase).Success ||
                                                                                  Regex.Match(Kandidaat.Bescriftung ?? "", "stargates", RegexOptions.IgnoreCase).Success);

                    if (!(MenuKaskaadeLezte == this.MenuLezte) &&
                        null != EntryIndikatorModule &&
                        null == EntryIndikatorModuleKontra)
                    {
                        var MengeDamageTypAmmoRegexPattern = SictKonfig.MengeDamageTypAmmoRegexPattern;

                        this.MenuLezte = MenuKaskaadeLezte;

                        this.MenuLezteScpezModuleButtonMitZait = new SictWertMitZait <SictMenuModuleButtonAuswert>(
                            MenuKaskaadeLezte.ScnapscusFrühesteZait ?? -1,
                            SictMenuModuleButtonAuswert.Konstrukt(
                                MenuKaskaadeLezte.ListeMenuScnapscusLezteMitBeginZaitBerecne().FirstOrDefaultNullable().Wert,
                                MengeDamageTypAmmoRegexPattern));
                    }
                }
            }

            if (!ModuleReprInGbsFläce.IsLeer)
            {
                var LaageLezte = ListeLaageLezteBerecne();

                if (!(LaageLezte == ModuleReprInGbsFläce.ZentrumLaage))
                {
                    ListeLaageZuZait.Add(new SictWertMitZait <Vektor2DInt>(Zait, ModuleReprInGbsFläce.ZentrumLaage));

                    Bib3.Extension.ListeKürzeBegin(ListeLaageZuZait, 4);
                }
            }

            try
            {
                {
                    //	dii aufruufende Funktioon verantwortet nict di Zugehörigkait des ModuleButtonHint zum Module, diise werd hiir sicergesctelt.
                    if (null == ScnapscusWert)
                    {
                        ScnapscusModuleButtonHint = null;
                    }
                    else
                    {
                        if (!(true == ScnapscusWert.SpriteHiliteSictbar))
                        {
                            ScnapscusModuleButtonHint = null;
                        }
                    }

                    if (null != ScnapscusModuleButtonHint)
                    {
                        if (!(true == ScnapscusModuleButtonHint.PasendZuModuleReprBerecne(ScnapscusWert)))
                        {
                            ScnapscusModuleButtonHint = null;
                        }
                    }
                }

                if (this.ScnapscusLezteModuleReprUndButtonHintMitZait.Zait < Zait)
                {
                    InternScnapscusVorLezteModuleReprUndButtonHintMitZait = this.ScnapscusLezteModuleReprUndButtonHintMitZait;
                }
                else
                {
                    if (Zait < this.ScnapscusLezteModuleReprUndButtonHintMitZait.Zait)
                    {
                        InternScnapscusVorLezteModuleReprUndButtonHintMitZait =
                            default(SictWertMitZait <KeyValuePair <ShipUiModule, ModuleButtonHintInterpretiirt> >);
                    }
                }

                this.ScnapscusLezteModuleReprUndButtonHintMitZait =
                    new SictWertMitZait <KeyValuePair <ShipUiModule, ModuleButtonHintInterpretiirt> >(Zait,
                                                                                                      new KeyValuePair <ShipUiModule, ModuleButtonHintInterpretiirt>(ScnapscusWert, ScnapscusModuleButtonHint));

                if (null != ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key)
                {
                    ChargeAnzaal = ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonQuantityInt;

                    AnnaameChargeAnzaalScrankeMaxScrankeMin = Bib3.Glob.Max(
                        AnnaameChargeAnzaalScrankeMaxScrankeMin, ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonQuantityInt);

                    Sictbar = Zait <= ScnapscusLezteModuleReprUndButtonHintMitZait.Zait;

                    if (Sictbar)
                    {
                        Hilite = true == ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.SpriteHiliteSictbar;

                        Aktiiv = true == ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.RampAktiiv;

                        {
                            //	Berecnung ob Module Aktiiv: es kan vorkome das mit Scnapscus zuufälige Werte geliifert werde oder das Ramp nit sictbar wail geraade nahe 0.
                            //	Daher Reegel Annaame Aktiiv:
                            //	(in lezte Scnapscus Ramp.RotatioonMili unglaic 0)	|| ((in VorLezte Scnapscus Ramp.RotatioonMili unglaic 0) && erwartete (extrapoliirte Ramp.RotatioonMili auserhalb Regioon Ramp ende))

                            //	ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.Ramp.RotatioonMili
                        }
                    }
                }

                if (null != ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key &&
                    null != InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Key)
                {
                    var ModuleButtonTextureIdentNulbar = ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonIconTextureIdent;

                    if (ModuleButtonTextureIdentNulbar.HasValue)
                    {
                        var ModuleButtonTextureIdent = ModuleButtonTextureIdentNulbar.Value;

                        if (ModuleButtonTextureIdentNulbar == InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonIconTextureIdent)
                        {
                            //	Berecnung aus Scnapscus zu überneemende ModuleButtonHint

                            if (null != ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Value &&
                                null != InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Value)
                            {
                                if (ModuleButtonHintInterpretiirt.AusMengeScnapscusHinraicendGlaicwertigFürÜbernaame(
                                        ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Value,
                                        InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Value))
                                {
                                    DictZuModuleButtonIconHintLezteMitZait[ModuleButtonTextureIdent] =
                                        new SictWertMitZait <ModuleButtonHintInterpretiirt>(
                                            ScnapscusLezteModuleReprUndButtonHintMitZait.Zait,
                                            ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Value);

                                    DictZuModuleButtonIconHintLezteMitZait.EntferneMengeAintraagSolangeAnzaalGrööserScranke(
                                        4, (IconIdentMitHintMitZait) => IconIdentMitHintMitZait.Value.Zait);
                                }
                            }
                        }

                        {
                            //	Berecnung aktuel gültige ModuleButtonHint

                            var ZuModuleButtonIconHintLezteMitZaitNulbar =
                                Optimat.Glob.TADNulbar(DictZuModuleButtonIconHintLezteMitZait, ModuleButtonTextureIdent);

                            if (ZuModuleButtonIconHintLezteMitZaitNulbar.HasValue)
                            {
                                if (null != ZuModuleButtonIconHintLezteMitZaitNulbar.Value.Wert)
                                {
                                    ModuleButtonHintGültigMitZait = ZuModuleButtonIconHintLezteMitZaitNulbar.Value;
                                }
                            }
                        }
                    }
                }

                if (null != ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key &&
                    null != InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Key)
                {
                    {
                        //	!!!!	zu ergänze: entprele: nit nur lezte sondern auc vorvorlezte berüksictige
                        if ((InternScnapscusVorLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonQuantityInt ?? 0) <
                            ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonQuantityInt)
                        {
                            //	Quantity isc von Scnapscus zu Scnapscus gesctiige (-> Annaame Load/Reload hat sctatgefunde)

                            AnnaameChargeAnzaalScrankeMax = ScnapscusLezteModuleReprUndButtonHintMitZait.Wert.Key.ModuleButtonQuantityInt;
                        }
                    }
                }

                //	!!!!	zu ergänze:	AnnaameChargeAnzaalScrankeMax sol zurükgesezt werde wen Munitioonstyp wexelt diise abhängig von Munitionstyp

                {
                    /*
                     * 2014.09.13
                     *
                     * var ListeAktivitäätLezte = InternListeAktivitäät.LastOrDefaultNullable();
                     *
                     * var AktivitäätTransitioonListeScritAnzaalScrankeMin =
                     *      Math.Max(1,
                     *      Math.Min(this.ListeScnapscusZuZaitZuErhalteAnzaalScrankeMax ?? 0, this.AktivitäätTransitioonListeScritAnzaalScrankeMin));
                     *
                     * var BerecnungAktivitäätListeScnapscus =
                     *      Enumerable.Range(0, AktivitäätTransitioonListeScritAnzaalScrankeMin)
                     *      .Select((ScnapscusAlter) => this.AingangScnapscusMitAlterScritAnzaalBerecne(ScnapscusAlter))
                     *      .WhereNullable((Kandidaat) => Kandidaat.HasValue)
                     *      .SelectNullable((Kandidaat) => Kandidaat.Value)
                     *      .ToArrayNullable();
                     *
                     * if (AktivitäätTransitioonListeScritAnzaalScrankeMin <= BerecnungAktivitäätListeScnapscus.CountNullable())
                     * {
                     *      var BerecnungAktivitäätListeScnapscusBeginZait =
                     *              BerecnungAktivitäätListeScnapscus.Select((tScnapscus) => tScnapscus.Zait).Min();
                     *
                     *      var ListeScnapscusAktiiv =
                     *              BerecnungAktivitäätListeScnapscus.Select((tScnapscus) =>
                     *                      {
                     *                              if (null == tScnapscus.Wert.Key)
                     *                              {
                     *                                      return false;
                     *                              }
                     *
                     *                              return tScnapscus.Wert.Key.RampAktiiv ?? false;
                     *                      }).ToArray();
                     *
                     *      if (ListeScnapscusAktiiv.All((ScnapscusAktiiv) => ScnapscusAktiiv))
                     *      {
                     *              var AktivitäätObjektKonstrukt = true;
                     *
                     *              if (null != ListeAktivitäätLezte)
                     *              {
                     *                      if (!ListeAktivitäätLezte.EndeZait.HasValue)
                     *                      {
                     *                              AktivitäätObjektKonstrukt = false;
                     *                      }
                     *              }
                     *
                     *              if (AktivitäätObjektKonstrukt)
                     *              {
                     *                      var BeginMengeTarget = new List<SictTargetZuusctand>();
                     *
                     *                      var MengeTarget = ZuusazInfo.MengeTarget();
                     *
                     *                      if (null != MengeTarget)
                     *                      {
                     *                      }
                     *
                     *                      var Aktivitäät = new ModuleAktivitäätZaitraum(BerecnungAktivitäätListeScnapscusBeginZait, this, BeginMengeTarget.ToArrayFalsNitLeer());
                     *
                     *                      InternListeAktivitäät.Enqueue(Aktivitäät);
                     *              }
                     *      }
                     *
                     *      if (ListeScnapscusAktiiv.All((ScnapscusAktiiv) => !ScnapscusAktiiv))
                     *      {
                     *              if (null != ListeAktivitäätLezte)
                     *              {
                     *                      if (!ListeAktivitäätLezte.EndeZait.HasValue)
                     *                      {
                     *                              ListeAktivitäätLezte.EndeZait = BerecnungAktivitäätListeScnapscusBeginZait;
                     *                      }
                     *              }
                     *      }
                     * }
                     * */

                    var AktivitäätTransitioon =
                        InternListeAktivitäätFilterTransitioon.AingangScrit(
                            Zait, Aktiiv,
                            AktivitäätTransitioonListeScritAnzaalScrankeMin,
                            3);

                    var ListeAktivitäätLezte = InternListeAktivitäät.LastOrDefaultNullable();

                    var ListeAktivitäätLezteTransitioon = InternListeAktivitäätFilterTransitioon.ListeTransitioonLezteInfo();

                    //	AktivitäätTransitioon = ListeAktivitäätLezteTransitioon;

                    if (null != ListeAktivitäätLezte)
                    {
                        var ListeAktivitäätLezteBeginIndex            = Automaat.ZuNuzerZaitBerecneScritIndex(ListeAktivitäätLezte.BeginZait ?? -1);
                        var BeginTargetAssignmentScritIndexScrankeMin = ListeAktivitäätLezteBeginIndex - 1;
                        var BeginTargetAssignmentScritIndexScrankeMax = ListeAktivitäätLezteBeginIndex + 1;

                        if (null == ListeAktivitäätLezte.BeginTargetAssignment &&
                            BeginTargetAssignmentScritIndexScrankeMax <= Automaat.ScritLezteIndex)
                        {
                            Int64[] TargetAssignedFilterMengeTexturIdent = null;

                            /*
                             * 2014.09.22	Beobactung:
                             * T:\Günta\Projekt\Optimat.EveOnline\Test\Server.Berict\Berict.Nuzer\[ZAK=2014.09.22.22.04.43,NB=0].Anwendung.Berict:
                             * In Target verwendete Icon mit andere TexturIdent als in ModuleButtonHint enthaltene.
                             * In glaice Sizung wexelt oone Jump der TexturIdent aus ZaileTitel ind ModuleButtonHint.
                             *
                             * Andere Löösung wääre deen ModuleButtonHint für Miner noi zu mese wen kaine pasende Assignment in Target gefunde werde.
                             *
                             * if (null != ModuleButtonHintGültigMitZait.Wert)
                             * {
                             *      TargetAssignedFilterMengeTexturIdent = ModuleButtonHintGültigMitZait.Wert.TargetAssignedFilterMengeTexturIdent;
                             * }
                             * */

                            var BeginTargetAssignment = new AusZaitraumMengeTargetAssignmentBerict(
                                BeginTargetAssignmentScritIndexScrankeMin.Value,
                                BeginTargetAssignmentScritIndexScrankeMax.Value,
                                true,
                                TargetAssignedFilterMengeTexturIdent);

                            BeginTargetAssignment.Berecne(Automaat);

                            ListeAktivitäätLezte.BeginTargetAssignmentSeze(BeginTargetAssignment);
                        }
                    }

                    if (AktivitäätTransitioon.HasValue)
                    {
                        var ModuleTransitioonBeginZait = AktivitäätTransitioon.Value.ScritIdent;

                        if (null != ListeAktivitäätLezte)
                        {
                            if (!ListeAktivitäätLezte.EndeZait.HasValue)
                            {
                                ListeAktivitäätLezte.EndeZait = ModuleTransitioonBeginZait;
                            }
                        }

                        if (AktivitäätTransitioon.Value.ZiilWert)
                        {
                            //	Transitioon naac Aktiiv.

                            var Aktivitäät = new ModuleAktivitäätZaitraum(ModuleTransitioonBeginZait, this);

                            InternListeAktivitäät.Enqueue(Aktivitäät);
                        }
                        else
                        {
                        }
                    }

                    if (null != ListeAktivitäätLezte)
                    {
                        if (ScnapscusRampRotatioonMili.HasValue)
                        {
                            ListeAktivitäätLezte.AingangZuZaitRotatioonMili(Zait, ScnapscusRampRotatioonMili.Value);
                        }
                    }
                }
            }
            finally
            {
                SictbarLezteZait.AingangWert(Sictbar ? (Int64?)Zait : null);
                HiliteLezteZait.AingangWert(Hilite ? (Int64?)Zait : null);
                AktiivLezteZait.AingangWertZuZait(Zait, Aktiiv);

                {
                    var BisherModuleButtonHintGültigMitZait = this.ModuleButtonHintGültigMitZait;

                    if (!(ModuleButtonHintGültigMitZait.Wert == BisherModuleButtonHintGültigMitZait.Wert))
                    {
                        if (null != BisherModuleButtonHintGültigMitZait.Wert)
                        {
                            ModuleButtonHintVorherigMitZait =
                                new SictWertMitZait <SictWertMitZait <ModuleButtonHintInterpretiirt> >(
                                    Zait, BisherModuleButtonHintGültigMitZait);
                        }
                    }
                }

                this.ModuleButtonHintGültigMitZait = ModuleButtonHintGültigMitZait;

                InternListeAktivitäät.ListeKürzeBegin(4);
            }
        }