new static public WindowOverView BerecneFürWindowAst( UINodeInfoInTree windowNode) { if (null == windowNode) { return(null); } var windowAuswert = new SictAuswertGbsWindowOverview(windowNode); windowAuswert.Berecne(); return(windowAuswert.ErgeebnisScpez); }
public void Berecne() { var WindowOverviewZaile = this.WindowOverviewZaile; if (null == WindowOverviewZaile) { return; } if (!(true == WindowOverviewZaile.VisibleIncludingInheritance)) { return; } var ZaileMengeChild = WindowOverviewZaile.ListChild; if (null == ZaileMengeChild) { return; } var ListeLabel = ZaileMengeChild .Where((Kandidaat) => { if (null == Kandidaat) { return(false); } var KandidaatPyObjTypName = Kandidaat.PyObjTypName; return(string.Equals("OverviewLabel", KandidaatPyObjTypName, StringComparison.InvariantCultureIgnoreCase)); }) .Where((Kandidaat) => Kandidaat.LaageInParent.HasValue) .OrderBy((Kandidaat) => Kandidaat.LaageInParent.Value.A) .ToArray(); /* * 2013.10.20 * Mit Patch 2013.10.20 Rubikon Änderung Kandidaat.PyObjTypName: "PyFill" -> "Fill" * */ MengeFillAst = Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst( WindowOverviewZaile, (Kandidaat) => (string.Equals("PyFill", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) || string.Equals("Fill", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase)) && true == Kandidaat.VisibleIncludingInheritance && null != Kandidaat.Color, null, 2, 1); AstIconContainer = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( WindowOverviewZaile, (Kandidaat) => string.Equals(MainIconPyTypeName, Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 2); RightAlignedIconContainerAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( WindowOverviewZaile, (Kandidaat) => string.Equals("rightAlignedIconContainer", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); RightAlignedIconContainerMengeIconAst = Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst( RightAlignedIconContainerAst, (Kandidaat) => (string.Equals("Icon", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) || string.Equals("EveIcon", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase)), null, 2, 1); /* * * 2014.04.12 * * "EVE Online: Rubicon 1.4.4 Released on Tuesday, May 13th, 2014" * * AstIconContainerIconMain = * Optimat.EveOnline.AuswertGbs.Extension.SuuceFlacMengeAstFrüheste( * AstIconContainer, (Kandidaat) => string.Equals("mainIcon", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); * * */ AstIconContainerIconMain = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("iconSprite", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); AstIconContainerIconTargetingIndicator = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("targeting", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); AstIconContainerIconTargetedByMeIndicator = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("targetedByMeIndicator", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); AstIconContainerIconMyActiveTargetIndicator = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("myActiveTargetIndicator", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); AstIconContainerIconAttackingMe = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("attackingMe", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); AstIconContainerIconHostile = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstIconContainer, (Kandidaat) => string.Equals("hostile", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2); var ListeZeleGbsAstUndScpalteTitel = SictAuswertGbsWindowOverview.MengeGbsAstZuScpalteIdentBerecneAusMengeGbsAstLaageUndMengeScpalteTitelUndLaage( MengeSortHeaderTitelUndLaage, ListeLabel); var ListeZeleBescriftungUndScpalteTitel = ListeZeleGbsAstUndScpalteTitel?.Select((ZeleGbsAstUndScpalteTitel) => new KeyValuePair <string, string>( ZeleGbsAstUndScpalteTitel.Key.Text, ZeleGbsAstUndScpalteTitel.Value)) ?.ToArray(); Int64? IconMainTextureIdent = null; ColorORGB IconMainColor = null; if (null != AstIconContainerIconMain) { IconMainTextureIdent = AstIconContainerIconMain.TextureIdent0; IconMainColor = ColorORGB.VonVal(AstIconContainerIconMain.Color); } Int64[] RightAlignedIconMengeTextureIdent = null; if (null != RightAlignedIconContainerMengeIconAst) { RightAlignedIconMengeTextureIdent = RightAlignedIconContainerMengeIconAst .Select((IconAst) => IconAst.TextureIdent0) .Where((Kandidaat) => Kandidaat.HasValue) .Select((Kandidaat) => Kandidaat.Value) .ToArray(); } }