Example #1
0
        public void Present(Optimat.EveOnline.CustomBot.InputSnapshot Presented)
        {
            Int64?            Time      = null;
            string            SourceUri = null;
            bool              ContainsSensorSnapshot        = false;
            int?              SensorProcessId               = null;
            Int64?            SensorMeasurementBeginTime    = null;
            Int64?            SensorMeasurementDurationMili = null;
            VonSensorikMesung SensorMeasurement             = null;

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

                Time      = Presented.Time;
                SourceUri = Presented.SourceUri;

                var Snapshot = Presented.Snapshot;

                VonProcessMesung <VonSensorikMesung> MemoryMeasurement = null;

                if (null != Snapshot)
                {
                    MemoryMeasurement = Snapshot.MemoryMeasurement;
                }

                if (null != MemoryMeasurement)
                {
                    SensorMeasurement = MemoryMeasurement.Wert;
                }

                if (null != MemoryMeasurement)
                {
                    SensorProcessId               = MemoryMeasurement.ProcessId;
                    SensorMeasurementBeginTime    = MemoryMeasurement.BeginZait;
                    SensorMeasurementDurationMili = MemoryMeasurement.Dauer;
                }

                ContainsSensorSnapshot = null != SensorMeasurement;
            }
            finally
            {
                this.Presented = Presented;

                TimeInspect.Präsentiire(Time);
                TextBoxSourceUriInspect.Text             = SourceUri;
                CheckBoxContainsSensorSnapshot.IsChecked = ContainsSensorSnapshot;

                TextBoxSensorProcessId.Text = SensorProcessId.ToString();
                SensorMeasurementBeginTimeInspect.Präsentiire(SensorMeasurementBeginTime);
                SensorMeasurementDurationMiliInspect.Text = SensorMeasurementDurationMili.ToString();
                SensorMeasurementInspect.Present(SensorMeasurement);
            }
        }
Example #2
0
 public ToCustomBotSnapshot(
     Int64 Time,
     VonProcessMesung <VonSensorikMesung> MemoryMeasurement = null,
     VonProcessMesung <WindowMesung> WindowMeasurement      = null)
 {
     this.Time = Time;
     this.MemoryMeasurement = MemoryMeasurement;
     this.WindowMeasurement = WindowMeasurement;
 }
Example #3
0
 public SictZuOptimatScritInfo(
     VonProcessMesung <VonSensorikMesung> VonProcessMesung,
     SictVonOptimatMeldungZuusctand VonOptimatZuusctand,
     SictNaacProcessWirkung[] VorsclaagListeNaacProcessWirkung,
     SictNaacProcessWirkung[] MengeNaacProcessWirkungErgeebnis,
     SictDataiIdentUndSuuceHinwais WindowClientRasterIdentUndSuuceHinwais)
 {
     this.VonProcessMesung    = VonProcessMesung;
     this.VonOptimatZuusctand = VonOptimatZuusctand;
     this.VorsclaagListeNaacProcessWirkung       = VorsclaagListeNaacProcessWirkung;
     this.MengeNaacProcessWirkungErgeebnis       = MengeNaacProcessWirkungErgeebnis;
     this.WindowClientRasterIdentUndSuuceHinwais = WindowClientRasterIdentUndSuuceHinwais;
 }
