コード例 #1
0
        public void Repräsentiire(SictAusGbsLocationInfo Repräsentiirte)
        {
            string NearestName                  = null;
            string SystemName                   = null;
            string ConstellationName            = null;
            string RegionName                   = null;
            int?   SolarSystemSecurityLevelMili = null;

            try
            {
                if (null != Repräsentiirte)
                {
                    NearestName                  = Repräsentiirte.NearestName;
                    SystemName                   = Repräsentiirte.SolarSystemName;
                    ConstellationName            = Repräsentiirte.ConstellationName;
                    RegionName                   = Repräsentiirte.RegionName;
                    SolarSystemSecurityLevelMili = Repräsentiirte.SolarSystemSecurityLevelMili;
                }
            }
            finally
            {
                TextBoxNearestNameInspekt.Text        = NearestName;
                TextBoxSystemNaameInspekt.Text        = SystemName;
                TextBoxConstellationNaameInspekt.Text = ConstellationName;
                TextBoxRegionNaameInspekt.Text        = RegionName;
                TextBoxSecurityLevelInspekt.Text      = (SolarSystemSecurityLevelMili * 1e-3).ToString();
            }
        }
コード例 #2
0
ファイル: Extension.cs プロジェクト: sUmcont/Optimat.EO
        static public SictAusGbsLocationInfo VonStringMissionLocationNameExtraktLocationInfo(
            string MissionLocationName)
        {
            if (null == MissionLocationName)
            {
                return(null);
            }

            var ListeKomponente = MissionLocationName.Split(new char[] { '-' });

            var KomponentePlanet = ListeKomponente.FirstOrDefault();

            string SolarSystemName = null;

            var KomponentePlanetMitZaalMatch = Regex.Match(KomponentePlanet, VonStringMissionLocationNameKomponentePlanetRegexPattern);

            if (KomponentePlanetMitZaalMatch.Success)
            {
                SolarSystemName = KomponentePlanetMitZaalMatch.Groups[1].Value.Trim();
            }
            else
            {
                SolarSystemName = KomponentePlanet.Trim();
            }

            var Location = new SictAusGbsLocationInfo(
                MissionLocationName.TrimNullable(),
                SolarSystemName);

            return(Location);
        }
コード例 #3
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());
            }
        }
