Example #1
0
 public SictVorsclaagNaacZiilProcessWirkungMitInfoKompatibilitäät(
     SictVorsclaagNaacProcessWirkung VorsclaagWirkung,
     SictZuAufgaabeInfoKompatibilitäät Kompatibilitäät)
 {
     this.VorsclaagWirkung = VorsclaagWirkung;
     this.Kompatibilitäät  = Kompatibilitäät;
 }
Example #2
0
        static public AufgaabeParamAndere KonstruktNaacNuzerVorsclaagWirkung(
            SictVorsclaagNaacProcessWirkung VorsclaagWirkung,
            string[] ZwekListeKomponenteZuusaz = null)
        {
            var Aufgaabe = new AufgaabeParamAndere(ZwekListeKomponenteZuusaz: ZwekListeKomponenteZuusaz);

            Aufgaabe.NaacNuzerVorsclaagWirkung = VorsclaagWirkung;

            return(Aufgaabe);
        }
        SictNaacProcessWirkungTailMausErgeebnis MausWirkungFüüreAus(
            SictVorsclaagNaacProcessWirkung Wirkung,
            int ZiilFläceRandScrankeAkzeptanz,
            int ZiilFläceRandScrankeZuufal)
        {
            if (null == Wirkung)
            {
                return(null);
            }

            var WirkungZwekListeKomponente = Wirkung.WirkungZwekListeKomponente;

            {
                //	Temp Verzwaigung für Debug Breakpoint

                if (null != WirkungZwekListeKomponente)
                {
                    if (!WirkungZwekListeKomponente.Any((ZwekKomponente) => ZwekKomponente.ToLower().Contains("create")))
                    {
                    }
                }
            }

            var MausPfaadListeWeegpunktFläceAbhängigVonGbs = Wirkung.MausPfaadListeWeegpunktFläce;
            var MausPfaadMengeFläceZuMaideAbhängigVonGbs   = Wirkung.MausPfaadMengeFläceZuMaide;

            var MausPfaadTasteLinksAin = Wirkung.MausPfaadTasteLinksAin;
            var MausPfaadTasteRectsAin = Wirkung.MausPfaadTasteRectsAin;

            var Ergeebnis = new SictNaacProcessWirkungTailMausErgeebnis();

            if (!(true == MausPfaadTasteLinksAin) && !(true == MausPfaadTasteRectsAin) &&
                null == MausPfaadListeWeegpunktFläceAbhängigVonGbs)
            {
                //	Kaine Wirkung durc Maus angefordert
                Ergeebnis.Erfolg = true;
                return(Ergeebnis);
            }

            if (null == MausPfaadListeWeegpunktFläceAbhängigVonGbs)
            {
                return(Ergeebnis);
            }

            var PfaadEnthaltMeerereWeegpunkt = 1 < MausPfaadListeWeegpunktFläceAbhängigVonGbs.Length;

            var ProcessId = GbsFürZiilprozesWaalWindowProzesId();

            var ZiilWindowHandle = GbsAingaabeWaalZiilProcessMainWindowHandle;

            Bib3.Windows.User32.RECT ZiilWindowClientRect;
            Bib3.Windows.User32.GetClientRect(ZiilWindowHandle, out ZiilWindowClientRect);

            /*
             * 2015.03.03
             *
             *      var EveOnlnSensoWurzelSuuceLezteTask = this.EveOnlnSensoWurzelSuuceLezteTask;
             *
             *      var EveOnlnSensoWurzelSuuceLezteTaskTask = EveOnlnSensoWurzelSuuceLezteTask.Wert;
             *
             *      if (!EveOnlnSensoWurzelSuuceLezteTaskTask.IsCompleted)
             *      {
             *              return Ergeebnis;
             *      }
             *
             *      var GbsSuuceWurzel = EveOnlnSensoWurzelSuuceLezteTaskTask.Result;
             * */

            var MengeFläceAbhängigVonGbsAst =
                Optimat.Glob.ListeErwaitertAlsArray(MausPfaadListeWeegpunktFläceAbhängigVonGbs, MausPfaadMengeFläceZuMaideAbhängigVonGbs);

            /*
             * 2015.03.03
             *
             *      var MengeFläceErgeebnis =
             *              Optimat.EveOnline.SictProzesAuswertZuusctand.ListeFläceBerecneAusGbs(
             *              MengeFläceAbhängigVonGbsAst,
             *              ProcessId,
             *              GbsSuuceWurzel);
             * */

            var MengeFläceErgeebnis =
                MengeFläceAbhängigVonGbsAst
                .SelectNullable((Fläce) => new KeyValuePair <InProcessGbsFläceRectekOrto, OrtogoonInt?>(
                                    Fläce, Fläce.FläceTailSctaatisc));

            var MausPfaadListeWeegpunktFläceErgeebnis =
                MausPfaadListeWeegpunktFläceAbhängigVonGbs
                .Select((FläceAbhängigVonGbs) => MengeFläceErgeebnis.FirstOrDefault((Kandidaat) => Kandidaat.Key == FläceAbhängigVonGbs).Value)
                .Select((FläceNulbar) => FläceNulbar ?? OrtogoonInt.Leer)
                .ToArray();

            var MausPfaadMengeFläceZuMaideErgeebnis =
                (null == MausPfaadMengeFläceZuMaideAbhängigVonGbs) ? null :
                MausPfaadMengeFläceZuMaideAbhängigVonGbs
                .Select((FläceAbhängigVonGbs) => MengeFläceErgeebnis.FirstOrDefault((Kandidaat) => Kandidaat.Key == FläceAbhängigVonGbs).Value)
                .Select((FläceNulbar) => FläceNulbar ?? OrtogoonInt.Leer)
                .ToArray();

            Ergeebnis.MausPfaadListeWeegpunktFläceErgeebnis = MausPfaadListeWeegpunktFläceErgeebnis;
            Ergeebnis.MausPfaadMengeFläceZuMaideErgeebnis   = MausPfaadMengeFläceZuMaideErgeebnis;

            var MausPfaadListeWeegpunktFläceMiinusFläceZuMaide =
                MausPfaadListeWeegpunktFläceErgeebnis
                .Select((WeegpunktFläce) =>
            {
                var MengeTailfläce = new OrtogoonInt[] { WeegpunktFläce };

                if (null != MausPfaadMengeFläceZuMaideErgeebnis)
                {
                    foreach (var FläceZuMaide in MausPfaadMengeFläceZuMaideErgeebnis)
                    {
                        if (null == FläceZuMaide)
                        {
                            continue;
                        }

                        MengeTailfläce =
                            Bib3.Glob.ArrayAusListeFeldGeflact(
                                MengeTailfläce
                                .Select((VorherFläce) =>
                        {
                            if (null == VorherFläce)
                            {
                                return(null);
                            }

                            return(Optimat.EveOnline.Extension.FläceMiinusFläce(VorherFläce, FläceZuMaide));
                        })
                                .Where((t) => null != t)
                                .ToArray());
                    }
                }

                return(MengeTailfläce);
            })
                .ToArray();

            var RandDiferenz = ZiilFläceRandScrankeZuufal - ZiilFläceRandScrankeAkzeptanz;

            var MausPfaadListeWeegpunktFläceMiinusFläceZuMaideMiinusRand =
                MausPfaadListeWeegpunktFläceMiinusFläceZuMaide
                .Select((MausPfaadWeegpunktFläceMiinusFläceZuMaide) =>
            {
                if (null == MausPfaadWeegpunktFläceMiinusFläceZuMaide)
                {
                    return(null);
                }

                return
                (MausPfaadWeegpunktFläceMiinusFläceZuMaide
                 .Where((Fläce) => null != Fläce)
                 .Select((Fläce) => Fläce.Vergröösert(
                             -ZiilFläceRandScrankeAkzeptanz * 2,
                             -ZiilFläceRandScrankeAkzeptanz * 2))
                 .Where((KandidaatFläce) => 0 < KandidaatFläce.Grööse.A && 0 < KandidaatFläce.Grööse.B)
                 .Select((Fläce) => Fläce.VergröösertBescrankt(-RandDiferenz, -RandDiferenz, 0, 0))
                 .ToArray());
            })
                .ToArray();

            var MausPfaadBeginMengeFläce = MausPfaadListeWeegpunktFläceMiinusFläceZuMaideMiinusRand.FirstOrDefault();

            var MausPfaadEndeMengeFläce =
                MausPfaadListeWeegpunktFläceMiinusFläceZuMaideMiinusRand.LastOrDefault();

            var MausPfaadBeginFläce =
                MausPfaadBeginMengeFläce.OrderByNullable((Fläce) => Fläce.Betraag()).LastOrDefaultNullable();

            var MausPfaadEndeFläce =
                MausPfaadEndeMengeFläce.OrderByNullable((Fläce) => Fläce.Betraag()).LastOrDefaultNullable();

            if (null == MausPfaadBeginFläce ||
                (null == MausPfaadEndeFläce && PfaadEnthaltMeerereWeegpunkt))
            {
                return(Ergeebnis);
            }

            var MausPfaadBeginPunktNulbar = ZuufäligePunktAusFläce(MausPfaadBeginFläce);
            var MausPfaadEndePunktNulbar  = ZuufäligePunktAusFläce(MausPfaadEndeFläce);

            if (!PfaadEnthaltMeerereWeegpunkt)
            {
                MausPfaadEndePunktNulbar = MausPfaadBeginPunktNulbar;
            }

            Ergeebnis.MausPfaadBeginPunkt = MausPfaadBeginPunktNulbar;
            Ergeebnis.MausPfaadEndePunkt  = MausPfaadEndePunktNulbar;

            if (!MausPfaadBeginPunktNulbar.HasValue ||
                !MausPfaadEndePunktNulbar.HasValue)
            {
                return(Ergeebnis);
            }

            var MausPfaadBeginPunkt = MausPfaadBeginPunktNulbar.Value;
            var MausPfaadEndePunkt  = MausPfaadEndePunktNulbar.Value;

            var MengePunktZuPrüüfeAufScnitMitZiilWindowClientRect = new List <Vektor2DInt>();

            MengePunktZuPrüüfeAufScnitMitZiilWindowClientRect.Add(MausPfaadBeginPunkt);
            MengePunktZuPrüüfeAufScnitMitZiilWindowClientRect.Add(MausPfaadEndePunkt);

            var MausPfaadInZiilWindowClientRect =
                MengePunktZuPrüüfeAufScnitMitZiilWindowClientRect
                .All((MausPfaadWeegpunkt) =>
                     0 <= MausPfaadWeegpunkt.A &&
                     0 <= MausPfaadWeegpunkt.B &&
                     MausPfaadWeegpunkt.A <= ZiilWindowClientRect.Width &&
                     MausPfaadWeegpunkt.B <= ZiilWindowClientRect.Height);

            Ergeebnis.MausPfaadInZiilWindowClientRect = MausPfaadInZiilWindowClientRect;

            if (!MausPfaadInZiilWindowClientRect)
            {
                return(Ergeebnis);
            }

            var MausPfaadBeginPunktAlsWindowsPoint = AlsSystemWindowsPoint(MausPfaadBeginPunkt);
            var MausPfaadEndePunktAlsWindowsPoint  = AlsSystemWindowsPoint(MausPfaadEndePunkt);

            if (PfaadEnthaltMeerereWeegpunkt &&
                (true == MausPfaadTasteLinksAin || true == MausPfaadTasteRectsAin))
            {
                Bib3.Windows.User32.DragGebascdelsMitSleep20140211(
                    ZiilWindowHandle,
                    MausPfaadBeginPunktAlsWindowsPoint,
                    MausPfaadEndePunktAlsWindowsPoint,
                    true == MausPfaadTasteRectsAin,
                    MouseWartezaitMili);
            }
            else
            {
                if (true == MausPfaadTasteLinksAin)
                {
                    WirkungMouseClick(ZiilWindowHandle, (int)MausPfaadEndePunkt.A, (int)MausPfaadEndePunkt.B, false);
                }
                else
                {
                    if (true == MausPfaadTasteRectsAin)
                    {
                        WirkungMouseClick(ZiilWindowHandle, (int)MausPfaadEndePunkt.A, (int)MausPfaadEndePunkt.B, true);
                    }
                    else
                    {
                        WirkungMouseMove(ZiilWindowHandle, (int)MausPfaadEndePunkt.A, (int)MausPfaadEndePunkt.B);
                    }
                }
            }

            Ergeebnis.Erfolg = true;

            return(Ergeebnis);
        }
