static public MarketOrderEntry MarketOrderEntryKonstrukt( UINodeInfoInTree entryAst, IColumnHeader[] listeScrollHeader, RectInt?regionConstraint) { if (!(entryAst?.VisibleIncludingInheritance ?? false)) { return(null); } var ChildTransitive = entryAst.MengeChildAstTransitiiveHüle()?.ToArray(); var ListEntryAuswert = new SictAuswertGbsListEntry(entryAst, listeScrollHeader, regionConstraint, ListEntryTrenungZeleTypEnum.InLabelTab); ListEntryAuswert.Berecne(); var ListEntry = ListEntryAuswert.ErgeebnisListEntry; if (null == ListEntry) { return(null); } return(new MarketOrderEntry(ListEntry)); }
static public IListEntry ListEntryKonstruktSctandard( UINodeInfoInTree uiNode, IColumnHeader[] header, RectInt? regionConstraint, ListEntryTrenungZeleTypEnum? trenungZeleTyp) { if (!(uiNode?.VisibleIncludingInheritance ?? false)) return null; var Auswert = new SictAuswertGbsListEntry(uiNode, header, regionConstraint, trenungZeleTyp); Auswert.Berecne(); return Auswert.ErgeebnisListEntry; }
static public IOverviewEntry OverviewEntryKonstrukt( UINodeInfoInTree EntryAst, IColumnHeader[] ListeScrollHeader, RectInt?regionConstraint) { if (!(EntryAst?.VisibleIncludingInheritance ?? false)) { return(null); } var ListEntryAuswert = new SictAuswertGbsListEntry(EntryAst, ListeScrollHeader, regionConstraint, ListEntryTrenungZeleTypEnum.Ast); ListEntryAuswert.Berecne(); var ListEntry = ListEntryAuswert.ErgeebnisListEntry; if (null == ListEntry) { return(null); } var MainIconAst = EntryAst?.FirstMatchingNodeFromSubtreeBreadthFirst(c => c?.PyObjTypNameMatchesRegexPatternIgnoreCase(MainIconPyTypeName) ?? false); var RightIconContainer = EntryAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsContainer() && // 2015.09.01: Name = "rightAlignedIconContainer" Regex.Match(k?.Name ?? "", "right.*icon", RegexOptions.IgnoreCase).Success); var RightIcon = RightIconContainer?.MatchingNodesFromSubtreeBreadthFirst(AuswertGbs.Glob.PyObjTypNameIsIcon) ?.Select(AuswertGbs.Extension.AlsSprite) ?.WhereNotDefault() ?.OrdnungLabel() ?.ToArray(); var MainIconSetIndicatorName = MainIconAst?.DictListKeyStringValueNotEmpty?.Where(key => key.RegexMatchSuccessIgnoreCase(MainIconIndicatorKeyRegexPattern)) ?.ToArrayIfNotEmpty(); return(new OverviewEntry(ListEntry) { MainIconSetIndicatorName = MainIconSetIndicatorName, RightIcon = RightIcon, }); }
/// <summary> /// 2015.07.28 /// Bescriftung für Item welces meerere Drone repräsentiirt: /// "Hobgoblin I (2)" /// </summary> /// <param name="entryAst"></param> /// <param name="listeScrollHeader"></param> /// <returns></returns> static public DroneViewEntry DroneEntryKonstrukt( UINodeInfoInTree entryAst, IColumnHeader[] listeScrollHeader, RectInt?regionConstraint) { if (!(entryAst?.VisibleIncludingInheritance ?? false)) { return(null); } var listEntryAuswert = new SictAuswertGbsListEntry(entryAst, listeScrollHeader, regionConstraint, ListEntryTrenungZeleTypEnum.Ast); listEntryAuswert.Berecne(); var listEntry = listEntryAuswert.ErgeebnisListEntry; if (null == listEntry) { return(null); } var LabelGröösteAst = entryAst?.LargestLabelInSubtree(); var labelGrööste = LabelGröösteAst.AsUIElementTextIfTextNotEmpty(); var isGroup = listEntry?.IsGroup ?? false; if (isGroup) { var Caption = labelGrööste; return(new DroneViewEntryGroup(listEntry) { Caption = labelGrööste, }); } else { var MengeContainerAst = entryAst.MatchingNodesFromSubtreeBreadthFirst( kandidaat => kandidaat.PyObjTypNameIsContainer(), null, 3, 1); var GaugesAst = MengeContainerAst.SuuceFlacMengeAstFrüheste( kandidaat => string.Equals("gauges", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 1, 0); var MengeGaugeScpezContainerAst = GaugesAst.MatchingNodesFromSubtreeBreadthFirst( kandidaat => kandidaat.PyObjTypNameIsContainer(), null, 1, 1, true); var DictZuTypSictStringTreferpunkte = new Dictionary <string, int?>(); if (null != MengeGaugeScpezContainerAst) { foreach (var GaugeScpezContainerAst in MengeGaugeScpezContainerAst) { if (null == GaugeScpezContainerAst) { continue; } var GaugeScpezContainerAstName = GaugeScpezContainerAst.Name; if (null == GaugeScpezContainerAstName) { continue; } var nameMatch = GaugeScpezContainerAstName?.RegexMatchIfSuccess(DroneEntryGaugeScpezAstNameRegexPattern, RegexOptions.IgnoreCase); var typSictString = nameMatch?.Groups[1].Value; if (null == typSictString) { continue; } DictZuTypSictStringTreferpunkte[typSictString] = AusDroneEntryGaugeTreferpunkteRelMili(GaugeScpezContainerAst); } } var TreferpunkteStruct = DictZuTypSictStringTreferpunkte.FirstOrDefault(kandidaat => kandidaat.Key.ToLower().Contains("struct")); var TreferpunkteArmor = DictZuTypSictStringTreferpunkte.FirstOrDefault(kandidaat => kandidaat.Key.ToLower().Contains("armor")); var TreferpunkteShield = DictZuTypSictStringTreferpunkte.FirstOrDefault(kandidaat => kandidaat.Key.ToLower().Contains("shield")); var Treferpunkte = new ShipHitpointsAndEnergy { Struct = TreferpunkteStruct.Value, Armor = TreferpunkteArmor.Value, Shield = TreferpunkteShield.Value, }; return(new DroneViewEntryItem(listEntry) { Hitpoints = Treferpunkte, }); } }