コード例 #4
0
        void GbsEveOnlnAktualisiire()
        {
            var BeginZaitMili = Bib3.Glob.StopwatchZaitMiliSictInt();

            var GbsSctoierelementHaupt = this.GbsSctoierelementHaupt;

            if (null == GbsSctoierelementHaupt)
            {
                return;
            }

            var SctoierelementEveOnlinePräferenz = GbsSctoierelementHaupt.SctoierelementEveOnlinePräferenz;

            SictAusGbsLocationInfo VonOptimatMeldungCurrentLocationLezte = null;
            ShipState VonOptimatMeldungShipZuusctandLezte   = null;
            string    VonOptimatMeldungFittingInfoAgrString = null;

            var ZuEveOnlineGbsUndKonfigMengeMeldungTyp = new List <Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum>();

            ZuEveOnlineGbsUndKonfigMengeMeldungTyp.Add(Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Akzeptanz);

            Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum[] ZuEveOnlineSimuMengeMeldungTyp = null;
            Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum[] ZuEveOnlineMengeMeldungTyp     = null;

            byte[] VonServerMeldungAnwendungSizungIdent = null;
            var    VonOptimatMeldungZuusctandLezte      = this.VonOptimatMeldungZuusctandLezte;

            var ListeOptimatScrit = this.ListeOptimatScrit;

            try
            {
                if (!GbsEveOnlinePräferenzGelaadeNaacGbs)
                {
                    GbsSctoierelementHaupt.EveOnlineAutoKonfigSezeZurük();

                    GbsSctoierelementHaupt.EveOnlinePräferenzLaadeVonDataiPfaadUndBericteNaacGbs();

                    GbsEveOnlinePräferenzGelaadeNaacGbs = true;
                }

                if (null != VonOptimatMeldungZuusctandLezte)
                {
                    VonServerMeldungAnwendungSizungIdent = VonOptimatMeldungZuusctandLezte.SizungIdent;
                }

                var VonServerMeldungAutomaatZuusctandLezteMengeMeldungZuEveOnline =
                    (null == VonOptimatMeldungZuusctandLezte) ? null :
                    ExtractFromOldAssembly.Bib3.Extension.WhereNullable(
                        VonOptimatMeldungZuusctandLezte.MengeMeldungZuEveOnline,
                        (Kandidaat) => null != Kandidaat)
                    .ToArrayNullable();

                {
                    {
                        //	Ale Meldunge entferne welce aus andere Sizung kumen.

                        AnwendungSizungMengeNaacNuzerMeldungZuEveOnline.RemoveAll((Kandidaat) =>
                                                                                  !Bib3.Glob.SequenceEqualPerObjectEquals(Kandidaat.SizungIdent, VonServerMeldungAnwendungSizungIdent));
                    }

                    if (null != VonOptimatMeldungZuusctandLezte)
                    {
                        Bib3.Glob.PropagiireListeRepräsentatioon(
                            VonServerMeldungAutomaatZuusctandLezteMengeMeldungZuEveOnline,
                            AnwendungSizungMengeNaacNuzerMeldungZuEveOnline as IList <SictNaacNuzerMeldungZuEveOnlineSictNuzer>,
                            (Meldung) => new SictNaacNuzerMeldungZuEveOnlineSictNuzer(Meldung, VonServerMeldungAnwendungSizungIdent, null),
                            (KandidaatRepr, Meldung) => SictNaacNuzerMeldungZuEveOnlineSictNuzer.GlaicwertigPerIdent(KandidaatRepr, Meldung),
                            (Repr, Meldung) =>
                        {
                            if (null != Meldung)
                            {
                                Repr.MeldungSeze(Meldung);
                            }
                        },
                            true);
                    }

                    foreach (var Meldung in AnwendungSizungMengeNaacNuzerMeldungZuEveOnline)
                    {
                        Meldung.VonServerNocExistent =
                            null != ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(VonServerMeldungAutomaatZuusctandLezteMengeMeldungZuEveOnline,
                                                                                                 (Kandidaat) => SictNaacNuzerMeldungZuEveOnlineSictNuzer.GlaicwertigPerIdent(Meldung, Kandidaat));
                    }

                    {
                        //	Aus der Menge der nit meer von Server gemeldete Meldunge di ältere Tailmenge entferne welce üwer Anzaal Scranke Max.

                        var TailmengeVonServerNocExistent =
                            AnwendungSizungMengeNaacNuzerMeldungZuEveOnline
                            .Where((Kandidaat) => true == Kandidaat.VonServerNocExistent).ToArray();

                        var TailmengeNocZuErhalte =
                            TailmengeVonServerNocExistent
                            .Concat(
                                AnwendungSizungMengeNaacNuzerMeldungZuEveOnline
                                .Except(TailmengeVonServerNocExistent)
                                .OrderByDescending((Kandidaat) => Kandidaat.AktiivLezteZait ?? int.MinValue)
                                .Take(GbsEveOnlineUIUndConfigMengeMeldungZuErhalteScrankeMax - TailmengeVonServerNocExistent.Length))
                            .ToArray();

                        AnwendungSizungMengeNaacNuzerMeldungZuEveOnline.RemoveAll((Kandidaat) => !TailmengeNocZuErhalte.Contains(Kandidaat));
                    }

                    ZuEveOnlineGbsUndKonfigMengeMeldungTyp.AddRange(
                        AnwendungSizungMengeNaacNuzerMeldungZuEveOnline
                        .Where((Kandidaat) => true == Kandidaat.VonServerNocExistent)
                        .Select((MeldungZuEveOnline) => Optimat.EveOnline.GBS.Glob.SymboolTypBerecneAusNaacNuzerMeldung(MeldungZuEveOnline.Meldung)));
                }

                SctoierelementEveOnlinePräferenz.VonOptimatZuusctandApliziire(VonOptimatMeldungZuusctandLezte);

                ZuEveOnlineSimuMengeMeldungTyp =
                    (false == GbsAingaabeEveOnlnSimuFraigaabe) ? null :
                    new Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum[] {
                    Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum.Warnung
                };

                if (null != VonOptimatMeldungZuusctandLezte)
                {
                    VonOptimatMeldungShipZuusctandLezte   = VonOptimatMeldungZuusctandLezte.ShipZuusctand;
                    VonOptimatMeldungCurrentLocationLezte = VonOptimatMeldungZuusctandLezte.CurrentLocation;
                    VonOptimatMeldungFittingInfoAgrString = VonOptimatMeldungZuusctandLezte.FittingInfoAgrString;
                }
            }
            finally
            {
                ZuEveOnlineMengeMeldungTyp =
                    Bib3.Glob.ListeEnumerableAgregiirt(new IEnumerable <Bib3.FCL.GBS.SictSymboolAkzeptanzFeelerWarnung.SymboolTypSictEnum>[] {
                    ZuEveOnlineSimuMengeMeldungTyp,
                    ZuEveOnlineGbsUndKonfigMengeMeldungTyp
                })
                    .ToArrayNullable();

                /*
                 * 16.04.15
                 * Deactivate UI.
                 *
                 * GbsSctoierelementHaupt.EveOnlineSctaatusInspekt.Repräsentiire(
                 *      Optimat.GBS.Glob.MengeMeldungAkzeptanzFeelerWarnungAgregatioon(ZuEveOnlineMengeMeldungTyp));
                 *
                 * GbsSctoierelementHaupt.EveOnlineGbsUndKonfigSctaatusInspekt.Repräsentiire(
                 *      Optimat.GBS.Glob.MengeMeldungAkzeptanzFeelerWarnungAgregatioon(ZuEveOnlineGbsUndKonfigMengeMeldungTyp));
                 *
                 * GbsSctoierelementHaupt.EveOnlineSimuSctaatusInspekt.Repräsentiire(
                 *      Optimat.GBS.Glob.MengeMeldungAkzeptanzFeelerWarnungAgregatioon(ZuEveOnlineSimuMengeMeldungTyp));
                 */

                GbsSctoierelementHaupt.EveOnlineMengeNaacNuzerMeldung.Repräsentiire(
                    AnwendungSizungMengeNaacNuzerMeldungZuEveOnline,
                    BeginZaitMili);

                GbsSctoierelementHaupt.EveOnlnCharShipStateInspekt.Repräsentiire(VonOptimatMeldungShipZuusctandLezte);

                GbsSctoierelementHaupt.TextBoxEveOnlnShipInspektFitting.Text = VonOptimatMeldungFittingInfoAgrString;

                GbsSctoierelementHaupt.EveOnlineZuusctandInspektCurrentLocation.Repräsentiire(VonOptimatMeldungCurrentLocationLezte);

                GbsEveOnlineMengeMissionAktualisiire(new Optimat.EveOnline.GBS.SictVonBerictNaacGbsRepr());
            }

            var GbsEveOnlnCharShipStateAktualisiireBeginZaitMikro = Bib3.Glob.StopwatchZaitMikroSictInt();
        }