Example #4
0
        public IEnumerable <SictVorsclaagNaacProcessWirkung> FürNuzerVorsclaagWirkungBerecne()
        {
            var NuzerZaitMili = this.NuzerZaitMili;

            var ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame = this.ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame;

            var VorsclaagListeWirkung = new List <SictVorsclaagNaacProcessWirkung>();

            if (null != ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame)
            {
                foreach (var AufgaabePfaadZuBlatMitGrupePrioNaame in ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame)
                {
                    var AufgaabeBlat = AufgaabePfaadZuBlatMitGrupePrioNaame.Key.LastOrDefault();

                    if (null == AufgaabeBlat)
                    {
                        continue;
                    }

                    var AufgaabeBlatParam = AufgaabeBlat.AufgaabeParam;

                    if (null == AufgaabeBlatParam)
                    {
                        continue;
                    }

                    var NaacNuzerVorsclaagWirkung = AufgaabeBlatParam.NaacNuzerVorsclaagWirkungVirt();

                    if (null != NaacNuzerVorsclaagWirkung)
                    {
                        var WirkungZwekListeKomponente = new List <string>();

                        {
                            //	Berecnung WirkungZwekListeKomponente

                            foreach (var AufgaabePfaadAst in AufgaabePfaadZuBlatMitGrupePrioNaame.Key)
                            {
                                if (null == AufgaabePfaadAst)
                                {
                                    continue;
                                }

                                var AufgaabePfaadAstParam = AufgaabePfaadAst.AufgaabeParam;

                                if (null == AufgaabePfaadAstParam)
                                {
                                    continue;
                                }

                                var AufgaabePfaadAstParamZwekListeKomponente = AufgaabePfaadAstParam.ZwekListeKomponenteBerecne();

                                if (null != AufgaabePfaadAstParamZwekListeKomponente)
                                {
                                    WirkungZwekListeKomponente.AddRange(AufgaabePfaadAstParamZwekListeKomponente);
                                }
                            }
                        }

                        var WirkungZwekListeKomponenteFiltert =
                            WirkungZwekListeKomponente.Distinct().ToArray();

                        var NaacNuzerVorsclaagWirkungAbbild =
                            new SictVorsclaagNaacProcessWirkung(
                                AufgaabeBlat.Bezaicner,
                                NuzerZaitMili,
                                NaacNuzerVorsclaagWirkung.BedingungMengeWirkungErfolgraic,
                                NaacNuzerVorsclaagWirkung.VonVonZiilProcessLeeseBisVonZiilProcessLeeseWartezaitMili,
                                NaacNuzerVorsclaagWirkung.VonWirkungBisVonZiilProcessLeeseWartezaitMili,
                                WirkungZwekListeKomponenteFiltert.ToArray(),
                                NaacNuzerVorsclaagWirkung.MengeWirkungKey,
                                NaacNuzerVorsclaagWirkung.MausPfaadListeWeegpunktFläce,
                                NaacNuzerVorsclaagWirkung.MausPfaadMengeFläceZuMaide,
                                NaacNuzerVorsclaagWirkung.MausPfaadTasteLinksAin,
                                NaacNuzerVorsclaagWirkung.MausPfaadTasteRectsAin);

                        VorsclaagListeWirkung.Add(NaacNuzerVorsclaagWirkungAbbild);
                    }
                }
            }

            if (null == ListeZuZaitNaacNuzerVorsclaagNaacProcessWirkung)
            {
                ListeZuZaitNaacNuzerVorsclaagNaacProcessWirkung = new List <SictWertMitZait <SictVorsclaagNaacProcessWirkung> >();
            }

            foreach (var VorsclaagWirkung in VorsclaagListeWirkung)
            {
                Bib3.Glob.InListeOrdnetFüügeAin(
                    ListeZuZaitNaacNuzerVorsclaagNaacProcessWirkung,
                    (Element) => Element.Zait,
                    new SictWertMitZait <Optimat.EveOnline.SictVorsclaagNaacProcessWirkung>(
                        NuzerZaitMili, VorsclaagWirkung));
            }

            ListeZuZaitNaacNuzerVorsclaagNaacProcessWirkung.ListeKürzeBegin(10);

            return(VorsclaagListeWirkung);
        }
Example #5
0
 static public AufgaabeParamAndere KonstruktNaacNuzerVorsclaagWirkung(
     SictVorsclaagNaacProcessWirkung VorsclaagWirkung,
     string ZwekKomponenteZuusaz)
 {
     return(KonstruktNaacNuzerVorsclaagWirkung(VorsclaagWirkung, new string[] { ZwekKomponenteZuusaz }));
 }