static public AufgaabeParamAndere KonstruktMissionStartConversation( SictMissionZuusctand MissionStartConversation) { var Aufgaabe = new AufgaabeParamAndere(MissionStartConversation: MissionStartConversation); return(Aufgaabe); }
static public AufgaabeParamAndere AufgaabeMissionObjectiveMese( SictMissionZuusctand MissionObjectiveMese) { var Aufgaabe = new AufgaabeParamAndere(MissionObjectiveMese: MissionObjectiveMese); return(Aufgaabe); }
void AuswaalZaitraumFürMission( MenuItem MenuItem, SictMissionZaitraumTypSictEnum ZaitraumTyp) { SictMissionZuusctand Mission = null; try { if (null == MenuItem) { return; } var MissionReprObservable = MenuItem.Tag as SictObservable <SictMissionReprInDataGrid>; var MissionRepr = MissionReprObservable.Wert; if (null == MissionRepr) { return; } Mission = MissionRepr.MissionBerecne(); } finally { AuswaalZaitraumFürMission(Mission, ZaitraumTyp); } }
void AuswaalZaitraumFürMission( SictMissionZuusctand Mission, SictMissionZaitraumTypSictEnum ZaitraumTyp) { if (!IsInitialized) { return; } Int64?AuswaalZaitraumBegin = null; Int64?AuswaalZaitraumEnde = null; try { SictMissionZuusctand.FürZaitraumTypBerecneBeginUndEnde( Mission, ZaitraumTyp, out AuswaalZaitraumBegin, out AuswaalZaitraumEnde); } finally { RaiseEvent(new SictAuswaalZaitraumEventArgs(AuswaalZaitraumEvent, this, AuswaalZaitraumBegin, AuswaalZaitraumEnde)); } }
static public bool ReprPasendZuMission( SictObservable <SictMissionReprInDataGrid> ReprObservable, SictMissionZuusctand Mission) { if (null == ReprObservable) { return(false); } var Repr = ReprObservable.Wert; if (null == Repr) { return(false); } var ReprMission = Repr.MissionBerecne(); if (Mission == ReprMission) { return(true); } if (null == Mission) { return(false); } if (null == ReprMission) { return(false); } return(ReprMission.Ident == Mission.Ident); }
public SictMissionReprInDataGridAusMissionZuusctand( Optimat.EveOnline.GBS.SictMissionReprInDataGridParam SictParam, SictMissionZuusctand Mission) : base(SictParam) { this.Mission = Mission; }
static bool PrädikaatMissionFertigNict(SictMissionZuusctand Mission) { if (null == Mission) { return(false); } return(!PrädikaatMissionFertig(Mission)); }
static bool PrädikaatMissionFertig(SictMissionZuusctand Mission) { if (null == Mission) { return(false); } var TailFürNuzer = Mission.TailFürNuzer; if (null == TailFürNuzer) { return(false); } return(TailFürNuzer.EndeZaitMili.HasValue); }
static public string MissionSictZwekKomponente(SictMissionZuusctand Mission) { if (null == Mission) { return(null); } var TailFürNuzer = Mission.TailFürNuzer; if (null == TailFürNuzer) { return(null); } return((TailFürNuzer.Titel ?? "") + "," + (TailFürNuzer.AgentName ?? "")); }
static bool PrädikaatMissionAkzeptiirtUndNictBeendet(SictMissionZuusctand Mission) { if (null == Mission) { return(false); } var TailFürNuzer = Mission.TailFürNuzer; if (null == TailFürNuzer) { return(false); } return(TailFürNuzer.IstAkzeptiirtUndNictBeendet()); }
static public bool AgentEntryPasendZuMission( VonSensor.LobbyAgentEntry AgentEntry, SictMissionZuusctand Mission) { if (null == AgentEntry) { return(false); } if (null == Mission) { return(false); } var MissionTailFürNuzer = Mission.TailFürNuzer; return(AgentEntryPasendZuMission(AgentEntry, MissionTailFürNuzer)); }
static public bool?ConstraintFittingSatisfied(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.ConstraintFittingSatisfied;
static public string FürMissionFittingBezaicner(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.FürMissionFittingBezaicner;
static public string Titel(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.Titel;
static public MissionLocation AgentLocation(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.AgentLocation;
static public Int64?EndeZaitMili(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.EndeZaitMili;
static public Int64?SictungFrühesteZaitMili(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.SictungFrühesteZaitMili;
static public AufgaabeParamAndere KonstruktMissionDecline(SictMissionZuusctand MissionDecline) { return(new AufgaabeParamAndere(MissionDecline: MissionDecline)); }
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; }
static public AufgaabeParamAndere KonstruktMissionAccept(SictMissionZuusctand MissionAccept) { return(new AufgaabeParamAndere(MissionAccept: MissionAccept)); }
static public IEnumerable <SictMissionLocationPfaadZuusctand> ListePfaad(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.ListeLocationPfaad ?.Select(LocationPfaad => LocationPfaad as SictMissionLocationPfaadZuusctand);
static public Int64?Ident(this SictMissionZuusctand Mission) => Mission?.TailFürNuzer?.Ident;
/// <summary> /// /// </summary> /// <param name="AutomaatZuusctand"></param> /// <param name="StrategikonInstanz"></param> /// <param name="InStrategikonAtom"></param> /// <param name="MengeObjektGrupeMesungZaitScrankeMin"> /// Früheste Zait zu der dii Mesung der Objekt Grupe zum ausscliise der Existenz noc zu bearbaitender Objekte begine darf.</param> public void Aktualisiire( SictAutomatZuusctand AutomaatZuusctand, SictMissionStrategikonInstanz StrategikonInstanz, SictMissionStrategikonInRaumAtom InStrategikonAtom, Int64?MengeObjektGrupeMesungZaitScrankeMin) { this.MengeObjektGrupeMesungZaitScrankeMin = MengeObjektGrupeMesungZaitScrankeMin; var AtomZwisceergeebnis = this; if (null == AutomaatZuusctand) { return; } if (null == StrategikonInstanz) { return; } var ZaitMili = AutomaatZuusctand.NuzerZaitMili; var RaumMengeObjektCargoDurcsuuct = StrategikonInstanz.MengeObjektCargoDurcsuuct; var OverviewUndTarget = (null == AutomaatZuusctand) ? null : AutomaatZuusctand.OverviewUndTarget; var MengeInRaumObjekt = (null == OverviewUndTarget) ? null : OverviewUndTarget.MengeOverViewObjekt; Int64?ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait = null; SictOverviewObjektGrupeEnum[] ZuMengeObjektGrupeMesungVolsctändigFeelend = null; var AtomZwisceergeebnisErfolg = false; Int64?MesungMengeObjektGrupeZaitScrankeMinPlusBeruhigungszait = null; try { if (null == InStrategikonAtom) { AtomZwisceergeebnisErfolg = true; return; } if (null == MengeInRaumObjekt) { return; } var InStrategikonAtomMengeObjektFilter = InStrategikonAtom.MengeObjektFilter; var InStrategikonAtomMengeObjektFilterGrupe = (null == InStrategikonAtomMengeObjektFilter) ? null : Bib3.Glob.ArrayAusListeFeldGeflact( InStrategikonAtomMengeObjektFilter.Select((ObjektFilter) => { var BedingungTypeUndName = ObjektFilter.BedingungTypeUndName; if (null == BedingungTypeUndName) { return(null); } return(BedingungTypeUndName.MengeGrupeZuDurcsuuce); }) .Where((Kandidaat) => null != Kandidaat)) .Distinct() .ToArray(); var MengeObjektGefiltert = MengeInRaumObjektGefiltert(MengeInRaumObjekt, InStrategikonAtomMengeObjektFilter); var MengeObjektGefiltertNocSictbar = (null == MengeObjektGefiltert) ? null : MengeObjektGefiltert.Where((OverViewObjekt) => ZaitMili <= OverViewObjekt.SictungLezteZait).ToArray(); var BedingungObjektExistentErfült = false; SictOverViewObjektZuusctand[] MengeObjektCargoZuDurcsuuce = null; SictOverViewObjektZuusctand[] MengeObjektZuZersctööre = null; KeyValuePair <SictOverViewObjektZuusctand, Int64>?ObjektAnzufliigeUndDistanceScranke = null; var FilterCargoZuDurcsuuce = new Func <SictOverViewObjektZuusctand, bool>((InRaumObjekt) => SictMissionZuusctand.FilterCargoZuDurcsuuce(InRaumObjekt, RaumMengeObjektCargoDurcsuuct)); if (!(true == InStrategikonAtom.BedingungObjektExistent) || !MengeObjektGefiltertNocSictbar.IsNullOrEmpty()) { BedingungObjektExistentErfült = true; } var InStrategikonAtomZuObjektDistanzAinzuscteleScrankeMax = InStrategikonAtom.ZuObjektDistanzAinzuscteleScrankeMax; if (null != MengeObjektGefiltert) { if (true == InStrategikonAtom.ObjektDurcsuuceCargo) { MengeObjektCargoZuDurcsuuce = MengeObjektGefiltert.Where(FilterCargoZuDurcsuuce).ToArray(); } if (true == InStrategikonAtom.ObjektZersctööre) { MengeObjektZuZersctööre = MengeObjektGefiltert; } if (InStrategikonAtomZuObjektDistanzAinzuscteleScrankeMax.HasValue) { var MengeObjektGefiltertDistanceNitPasend = MengeObjektGefiltert.Where((InRaumObjekt) => !(InRaumObjekt.SictungLezteDistanceScrankeMaxScpezOverview <= InStrategikonAtomZuObjektDistanzAinzuscteleScrankeMax.Value)).ToArray(); if (0 < MengeObjektGefiltertDistanceNitPasend.Length) { ObjektAnzufliigeUndDistanceScranke = new KeyValuePair <SictOverViewObjektZuusctand, Int64>( MengeObjektGefiltertDistanceNitPasend.FirstOrDefault(), InStrategikonAtomZuObjektDistanzAinzuscteleScrankeMax.Value); } } } var AtomZwisceergeebnisMengeAufgaabeObjektZuBearbaite = new List <SictAufgaabeParam>(); if (ObjektAnzufliigeUndDistanceScranke.HasValue) { if (null != ObjektAnzufliigeUndDistanceScranke.Value.Key) { AtomZwisceergeebnisMengeAufgaabeObjektZuBearbaite.Add( AufgaabeParamAndere.AufgaabeDistanceAinzusctele( ObjektAnzufliigeUndDistanceScranke.Value.Key, null, ObjektAnzufliigeUndDistanceScranke.Value.Value)); } } if (null != MengeObjektCargoZuDurcsuuce) { AtomZwisceergeebnisMengeAufgaabeObjektZuBearbaite.AddRange( MengeObjektCargoZuDurcsuuce.Select((InRaumObjekt) => AufgaabeParamAndere.AufgaabeAktioonCargoDurcsuuce(InRaumObjekt))); } if (null != MengeObjektZuZersctööre) { AtomZwisceergeebnisMengeAufgaabeObjektZuBearbaite.AddRange( MengeObjektZuZersctööre.Select((InRaumObjekt) => new AufgaabeParamDestrukt(InRaumObjekt))); } AtomZwisceergeebnis.MengeAufgaabeObjektZuBearbaite = AtomZwisceergeebnisMengeAufgaabeObjektZuBearbaite.ToArray(); if (MengeObjektCargoZuDurcsuuce.IsNullOrEmpty()) { if (!AtomZwisceergeebnis.CargoDurcsuuceErfolgZait.HasValue) { AtomZwisceergeebnis.CargoDurcsuuceErfolgZait = ZaitMili; } } else { AtomZwisceergeebnis.CargoDurcsuuceErfolgZait = null; } if (MengeObjektZuZersctööre.IsNullOrEmpty()) { if (!AtomZwisceergeebnis.ZersctööreErfolgZait.HasValue) { AtomZwisceergeebnis.ZersctööreErfolgZait = ZaitMili; } } else { AtomZwisceergeebnis.ZersctööreErfolgZait = null; } if (ObjektAnzufliigeUndDistanceScranke.HasValue) { AtomZwisceergeebnis.AnfliigeErfolgZait = null; } else { if (!AtomZwisceergeebnis.AnfliigeErfolgZait.HasValue) { AtomZwisceergeebnis.AnfliigeErfolgZait = ZaitMili; } } if (BedingungObjektExistentErfült) { if (!AtomZwisceergeebnis.ObjektExistentErfolgZait.HasValue) { AtomZwisceergeebnis.ObjektExistentErfolgZait = ZaitMili; } } else { AtomZwisceergeebnis.ObjektExistentErfolgZait = null; } var ScritBedingungErfültBeruhigungszaitMili = InStrategikonAtom.ScritBedingungErfültBeruhigungszaitMili ?? 1000; var AtomZwisceergeebnisMengeScpezielErfültZaitNulbar = new Int64?[] { AtomZwisceergeebnis.CargoDurcsuuceErfolgZait, AtomZwisceergeebnis.ZersctööreErfolgZait, AtomZwisceergeebnis.AnfliigeErfolgZait, AtomZwisceergeebnis.ObjektExistentErfolgZait }; if (AtomZwisceergeebnisMengeScpezielErfültZaitNulbar.Any((ScpezielErfültZaitNulbar) => !ScpezielErfültZaitNulbar.HasValue)) { // Aine der Scpezialisiirte Aufgaabe isc noc nit erfült. return; } ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait = Bib3.Glob.Max(AtomZwisceergeebnisMengeScpezielErfültZaitNulbar) ?? 0; var MesungMengeObjektGrupeZaitScrankeMin = Bib3.Glob.Max(ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait, MengeObjektGrupeMesungZaitScrankeMin) ?? 0; MesungMengeObjektGrupeZaitScrankeMinPlusBeruhigungszait = MesungMengeObjektGrupeZaitScrankeMin + ScritBedingungErfültBeruhigungszaitMili; ZuMengeObjektGrupeMesungVolsctändigFeelend = OverviewUndTarget.MengeObjektGrupeUntermengeOoneOverviewViewportFolgeVolsctändigNaacZait( InStrategikonAtomMengeObjektFilterGrupe, MesungMengeObjektGrupeZaitScrankeMin); if (!ZuMengeObjektGrupeMesungVolsctändigFeelend.IsNullOrEmpty()) { // Verzwaigung Für Debug Haltepunkt } if (MesungMengeObjektGrupeZaitScrankeMinPlusBeruhigungszait < ZaitMili) { /* * 2014.06.12 * * Korektur: Versciibe diise Blok naac finally um überscraibe des vorherige Wert mit null zu ermööglice fals try Blok scon vorher unterbroce werd. * * AtomZwisceergeebnis.MengeOverviewObjektGrupeMesungZuErsctele = ZuMengeObjektGrupeMesungVolsctändigFeelend; * * // if (ZuMengeObjektGrupeMesungVolsctändigFeelend.Length < 1) * if (Optimat.Glob.NullOderLeer(ZuMengeObjektGrupeMesungVolsctändigFeelend)) * { * AtomZwisceergeebnisErfolg = true; * } * */ } } finally { AtomZwisceergeebnis.MengeOverviewObjektGrupeMesungZuErsctele = ZuMengeObjektGrupeMesungVolsctändigFeelend; /* * 2014.07.10 Korektur: zuusäzlice Bedingung: * MesungMengeObjektGrupeZaitScrankeMinPlusBeruhigungszait < ZaitMili * * // if (ZuMengeObjektGrupeMesungVolsctändigFeelend.Length < 1) * if (Optimat.Glob.NullOderLeer(ZuMengeObjektGrupeMesungVolsctändigFeelend)) * { * AtomZwisceergeebnisErfolg = true; * } * */ if (MesungMengeObjektGrupeZaitScrankeMinPlusBeruhigungszait < ZaitMili) { if (ZuMengeObjektGrupeMesungVolsctändigFeelend.IsNullOrEmpty()) { AtomZwisceergeebnisErfolg = true; } } AtomZwisceergeebnis.ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait = ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait; if (ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait.HasValue) { AtomZwisceergeebnis.ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZaitLezte = ErfolgTailVorMengeOverviewObjektGrupeMesungZuErscteleZait; } if (AtomZwisceergeebnisErfolg) { AtomZwisceergeebnis.EntscaidungErfolgLezteZait = ZaitMili; } else { AtomZwisceergeebnis.EntscaidungErfolgLezteZait = null; } AtomZwisceergeebnis.AktualisiireTailEntscaidungErfolgFrühesteZait(); } }
public SictMissionReprInDataGridAusMissionZuusctand( SictMissionZuusctand Mission) : this(null, Mission) { }
ZuStationMengeAgentMitMissionInfoLezteBerecne( SictAgentIdentSystemStationName StationIdent, Int64?GültigkaitZaitScrankeMin = null) { if (null == StationIdent) { return(null); } var MengeMission = this.MengeMission; var MengeZuStationMengeAgent = this.MengeZuStationMengeAgent; var MengeZuAgentMissionInfoLezte = this.MengeZuAgentMissionInfoLezte; if (null == MengeZuStationMengeAgent) { return(null); } var ZuStationMengeAgent = Optimat.Glob.TAD(MengeZuStationMengeAgent, StationIdent); if (null == ZuStationMengeAgent) { return(null); } var MengeAgentMitMissionInfoLezte = new Dictionary <VonSensor.LobbyAgentEntry, SictMissionZuusctand>(); foreach (var ZuZaitAgentEntry in ZuStationMengeAgent.Values) { if (ZuZaitAgentEntry.Zait < GültigkaitZaitScrankeMin) { continue; } var AgentEntry = ZuZaitAgentEntry.Wert; SictMissionZuusctand ZuAgentEntryMissionBerüksictigt = null; try { // Lezte Mission zu gewäälte AgentEntry suuce var MengeKandidaatMissionMitZait = new List <SictWertMitZait <SictMissionZuusctand> >(); if (null != MengeMission) { foreach (var KandidaatMission in MengeMission) { if (null == KandidaatMission) { continue; } if (!AgentEntryPasendZuMission(AgentEntry, KandidaatMission)) { continue; } var ZuAgentEntryMissionInfoLezte = KandidaatMission.MissionInfoZuZaitLezteBerecne(); if (null == ZuAgentEntryMissionInfoLezte.Wert) { continue; } if (ZuAgentEntryMissionInfoLezte.Zait < GültigkaitZaitScrankeMin) { continue; } MengeKandidaatMissionMitZait.Add(new SictWertMitZait <SictMissionZuusctand>(ZuAgentEntryMissionInfoLezte.Zait, KandidaatMission)); } } ZuAgentEntryMissionBerüksictigt = MengeKandidaatMissionMitZait .OrderBy((KandidaatMissionMitZait) => KandidaatMissionMitZait.Zait).LastOrDefault().Wert; } finally { MengeAgentMitMissionInfoLezte[AgentEntry] = ZuAgentEntryMissionBerüksictigt; } } return(MengeAgentMitMissionInfoLezte); }
static public string ObjektSictZwekKomponente(SictMissionZuusctand Mission) { return("Mission[" + (MissionSictZwekKomponente(Mission) ?? "") + "]"); }