public void AktiivLezteSeze( Int64 Zait, OrtogoonInt InWindowClientFläce) { AktiivLezteZait = Zait; AktiivLezteInWindowClientFläce = InWindowClientFläce; }
static public SictVorsclaagNaacProcessWirkung VorsclaagWirkungMausKlikRecz( OrtogoonInt MausZiilFläce, InProcessGbsFläceRectekOrto[] MausPfaadMengeFläceZuMaide = null) { return(VorsclaagWirkungMausFläce( new InProcessGbsFläceRectekOrto(MausZiilFläce), false, true, MausPfaadMengeFläceZuMaide)); }
public MotionParamMouseRegion( UIElement UIElement, OrtogoonInt? RegionReplacement = null) { this.UIElement = UIElement; this.RegionReplacement = RegionReplacement; }
override public void AingangScnapscusAlsFortsaz(ScnapscusType Scnapscus) { if (null != Scnapscus) { ScnapscusLezteFläce = Scnapscus.InGbsFläce; } }
override public bool ScnapscusAlsFortsazZuuläsigBerecne(ScnapscusType Scnapscus) { if (null == ScnapscusLezteFläce) { // Laage noc nit noc nit fesctgeleegt. return(true); } if (null == Scnapscus) { return(false); } var ScnapscusInGbsFläce = Scnapscus.InGbsFläce; if (null == ScnapscusInGbsFläce) { return(false); } var Scnitfläce = OrtogoonInt.Scnitfläce(ScnapscusLezteFläce, ScnapscusInGbsFläce); if (null == Scnitfläce) { return(false); } if (Scnitfläce.Betraag() < ScnapscusLezteFläce.Betraag() / 2) { return(false); } return(true); }
static OrtogoonInt[] MengeFläceRandUmFläce( OrtogoonInt FläceZuUmrande, int RandGrööse) { if (null == FläceZuUmrande) { return(null); } var RandListeTailFläce = new List <OrtogoonInt>(); for (int SaiteIndex = 0; SaiteIndex < 4; SaiteIndex++) { var AxeIndex = SaiteIndex % 2; var AxeNictIndex = (AxeIndex + 1) % 2; var RictungVorzaice = ((SaiteIndex / 2) % 2) * 2 - 1; var RandTailFläceMiteDistanzVonFläceMite = new Vektor2DInt( (AxeIndex * (FläceZuUmrande.Grööse.A + RandGrööse) / 2) * RictungVorzaice, (AxeNictIndex * (FläceZuUmrande.Grööse.B + RandGrööse) / 2) * RictungVorzaice); var RandTailFläceMite = FläceZuUmrande.ZentrumLaage + RandTailFläceMiteDistanzVonFläceMite; var RandTailFläce = OrtogoonInt.AusPunktZentrumUndGrööse(RandTailFläceMite, new Vektor2DInt( RandGrööse * (1 + AxeNictIndex * 2), RandGrööse * (1 + AxeIndex * 2))); RandListeTailFläce.Add(RandTailFläce); } return(RandListeTailFläce.ToArray()); }
public SictFläceRectekOrtoAbhängigVonGbsAst( OrtogoonInt FläceTailSctaatisc, GbsElement GbsElement) : base(FläceTailSctaatisc) { this.GbsElement = GbsElement; }
public WindowMesung( Raster2D <UInt32> ClientRectRaster, OrtogoonInt ClientRect, string WindowTitle = null) { this.ClientRectRaster = ClientRectRaster; this.ClientRect = ClientRect; this.WindowTitle = WindowTitle; }
public SictGbsAstOklusioonKombi( SictGbsAstOklusioonInfo Okludiirende, GbsElement Okludiirte, OrtogoonInt Scnitfläce, Int64 NaacOklusioonRestFläceGröösteKwadraatSaitelänge) { this.Okludiirende = Okludiirende; this.Okludiirte = Okludiirte; this.Scnitfläce = Scnitfläce; this.NaacOklusioonRestFläceGröösteKwadraatSaitelänge = NaacOklusioonRestFläceGröösteKwadraatSaitelänge; }
public UIElement( ObjectIdInt64 Base, OrtogoonInt Region = default(OrtogoonInt), int?InTreeIndex = null) : base(Base) { this.Region = Region; this.InTreeIndex = InTreeIndex; }
static public UIElement CopyWithRegionSubstituted( this UIElement UIElement, OrtogoonInt RegionSubstitute) { if (null == UIElement) { return(null); } return(new UIElement(UIElement, RegionSubstitute, UIElement.InTreeIndex)); }
public GbsElement( ObjektMitIdentInt64 ZuKopiire, OrtogoonInt InGbsFläce = default(OrtogoonInt), int?InGbsBaumAstIndex = null) : base(ZuKopiire) { // TempDebugIdent = TempDebugIdentFabrik.IdentBerecne(); this.InGbsFläce = InGbsFläce; this.InGbsBaumAstIndex = InGbsBaumAstIndex; }
static public GbsElement FläceProjeziirtAufGbsAst( OrtogoonInt Fläce, GbsElement Ident) { if (null == Fläce || null == Ident) { return(null); } return(new GbsElement( new ObjektMitIdentInt64(Ident.Ident), Fläce, Ident.InGbsBaumAstIndex )); }
override public bool MenuPfaadBeginMööglicFürListeMenuBerecne(IEnumerable <SictWertMitZait <VonSensor.Menu> > ListeMenuMitBeginZait) { // Bedingung: Scnitmenge (Menu.Fläce, TargetRepr.Fläce) nict Leer var ListeMenuMitBeginZaitFrüheste = ListeMenuMitBeginZait.FirstOrDefault(); if (null == ListeMenuMitBeginZaitFrüheste.Wert) { return(false); } var MenuFläce = ListeMenuMitBeginZaitFrüheste.Wert.InGbsFläce; if (null == MenuFläce) { return(false); } var TargetReprLezteMitZaitNulbar = this.TargetReprLezteMitZait; if (!TargetReprLezteMitZaitNulbar.HasValue) { return(false); } var TargetReprLezte = TargetReprLezteMitZaitNulbar.Value.Wert; if (null == TargetReprLezte) { return(false); } var TargetReprLezteFläce = TargetReprLezte.InGbsFläce; if (null == TargetReprLezteFläce) { return(false); } if (OrtogoonInt.Scnitfläce(TargetReprLezteFläce, MenuFläce).IsLeer) { return(false); } return(MenuPfaadFortsazMööglicBerecne()); }
static public SictFläceRectekOrtoAbhängigVonGbsAst FläceRectekOrtoAbhängigVonGbsAstBerecne( GbsElement GbsObjekt, GbsElement GbsBaum) { if (null == GbsObjekt) { return(null); } OrtogoonInt FläceTailSctaatisc = GbsObjekt.InGbsFläce; /* * 2015.03.12 * * var GbsObjektBezaicner = (Int64?)GbsObjekt.Ident; * * InGbsPfaad NaacGbsAstPfaad = null; * * if (GbsObjektBezaicner.HasValue && * null != GbsBaum) * { * GbsAstInfo[] PfaadListeAst; * * NaacGbsAstPfaad = GbsBaum.GbsPfaadBerecneNaacAstMitHerkunftAdrese(GbsObjektBezaicner.Value, out PfaadListeAst); * * if (null != NaacGbsAstPfaad && * null != PfaadListeAst) * { * var GbsObjektGbsAst = Bib3.Extension.LastOrDefaultNullable(PfaadListeAst) as SictGbsAstInfoSictAuswert; * * var GbsObjektGbsAstLaage = * PfaadListeAst * .Select((Ast) => Ast.Laage ?? new SictVektor2DSingle(0, 0)) * .Aggregate(new SictVektor2DSingle(0, 0), (a, b) => a + b) * .AlsVektor2DInt(); * * FläceTailSctaatisc = * FläceTailSctaatisc.Versezt(-GbsObjektGbsAstLaage); * } * } * * return new SictFläceRectekOrtoAbhängigVonGbsAst(FläceTailSctaatisc, NaacGbsAstPfaad); * */ return(new SictFläceRectekOrtoAbhängigVonGbsAst(FläceTailSctaatisc, GbsObjekt)); }
public OrtogoonInt?ToggleFläceBerecne() { var SictbarLezteZait = this.SictbarLezteZait; if (!(true == SictbarLezteZait.AingangLezte.HasValue)) { return(null); } var LaageLezte = ListeLaageLezteBerecne(); if (!LaageLezte.HasValue) { return(null); } return(OrtogoonInt.AusPunktZentrumUndGrööse(LaageLezte.Value, new Vektor2DInt(20, 20))); }
static public bool MenuWurzelHinraicendGlaicwertigFürFortsaz( OrtogoonInt O0, OrtogoonInt O1) { if (O0 == O1) { return(true); } if (null == O0 || null == O1) { return(false); } return(O0 == O1); return ((O0.ZentrumLaage - O1.ZentrumLaage).BetraagQuadriirt < 1 && (O0.Grööse - O1.Grööse).BetraagQuadriirt < 1); }
Vektor2DInt?ZuufäligePunktAusFläce( OrtogoonInt Fläce) { if (null == Fläce) { return(null); } var Grööse = Fläce.Grööse; if (Grööse.A < 1 || Grööse.B < 1) { return(null); } var ZuufalA = Zuufal.Next(); var ZuufalB = Zuufal.Next(); return(Fläce.PunktMin + new Vektor2DInt(ZuufalA % Grööse.A, ZuufalB % Grööse.B)); }
static public SictAufgaabeParamZerleegungErgeebnis ZerleegeScrollNaacUnte( ISictAutomatZuusctand AutomaatZuusctand, VonSensor.Scroll AusScnapscusScroll) { var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true); if (null == AusScnapscusScroll) { return(AufgaabeParamZerleegungErgeebnis); } var AusScnapscusScrollScrollHandleGrenze = AusScnapscusScroll.ScrollHandleGrenze; var AusScnapscusScrollScrollHandle = AusScnapscusScroll.ScrollHandle; var AusScnapscusScrollScrollHandleGrenzeFläce = AusScnapscusScrollScrollHandleGrenze.InGbsFläceNullable() ?? OrtogoonInt.Leer; var AusScnapscusScrollScrollHandleFläce = AusScnapscusScrollScrollHandle.InGbsFläceNullable() ?? OrtogoonInt.Leer; if (AusScnapscusScrollScrollHandleGrenzeFläce.IsLeer || AusScnapscusScrollScrollHandleFläce.IsLeer) { // wen kain ScrollHandle vorhande dan isc nit genüügend Inhalt zum Scrole vorhande, d.h. Viewport raict beraits bis Top -> Erfolg. return(AufgaabeParamZerleegungErgeebnis); } var FürScrolKlikFläce = OrtogoonInt.AusPunktZentrumUndGrööse( new Vektor2DInt( AusScnapscusScrollScrollHandleGrenzeFläce.ZentrumLaage.A, AusScnapscusScrollScrollHandleFläce.ZentrumLaage.B + AusScnapscusScrollScrollHandleFläce.Grööse.B / 2 + 3) + AufgaabeParamScrollToTop.StatScrollHandleVersaz, new Vektor2DInt(AusScnapscusScrollScrollHandleFläce.Grööse.A, 6)); var KlikZiilFäce = SictGbsWindowZuusctand.FläceProjeziirtAufGbsAst(FürScrolKlikFläce, AusScnapscusScrollScrollHandleGrenze); AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktMausPfaad( SictAufgaabeParamMausPfaad.KonstruktMausKlikLinx(KlikZiilFäce))); return(AufgaabeParamZerleegungErgeebnis); }
public SictNaacNuzerMeldungZuEveOnline( Int64 Ident, Int64?BeginZait = null, OrtogoonInt AktiivLezteInWindowClientFläce = default(OrtogoonInt), SictNaacNuzerMeldungZuEveOnlineSeverity?Severity = null, SictNaacNuzerMeldungZuEveOnlineCause GeneralCause = null, SictNaacNuzerMeldungZuEveOnlineCause UndockPreventedCause = null, SictNaacNuzerMeldungZuEveOnlineCause DockForcedCause = null) { this.Ident = Ident; this.BeginZait = BeginZait; this.AktiivLezteZait = BeginZait; this.AktiivLezteInWindowClientFläce = AktiivLezteInWindowClientFläce; this.Severity = Severity; this.GeneralCause = GeneralCause; this.UndockPreventedCause = UndockPreventedCause; this.DockForcedCause = DockForcedCause; }
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); }
void Aktualisiire( Int64 Zait, VonSensor.Window ScnapscusWindow, SictGbsAgregatioonAusTransitionInfo ZuusazInfo) { GbsElement HeaderFläceOoneSctoierelement = null; try { var VorherScnapscusWindow = this.ScnapscusWindowLezte; { var ScnapscusListHaupt = (null == ScnapscusWindow) ? null : ScnapscusWindow.ListHaupt(); var ListHaupt = this.ListHaupt; GbsListGroupedZuusctand.ObjektKonstruktOderAingangScnapscus( ref ListHaupt, Zait, ScnapscusListHaupt, ZuusazInfo); this.ListHaupt = ListHaupt; } if (null != ScnapscusWindow) { var ScnapscusWindowInGbsFläce = ScnapscusWindow.InGbsFläce; { if (null != VorherScnapscusWindow) { if (1 < Optimat.EveOnline.Extension.DiferenzLaageUndGrööseSume(VorherScnapscusWindow.InGbsFläce, ScnapscusWindow.InGbsFläce)) { // Laage des Window wurde geändert HeaderButtonMinimizeSictungLezte = null; HeaderButtonCloseSictungLezte = null; } } if (null != ScnapscusWindowInGbsFläce) { // Berecnung HeaderFläceOoneSctoierelement var AnnaameHeaderFläceHöhe = 10; var AnnaameHeaderSctoierelementLinxBraite = 30; // Scon bis zu viir Sctoierelemente auf recter Saite beobactet worden (Inventory) var AnnaameHeaderSctoierelementReczBraite = 68; HeaderFläceOoneSctoierelement = ScnapscusWindow.SictFläceGesezt( OrtogoonInt.AusPunktZentrumUndGrööse( ScnapscusWindowInGbsFläce.ZentrumLaage + new Vektor2DInt(0, (AnnaameHeaderFläceHöhe - ScnapscusWindowInGbsFläce.Grööse.B) / 2), new Vektor2DInt( ScnapscusWindowInGbsFläce.Grööse.A - AnnaameHeaderSctoierelementLinxBraite - AnnaameHeaderSctoierelementReczBraite, AnnaameHeaderFläceHöhe))); } var ScnapscusWindowHeaderButtonMinimize = ScnapscusWindow.HeaderButtonMinimize; var ScnapscusWindowHeaderButtonClose = ScnapscusWindow.HeaderButtonClose; if (null != ScnapscusWindowHeaderButtonMinimize) { HeaderButtonMinimizeSictungLezte = ScnapscusWindowHeaderButtonMinimize; } if (null != ScnapscusWindowHeaderButtonClose) { HeaderButtonCloseSictungLezte = ScnapscusWindowHeaderButtonClose; } } } } finally { this.HeaderFläceOoneSctoierelement = HeaderFläceOoneSctoierelement; } }
static public SictVorsclaagNaacProcessWirkung VorsclaagWirkungMouseMove( Int64?Ident, OrtogoonInt MausZiilFläce) { return(VorsclaagWirkungMouseMove(Ident, new InProcessGbsFläceRectekOrto(MausZiilFläce))); }
static public SictVorsclaagNaacProcessWirkung VorsclaagWirkungMouseMove( OrtogoonInt MausZiilFläce) { return(VorsclaagWirkungMouseMove(null, MausZiilFläce)); }
public InProcessGbsFläceRectekOrto( OrtogoonInt FläceTailSctaatisc) { this.FläceTailSctaatisc = FläceTailSctaatisc; }
public void Aktualisiire( SictAutomatZuusctand AutomaatZuusctand, VonSensorikMesung AusScnapscusAuswertungZuusctand) { if (null == AutomaatZuusctand) { return; } var AgregatioonAusTransitionInfo = this.AgregatioonAusTransitionInfo; var ZaitMili = AutomaatZuusctand.NuzerZaitMili; var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget; /* * 2015.03.12 * * Ersaz durc ToCustomBotSnapshot * var GbsBaum = AutomaatZuusctand.VonNuzerMeldungZuusctandTailGbsBaum; * */ var GbsBaum = AutomaatZuusctand.ListeScnapscusLezteAuswertungErgeebnisNaacSimu; var MengeWindow = this.MengeWindow; var ListeAbovemainMessageAuswertMitZait = this.ListeAbovemainMessageAuswertMitZait; var ScnapscusWindowOverview = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.WindowOverview; var NeocomClockZaitKalenderModuloTaagStringUndMinMax = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.NeocomClockZaitKalenderModuloTaagMinMax; var ScnapscusWindowOverviewZaileInputFookusExklusiiv = (null == ScnapscusWindowOverview) ? null : ScnapscusWindowOverview.ZaileMitInputFookusExklusiiv(); var ScnapscusMengeWindow = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.MengeWindowBerecne(); var ScnapscusMengeWindowSictbar = ExtractFromOldAssembly.Bib3.Extension.WhereNullable(ScnapscusMengeWindow, (Kandidaat) => null == Kandidaat ? false : (true == Kandidaat.Sictbar)) .ToArrayNullable(); var ScnapscusMengeMenu = (null == AusScnapscusAuswertungZuusctand) ? null : AusScnapscusAuswertungZuusctand.MengeMenu; if (null == AgregatioonAusTransitionInfo) { this.AgregatioonAusTransitionInfo = AgregatioonAusTransitionInfo = new SictGbsAgregatioonAusTransitionInfo(); } AgregatioonAusTransitionInfo.Agregiire(AutomaatZuusctand); if (null == MengeWindow) { this.MengeWindow = MengeWindow = new List <SictGbsWindowZuusctand>(); } if (NeocomClockZaitKalenderModuloTaagStringUndMinMax.HasValue) { this.NeocomClockZaitModuloTaagMinMax = NeocomClockZaitKalenderModuloTaagStringUndMinMax.Value; } var ListeAusGbsAbovemainMessageMitZait = AutomaatZuusctand.ListeAusGbsAbovemainMessageMitZait(); var ListeAusGbsAbovemainMessageMitZaitLezte = (null == ListeAusGbsAbovemainMessageMitZait) ? null : ListeAusGbsAbovemainMessageMitZait.LastOrDefault(); if (null != AusScnapscusAuswertungZuusctand) { if (null != AusScnapscusAuswertungZuusctand.InfoPanelLocationInfo) { InfoPanelLocationInfoSictbarLezteZaitMili = ZaitMili; } if (null != AusScnapscusAuswertungZuusctand.InfoPanelRoute) { InfoPanelRouteSictbarLezteZaitMili = ZaitMili; } if (null != AusScnapscusAuswertungZuusctand.InfoPanelMissions) { InfoPanelMissionsSictbarLezteZaitMili = ZaitMili; } } SictGbsWindowZuusctand.ZuZaitAingangMengeObjektScnapscus( ZaitMili, ScnapscusMengeWindowSictbar, MengeWindow, false, AgregatioonAusTransitionInfo); { // Window entferne welce zu lange nit meer geöfnet sind. MengeWindow.RemoveAll((Kandidaat) => !Kandidaat.InLezteScnapscusSictbar()); } { var MengeWindowGrupe = MengeWindow.GroupBy((Kandidaat) => Kandidaat.GbsAstHerkunftAdrese).ToArray(); if (MengeWindowGrupe.Any((Grupe) => 1 < Grupe.Count())) { // Temp für Debug Verzwaigung } } { // Berecnung ListeAbovemainMessageAuswertMitZait if (null != ListeAusGbsAbovemainMessageMitZaitLezte) { var ListeAusGbsAbovemainMessageLezte = ListeAusGbsAbovemainMessageMitZaitLezte.Wert; var ListeAusGbsAbovemainMessageLezteText = ListeAusGbsAbovemainMessageLezte.LabelText; if (null != ListeAusGbsAbovemainMessageLezteText) { if (null != ListeAusGbsAbovemainMessageLezte) { if (null == ListeAbovemainMessageAuswertMitZait) { this.ListeAbovemainMessageAuswertMitZait = ListeAbovemainMessageAuswertMitZait = new List <SictVerlaufBeginUndEndeRef <SictMessageStringAuswert> >(); } SictVerlaufBeginUndEndeRef <SictMessageStringAuswert> AbovemainMessageAuswertMitZait = ListeAbovemainMessageAuswertMitZait .LastOrDefault((Kandidaat) => Kandidaat.BeginZait == ListeAusGbsAbovemainMessageMitZaitLezte.BeginZait); if (null == AbovemainMessageAuswertMitZait) { var AbovemainMessageAuswert = new SictMessageStringAuswert(ListeAusGbsAbovemainMessageLezteText); AbovemainMessageAuswertMitZait = new SictVerlaufBeginUndEndeRef <SictMessageStringAuswert>( ListeAusGbsAbovemainMessageMitZaitLezte.BeginZait, ListeAusGbsAbovemainMessageMitZaitLezte.EndeZait, AbovemainMessageAuswert); AbovemainMessageAuswert.Berecne(); ListeAbovemainMessageAuswertMitZait.Add(AbovemainMessageAuswertMitZait); if (AbovemainMessageAuswert.ClusterShutdownZaitDistanz.HasValue) { AbovemainMessageClusterShutdownLezte = AbovemainMessageAuswertMitZait; } } } } } } ListeAbovemainMessageDronesLezteAuswertMitZait = ListeAbovemainMessageAuswertMitZait .LastOrDefaultNullable((Kandidaat) => null == Kandidaat.Wert ? false : (Kandidaat.Wert.DroneBandwithAvailableMili.HasValue || Kandidaat.Wert.DroneCommandRange.HasValue || Kandidaat.Wert.DroneControlCountScrankeMax.HasValue)); ListeAbovemainMessageDronesLezteAlter = ZaitMili - (null == ListeAbovemainMessageDronesLezteAuswertMitZait ? (Int64?)null : (ListeAbovemainMessageDronesLezteAuswertMitZait.EndeZait ?? ZaitMili)); if (null != ListeAbovemainMessageAuswertMitZait) { foreach (var AbovemainMessageAuswertMitZait in ListeAbovemainMessageAuswertMitZait.Reversed().Take(4)) { if (AbovemainMessageAuswertMitZait.EndeZait.HasValue) { continue; } var AbovemainMessageMitZait = ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable( ListeAusGbsAbovemainMessageMitZait, (Kandidaat) => Kandidaat.BeginZait == AbovemainMessageAuswertMitZait.BeginZait); if (null == AbovemainMessageMitZait) { AbovemainMessageAuswertMitZait.EndeZait = ZaitMili; } else { AbovemainMessageAuswertMitZait.EndeZait = AbovemainMessageMitZait.EndeZait; } } { // Naacricte welce älter sind als Viir minuute entferne var ListeAbovemainMessageAuswertMitZaitZuErhalteZaitScranke = ZaitMili - 1000 * 60 * 4; ListeAbovemainMessageAuswertMitZait .RemoveAll((Kandidaat) => Kandidaat.BeginZait < ListeAbovemainMessageAuswertMitZaitZuErhalteZaitScranke); } } { // Berecnung ListeGbsMenu // Menge Menu werd geordnet für den Fal das in aine Scnapscus meerere Menu auftauce // 2014.02.27 Beobactung: lezte Menu erhält 0=InGbsZIndex -> noieste isc am waiteste vorne (okludiirt andere) var ScnapscusListeMenu = (null == ScnapscusMengeMenu) ? null : ScnapscusMengeMenu /* * 2015.09.01 * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value. * * .OrderByDescending((ScnapscusMenu) => ScnapscusMenu.InGbsBaumAstIndex ?? -1) */ .OrderBy((ScnapscusMenu) => ScnapscusMenu.InGbsBaumAstIndex ?? -1) .ToArray(); var ScnapscusListeMenuFrüüheste = ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable(ScnapscusListeMenu); var ScnapscusListeMenuFrüühesteListeEntry = (null == ScnapscusListeMenuFrüüheste) ? null : ScnapscusListeMenuFrüüheste.ListeEntry; var MenuKaskaadeLezte = ExtractFromOldAssembly.Bib3.Extension.LastOrDefaultNullable(ListeMenuKaskaade); if (null == ScnapscusListeMenuFrüühesteListeEntry) { if (null != MenuKaskaadeLezte) { MenuKaskaadeLezte.AingangScnapscusLeer(ZaitMili); } MenuKaskaadeLezte = null; } else { GbsElement MenuWurzelAnnaameInitiaal = null; var MengeAufgaabeZuusctand = AutomaatZuusctand.MengeAufgaabeZuusctand; var ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame = AutomaatZuusctand.ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame .ToArrayNullable(); if (null != ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame) { foreach (var ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame in ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame) { if (null == ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame.Key) { continue; } foreach (var AufgaabeAst in ScritLezteWirkungAufgaabePfaadZuBlatMitGrupePrioNaame.Key) { var AufgaabeAstAufgaabeParam = AufgaabeAst.AufgaabeParam as AufgaabeParamAndere; if (null == AufgaabeAstAufgaabeParam) { continue; } var AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt = AufgaabeAstAufgaabeParam.MenuWurzelGbsObjekt; if (null == AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt) { continue; } var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar = (Int64?)AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt.Ident; if (!AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar.HasValue) { continue; } var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdent = AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdentNulbar.Value; var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt.InGbsFläce; if (null == AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce) { continue; } var AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläceVergröösertFürTestÜberscnaidung = AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläce.Vergröösert(40, 10); var ScnapscusAufgaabeMenuWurzelTarget = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt as ShipUiTarget; var ScnapscusAufgaabeMenuWurzelOverviewRow = (GbsElement)(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt as VonSensor.OverviewZaile); bool AnnaameMenuPasendZuAusAufgaabeMenuWurzel = true; var ScnapscusLezteMenuWurzelGbsObjektTarget = AusScnapscusAuswertungZuusctand.TargetEnthaltendGbsAstBerecne(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt); var ScnapscusLezteMenuWurzelGbsObjektOverviewRow = (null == ScnapscusWindowOverview) ? null : ScnapscusWindowOverview.OverviewRowEnthaltendGbsAstBerecne(AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt); { /* * 2014.04.22 Beobactung Probleem: * In vorherige Scrit für OverviewZaile geöfnete Menu werd waiterverwendet als Menu welces für ain in Inventory angezaigte Objekt ersctelt werde solte. * In Folge werd der falsce Cargo Container Abandoned. * * Daher Ainfüürung zuusäzlice Bedingung: * Menu früheste Fläce mus überscnaide mit MenuWurzelGbsObjektAbbild.Fläce * */ // Bedingung: Fläce von ScnapscusAufgaabeMenuWurzelTarget und Menu müsen sic scnaide if (OrtogoonInt.Scnitfläce( AufgaabeAstAufgaabeParamMenuWurzelGbsObjektFläceVergröösertFürTestÜberscnaidung, ScnapscusListeMenuFrüüheste.InGbsFläce).IsLeer) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } } { /* * 2014.04.22 Beobactung Probleem: * In vorherige Scrit für OverviewZaile geöfnete Menu werd waiterverwendet als Menu welces für ain in Inventory angezaigte Objekt ersctelt werde solte. * In Folge werd der falsce Cargo Container Abandoned. * * Daher 2014.04.29 Ainfüürung zuusäzlice Bedingung: * Fals MenuWurzelGbsObjekt in aine Window enthalte isc mus diises das vorderste Window sain. * */ if (null == GbsBaum || null == MengeWindow) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } else { SictGbsWindowZuusctand MenuWurzelGbsObjektWindow = null; foreach (var KandidaatGbsWindow in MengeWindow) { var GbsWindowHerkunftAdrese = KandidaatGbsWindow.GbsAstHerkunftAdrese; if (!GbsWindowHerkunftAdrese.HasValue) { continue; } var GbsWindowAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(GbsWindowHerkunftAdrese.Value); if (null == GbsWindowAst) { continue; } if (null != GbsWindowAst.SuuceFlacMengeGbsAstFrühesteMitIdent(AufgaabeAstAufgaabeParamMenuWurzelGbsObjektIdent)) { MenuWurzelGbsObjektWindow = KandidaatGbsWindow; } } if (null != MenuWurzelGbsObjektWindow) { /* * 2015.09.01 * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value. * if (MengeWindow.Any((GbsWindow) => GbsWindow.ZIndex.HasValue && GbsWindow.ZIndex < (MenuWurzelGbsObjektWindow.ZIndex ?? int.MaxValue))) */ if (MengeWindow.Any((GbsWindow) => GbsWindow.ZIndex.HasValue && GbsWindow.ZIndex > (MenuWurzelGbsObjektWindow.ZIndex ?? int.MaxValue))) { // Ain anderes Window befindet sic waiter vorne als das Window welces MenuWurzelGbsObjekt enthalt. AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } } } } if (null != ScnapscusAufgaabeMenuWurzelTarget) { if (null == ScnapscusLezteMenuWurzelGbsObjektTarget) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } else { if (null == ScnapscusAufgaabeMenuWurzelTarget.InGbsFläce || null == ScnapscusLezteMenuWurzelGbsObjektTarget.InGbsFläce) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } else { var BeweegungSctreke = ScnapscusLezteMenuWurzelGbsObjektTarget.InGbsFläce.ZentrumLaage - ScnapscusAufgaabeMenuWurzelTarget.InGbsFläce.ZentrumLaage; if (!(BeweegungSctreke.Betraag < 4)) { // Target solte zwisce deen zwai Scnapscus nit beweegt haabe. AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } } var KandidaatMenuEntryIndikatorTarget = ScnapscusListeMenuFrüühesteListeEntry.MenuEntryTargetUnLock(); if (null == KandidaatMenuEntryIndikatorTarget) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } } } if (null != ScnapscusAufgaabeMenuWurzelOverviewRow) { if (null == ScnapscusLezteMenuWurzelGbsObjektOverviewRow) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } else { if (!(ObjektMitIdentInt64.Identisc(ScnapscusLezteMenuWurzelGbsObjektOverviewRow, ScnapscusWindowOverviewZaileInputFookusExklusiiv))) { AnnaameMenuPasendZuAusAufgaabeMenuWurzel = false; } } } if (!AnnaameMenuPasendZuAusAufgaabeMenuWurzel) { continue; } MenuWurzelAnnaameInitiaal = AufgaabeAstAufgaabeParamMenuWurzelGbsObjekt; } } } Action MenuKaskaadeKonstrukt = delegate() { MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand( ZaitMili, ScritLezteWirkungMengeAufgaabePfaadZuBlatMitGrupePrioNaame, MenuWurzelAnnaameInitiaal, ScnapscusListeMenu); ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte); }; if (null == MenuKaskaadeLezte) { /* * 2015.01.16 * * MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand(ZaitMili, MenuWurzelAnnaameInitiaal, ScnapscusListeMenu); * ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte); * */ MenuKaskaadeKonstrukt(); } else { if (!MenuKaskaadeLezte.AingangScnapscus(ZaitMili, ScnapscusListeMenu)) { /* * 2015.01.16 * * MenuKaskaadeLezte = new SictGbsMenuKaskaadeZuusctand(ZaitMili, MenuWurzelAnnaameInitiaal, ScnapscusListeMenu); * ListeMenuKaskaade.Enqueue(MenuKaskaadeLezte); * */ MenuKaskaadeKonstrukt(); } } } ListeMenuKaskaade.ListeKürzeBegin(30); var ListeMenu = (null == MenuKaskaadeLezte) ? null : MenuKaskaadeLezte.ListeMenu; var AusButtonListSurroundingsMenu = ExtractFromOldAssembly.Bib3.Extension.FirstOrDefaultNullable( ListeMenu, ButtonListSurroundingsMenuPrädikaatTailSctaatisc); if (null != AusButtonListSurroundingsMenu) { if (1 < AusButtonListSurroundingsMenu.ListeScnapscusZuZaitAingangBisherAnzaal) { // Übernaame ersct bai meer als ain Scnapscus da eventuel in früühescte Scnapscus noc nit ale Entry enthalte AusButtonListSurroundingsMenuLezteMitBeginZait = AusButtonListSurroundingsMenu.SictWertMitZaitBerecneFürBeginZait <SictGbsMenuZuusctand>(); } } } }
static public IEnumerable <SictAufgaabeParam> GbsAstOklusioonVermaidungBerecne( SictAufgaabeParamGbsAstOklusioonVermaidung OklusioonVermaidungParam, IEnumerable <SictGbsAstOklusioonInfo> MengeKandidaatOklusioon, IEnumerable <SictGbsAstOklusioonInfo> MengeKandidaatOklusioonZuErhalte, GbsElement GbsBaum, out IEnumerable <SictFläceRectekOrtoAbhängigVonGbsAst> MengeFläceZuMaide, out IEnumerable <OrtogoonInt> NaacOklusioonRestMengeFläce) { MengeFläceZuMaide = null; NaacOklusioonRestMengeFläce = null; if (null == OklusioonVermaidungParam) { return(null); } var OklusioonVermaidungParamGbsElement = OklusioonVermaidungParam.GbsAst; if (null == OklusioonVermaidungParamGbsElement) { return(null); } var OklusioonVermaidungParamGbsAstFläce = OklusioonVermaidungParamGbsElement.InGbsFläce; if (null == OklusioonVermaidungParamGbsAstFläce) { return(null); } GbsElement OklusioonVermaidungParamGbsAst = null; NaacOklusioonRestMengeFläce = new OrtogoonInt[] { OklusioonVermaidungParamGbsAstFläce }; if (null == GbsBaum) { return(null); } if (null == MengeKandidaatOklusioon) { return(null); } var OklusioonVermaidungParamGbsAstHerkunftAdrese = (Int64?)OklusioonVermaidungParamGbsElement.Ident; var InternMengeFläceZuMaide = new List <SictFläceRectekOrtoAbhängigVonGbsAst>(); MengeFläceZuMaide = InternMengeFläceZuMaide; var ListeTailaufgaabe = new List <SictAufgaabeParam>(); var WeegpunktGbsObjektFläceKwadraatSaitelänge = Math.Min(OklusioonVermaidungParamGbsAstFläce.Grööse.A, OklusioonVermaidungParamGbsAstFläce.Grööse.B); var ListeTailwaiseOklusioon = new List <SictGbsAstOklusioonKombi>(); OrtogoonInt[] InsgesamtRestMengeTailfläce = new OrtogoonInt[] { OklusioonVermaidungParamGbsAstFläce }; foreach (var KandidaatOklusioon in MengeKandidaatOklusioon) { if (null == KandidaatOklusioon) { continue; } var KandidaatOklusioonGbsObjekt = KandidaatOklusioon.GbsElementScnapscus; if (null == KandidaatOklusioonGbsObjekt) { continue; } var KandidaatOklusioonFläce = KandidaatOklusioonGbsObjekt.InGbsFläce; GbsElement KandidaatOklusioonGbsAst = null; var OklusioonVonO0DurcO1MööglicNaacBaumsctruktuur = OklusioonVermaidungParamGbsAstHerkunftAdrese.HasValue ? OklusioonVonO0DurcO1MööglicNaacBaumsctruktuurBerecne( OklusioonVermaidungParamGbsAstHerkunftAdrese.Value, KandidaatOklusioonGbsObjekt.Ident, GbsBaum, out OklusioonVermaidungParamGbsAst, out KandidaatOklusioonGbsAst) : null; if (false == OklusioonVonO0DurcO1MööglicNaacBaumsctruktuur) { continue; } var KandidaatOklusioonFläceZuMaide = FläceRectekOrtoAbhängigVonGbsAstBerecne(KandidaatOklusioonGbsObjekt, GbsBaum); InternMengeFläceZuMaide.Add(KandidaatOklusioonFläceZuMaide); var WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce = Optimat.EveOnline.Extension.FläceMiinusFläce(OklusioonVermaidungParamGbsAstFläce, KandidaatOklusioonFläce); InsgesamtRestMengeTailfläce = Bib3.Glob.ArrayAusListeFeldGeflact(InsgesamtRestMengeTailfläce.Select((Fläce) => Optimat.EveOnline.Extension.FläceMiinusFläce(Fläce, KandidaatOklusioonFläce))); if (null != WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce) { var RestfläceGröösteKwadraatSaitelänge = AusMengeFläceBerecneGröösteKwadraatSaitelängeBerecne(WeegpunktFläceMiinusKandidaatOklusioonFläceMengeTailfläce); /* * 2014.04.29 * Korektur: ListeTailwaiseOkludiirendeUndRestKwadraatSaitelänge mus befült werde unabhängig davon ob das restlice grööste Kwadraat klainer geworde isc, * sunsct scteet waiter unte kain Kandidaat zum entferne zur Verfüügung. * * if (!(WeegpunktGbsObjektFläceKwadraatSaitelänge - 0.1f < RestfläceGröösteKwadraatSaitelänge)) * */ var Scnitfläce = OrtogoonInt.Scnitfläce(KandidaatOklusioonFläce, OklusioonVermaidungParamGbsAstFläce); if (!Scnitfläce.IsLeer) { // grööste Kwadraat in übrige Tailfäce isc klainer, zumindest tailwaise Okludiirt. ListeTailwaiseOklusioon.Add( new SictGbsAstOklusioonKombi( KandidaatOklusioon, OklusioonVermaidungParamGbsElement, Scnitfläce, RestfläceGröösteKwadraatSaitelänge)); } } } NaacOklusioonRestMengeFläce = InsgesamtRestMengeTailfläce; var InsgesamtRestMengeTailfläceGröösteKwadraatSaitelänge = AusMengeFläceBerecneGröösteKwadraatSaitelängeBerecne(InsgesamtRestMengeTailfläce); if (!(OklusioonVermaidungParam.RestFläceKwadraatSaitenlängeScrankeMin <= InsgesamtRestMengeTailfläceGröösteKwadraatSaitelänge) && 0 < ListeTailwaiseOklusioon.Count) { // übrige Tailfläce nit hinraicend groos, Oklusioon erfordert Reaktioon // Versuuce Oklusioon zu beende var ListeTailwaiseOkludiirendeOrdnet = ListeTailwaiseOklusioon // Window früüher scliise als andere (z.B. Menu oder Utilmenu oder Neocom) da andere oftmaals impliziit gesclose werden. .OrderBy((Kandidaat) => null == Kandidaat?.Okludiirende?.Window ? 0 : 1) .ThenBy((Kandidaat) => Kandidaat.NaacOklusioonRestFläceGröösteKwadraatSaitelänge) /* * 2015.09.01 * Änderung InGbsBaumAstIndex: Übernaame von noie Sensor InTreeIndex: Element occludes other Elements with lower Value. * .ThenBy((Kandidaat) => Kandidaat?.Okludiirende?.GbsAstInBaumIndex) */ .ThenByDescending((Kandidaat) => Kandidaat?.Okludiirende?.GbsAstInBaumIndex) .ToArray(); foreach (var TailwaiseOkludiirende in ListeTailwaiseOkludiirendeOrdnet) { if (0 < ListeTailaufgaabe.Count) { // !!!! Temp für Performanz und üübersictlickait Berict: nur aine Tailaufgaabe berecne break; } if (null == TailwaiseOkludiirende) { continue; } var OkludiirendeZuErhalte = (null == MengeKandidaatOklusioonZuErhalte) ? false : MengeKandidaatOklusioonZuErhalte .Any((KandidaatOklusioonZuErhalte) => KandidaatOklusioonZuErhalte.GbsElementIdent == TailwaiseOkludiirende.Okludiirende.GbsElementIdent); if (OkludiirendeZuErhalte) { // Okludiirende zu erhalte werde. z.B. Window Drones. // Versuuce Oklusioon zu beende oone Okludiirende zu Verberge: Z-Index von okludiirte waiter naac vorne bringe SictGbsAstOklusioonInfo Okludiirte = null; foreach (var KandidaatOkludiirte in MengeKandidaatOklusioon) { if (null == KandidaatOkludiirte) { continue; } var KandidaatOkludiirteGbsAstHerkunftAdrese = KandidaatOkludiirte.GbsElementIdent; if (!KandidaatOkludiirteGbsAstHerkunftAdrese.HasValue) { continue; } if (KandidaatOkludiirteGbsAstHerkunftAdrese == OklusioonVermaidungParamGbsAstHerkunftAdrese) { Okludiirte = KandidaatOkludiirte; break; } if (OklusioonVermaidungParamGbsAstHerkunftAdrese.HasValue) { var KandidaatOkludiirteGbsAst = GbsBaum.SuuceFlacMengeGbsAstFrühesteMitIdent(KandidaatOkludiirteGbsAstHerkunftAdrese.Value); if (null == KandidaatOkludiirteGbsAst) { continue; } if (null != KandidaatOkludiirteGbsAst.SuuceFlacMengeGbsAstFrühesteMitIdent(OklusioonVermaidungParamGbsAstHerkunftAdrese.Value)) { Okludiirte = KandidaatOkludiirte; break; } } } if (null != Okludiirte) { var OkludiirteWindow = Okludiirte.Window; if (null != OkludiirteWindow) { ListeTailaufgaabe.Add(AufgaabeParamAndere.KonstruktWindowHooleNaacVorne(OkludiirteWindow)); } } } else { var TailwaiseOkludiirendeGbsObjektScnapscus = TailwaiseOkludiirende?.Okludiirende?.GbsElementScnapscus; // ListeTailaufgaabe.Add(AufgaabeParamAndere.KonstruktGbsAstVerberge(TailwaiseOkludiirendeGbsObjektScnapscus)); ListeTailaufgaabe.Add(new AufgaabeParamGbsElementVerberge( TailwaiseOkludiirendeGbsObjektScnapscus, TailwaiseOkludiirende)); } } } return(ListeTailaufgaabe); }