Example #4
0
        void AuswaalZaitpunktReprAktualisiire()
        {
            var Auswert            = this.Auswert;
            var AuswaalPunktNulbar = ZaitlaisteAuswaalGlobaal.AuswaalPunkt;

            SictOptimatScrit OptimatScrit         = null;
            SictOptimatScrit OptimatScritFolgende = null;

            VonProcessMesung <VonSensorikMesung> OptimatScritVonProcessLeese         = null;
            VonProcessMesung <VonSensorikMesung> OptimatScritFolgendeVonProcessLeese = null;
            SictVonOptimatMeldungZuusctand       OptimatScritAutomaatZuusctand       = null;

            SictNaacProcessWirkung[] OptimatScritNaacProcessListeWirkung = null;

            SictAusGbsLocationInfo OptimatScritAutomaatZuusctandLocation = null;
            ShipState OptimatScritAutomaatZuusctandCharShip             = null;
            string    OptimatScritAutomaatZuusctandFittingInfoAgrString = null;

            Int64?NuzerScnacpscusZaitMili = null;

            var    OptimatScritZaitaintailungListeKomponenteMitBetraag = new List <KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int> >();
            string AuswaalZaitpunktEveOnlineClientClockSictString      = null;

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

                if (!AuswaalPunktNulbar.HasValue)
                {
                    return;
                }

                var ListeScnapscusZait =
                    Auswert.ZuNuzerZaitMiliListeScritInfoNääxte(
                        AuswaalPunktNulbar.Value, 1, 1, true);

                if (null != ListeScnapscusZait)
                {
                    OptimatScrit         = ListeScnapscusZait.FirstOrDefault((Kandidaat) => 0 == Kandidaat.Value).Key;
                    OptimatScritFolgende = ListeScnapscusZait.FirstOrDefault((Kandidaat) => 1 == Kandidaat.Value).Key;
                }

                if (null != OptimatScrit)
                {
                    NuzerScnacpscusZaitMili = OptimatScrit.NuzerZait;

                    OptimatScritVonProcessLeese         = OptimatScrit.VonProcessMesung;
                    OptimatScritAutomaatZuusctand       = OptimatScrit.NaacNuzerBerictAutomaatZuusctand as SictVonOptimatMeldungZuusctand;
                    OptimatScritNaacProcessListeWirkung = OptimatScrit.NaacProcessListeWirkung;
                }

                if (null != OptimatScritFolgende)
                {
                    OptimatScritFolgendeVonProcessLeese = OptimatScritFolgende.VonProcessMesung;
                }

                if (NuzerScnacpscusZaitMili.HasValue)
                {
                    var EveOnlineClientClockSekunde = Auswert.ZuNuzerZaitMiliBerecneEveOnlineClientClockSekunde(NuzerScnacpscusZaitMili.Value);

                    if (EveOnlineClientClockSekunde.HasValue)
                    {
                        AuswaalZaitpunktEveOnlineClientClockSictString = EveClientClockSictStringSekundeBerecneAusInTaagSekunde(EveOnlineClientClockSekunde.Value);
                    }
                }

                if (null != OptimatScritAutomaatZuusctand)
                {
                    OptimatScritAutomaatZuusctandLocation             = OptimatScritAutomaatZuusctand.CurrentLocation;
                    OptimatScritAutomaatZuusctandCharShip             = OptimatScritAutomaatZuusctand.ShipZuusctand;
                    OptimatScritAutomaatZuusctandFittingInfoAgrString = OptimatScritAutomaatZuusctand.FittingInfoAgrString;
                }

                if (null != OptimatScritVonProcessLeese)
                {
                    OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                        new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                            new Bib3.FCL.GBS.SictDiagramProportioonKomponente("read from process", OptimatScritZaitaintailungVonProcessLeeseBrush),
                            (int)(OptimatScritVonProcessLeese.Dauer)));

                    if (null != OptimatScritNaacProcessListeWirkung)
                    {
                        var OptimatScritNaacProcessListeWirkungFrüühesteBeginZait =
                            OptimatScritNaacProcessListeWirkung.DefaultIfEmpty()
                            .Min((Wirkung) => ((null == Wirkung) ? null : Wirkung.BeginZaitMili) ?? Int64.MaxValue);

                        var OptimatScritNaacProcessListeWirkungScpäätesteEndeZait =
                            OptimatScritNaacProcessListeWirkung.DefaultIfEmpty()
                            .Min((Wirkung) => ((null == Wirkung) ? null : Wirkung.EndeZaitMili) ?? Int64.MinValue);

                        var OptimatScritVonVonProcessLeeseBisNaacProcessListeWirkungDauer =
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait -
                            (OptimatScritVonProcessLeese.EndeZait);

                        var OptimatScritNaacProcessListeWirkungDauer =
                            OptimatScritNaacProcessListeWirkungScpäätesteEndeZait -
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait;

                        if (OptimatScritVonProcessLeese.EndeZait <= OptimatScritNaacProcessListeWirkungFrüühesteBeginZait &&
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait <= OptimatScritNaacProcessListeWirkungScpäätesteEndeZait)
                        {
                            OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                    new Bib3.FCL.GBS.SictDiagramProportioonKomponente("from (read from process).end to input.begin",
                                                                                      OptimatScritZaitaintailungVonProcessLeeseBisNaacProcessWirkungBrush),
                                    (int)(OptimatScritVonVonProcessLeeseBisNaacProcessListeWirkungDauer)));

                            OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                    new Bib3.FCL.GBS.SictDiagramProportioonKomponente("input to process", OptimatScritZaitaintailungNaacProcessWirkungBrush),
                                    (int)(OptimatScritNaacProcessListeWirkungDauer)));

                            if (null != OptimatScritFolgendeVonProcessLeese)
                            {
                                var VonNaacProcessInputBisNääxteScritVonProcessLeeseDauer =
                                    OptimatScritFolgendeVonProcessLeese.BeginZait - OptimatScritNaacProcessListeWirkungScpäätesteEndeZait;

                                if (0 <= VonNaacProcessInputBisNääxteScritVonProcessLeeseDauer)
                                {
                                    OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                        new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                            new Bib3.FCL.GBS.SictDiagramProportioonKomponente("from input.end to (next step.(read from process)).begin", OptimatScritZaitaintailungVonNaacProcessWirkungBisVonProcessLeeseBrush),
                                            (int)(VonNaacProcessInputBisNääxteScritVonProcessLeeseDauer)));
                                }
                            }
                        }
                    }
                }
            }
            finally
            {
                foreach (var Erwaiterung in ListeErwaiterung)
                {
                    if (null == Erwaiterung)
                    {
                        continue;
                    }

                    System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback((t) => Erwaiterung.AuswaalZaitpunktSeze(AuswaalPunktNulbar)));
                }

                DictZuAnwendungZaitMiliScnapcusAutomaatZuusctandSictJson.BescrankeEntferneLängerNitVerwendete(10);

                ScnapcusReprWindowClientRasterSezeFürNuzerZaitMili(NuzerScnacpscusZaitMili);

                AuswaalZaitpunktCharLocationInspekt.Repräsentiire(OptimatScritAutomaatZuusctandLocation);
                AuswaalZaitpunktShipInspekt.Repräsentiire(OptimatScritAutomaatZuusctandCharShip);
                TextBoxAuswaalZaitpunktFittingInspekt.Text = OptimatScritAutomaatZuusctandFittingInfoAgrString;

                TextBoxScnapcusAuswaalZaitpunktInspekt.Text = Optimat.Glob.SictStringTausenderGetrent(NuzerScnacpscusZaitMili, " ");
                TextBoxScnapcusAuswaalZaitpunktInspektEveClientClock.Text = AuswaalZaitpunktEveOnlineClientClockSictString;

                AuswaalZaitpunktOptimatScritZaitaintailung.Repräsentiire(OptimatScritZaitaintailungListeKomponenteMitBetraag.ToArray());
            }
        }