override public void Berecne()
        {
            base.Berecne();

            var BaseErgeebnis = base.Ergeebnis;

            if (null == BaseErgeebnis)
            {
                return;
            }

            var SetTab =
                AstMainContainerMain?.ListPathToNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameMatchesRegexPatternIgnoreCase("tab"))?.ToArray();

            var SetScrollAstPfaad =
                AstMainContainerMain.ListPathToNodeFromSubtreeBreadthFirst(ast => ast.PyObjTypNameIsScroll())
                ?.ToArray();

            var SetScrollAst =
                AstMainContainerMain.MatchingNodesFromSubtreeBreadthFirst(ast => ast.PyObjTypNameIsScroll())
                ?.ToArray();

            var tInspektSearchStringAst =
                AstMainContainer?.FirstMatchingNodeFromSubtreeBreadthFirst(k => Regex.Match(k?.LabelText() ?? "", "search", RegexOptions.IgnoreCase).Success);

            var ListView = SetScrollAst?.FirstOrDefault()?.AlsListView <IListEntry>(SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard);

            ErgeebnisScpez = new WindowPeopleAndPlaces(BaseErgeebnis)
            {
                ListView = ListView,
            };
        }
        override public void Berecne()
        {
            base.Berecne();

            if (null == Ergeebnis)
            {
                return;
            }

            var scanResultScrollAst =
                AstMainContainerMain
                ?.MatchingNodesFromSubtreeBreadthFirst(node => node?.PyObjTypNameIsScroll() ?? false)
                ?.OrderBy(node => node.LaagePlusVonParentErbeLaageB() ?? int.MinValue)
                ?.LastOrDefault();

            var listView =
                scanResultScrollAst?.AlsListView(
                    (node, setHeader, regionConstraint) => SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard(node, setHeader, regionConstraint, ListEntryTrenungZeleTypEnum.Ast));

            ErgeebnisWindowProbeScanner =
                new WindowProbeScanner(Ergeebnis)
            {
                ScanResultView = listView,
            };
        }
        override public void Berecne()
        {
            base.Berecne();

            var BaseErgeebnis = base.Ergeebnis;

            if (null == BaseErgeebnis)
            {
                return;
            }

            AstMainContainerMainToparea =
                Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst(
                    AstMainContainerMain, (kandidaat) => string.Equals("toparea", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2);

            AstMainContainerMainTopareaLabelNameUndDistance =
                Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst(
                    AstMainContainerMainToparea, (kandidaat) => string.Equals("EveLabelSmall", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 2);

            if (null != AstMainContainerMainTopareaLabelNameUndDistance)
            {
                SelectedItemTextNameUndDistance = AstMainContainerMainTopareaLabelNameUndDistance.SetText;
            }

            var ActionContainer =
                //	2015.09.07:	Name = "actions"
                AstMainContainerMain?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsContainer() && k.NameMatchesRegexPatternIgnoreCase("action"));


            var tInspektSpritePfaad =
                AstMainContainerMain
                ?.ListPathToNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsSprite())
                ?.ToArray();

            if (null != SelectedItemTextNameUndDistance)
            {
                /*
                 * 2013.07.17
                 * Bsp: "Ruvas II - Sukuuvestaa Corporation Production Plant<br>Distance: 0 m"
                 * */

                SelectedItemTextNameUndDistanceListeZaile = SelectedItemTextNameUndDistance.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);

                SelectedItemName = SelectedItemTextNameUndDistanceListeZaile.ElementAtOrDefault(0);
                SelectedItemDistanceSictString = SelectedItemTextNameUndDistanceListeZaile.ElementAtOrDefault(1);
            }

            var ErgeebnisScpez = new WindowSelectedItemView(
                BaseErgeebnis);

            this.ErgeebnisScpez = ErgeebnisScpez;
        }
        override public void Berecne()
        {
            base.Berecne();

            if (null == Ergeebnis)
            {
                return;
            }

            ListViewportAst =
                AstMainContainerMain?.MatchingNodesFromSubtreeBreadthFirst(kandidaat => kandidaat?.PyObjTypNameIsScroll() ?? false)?.LargestNodeInSubtree();

            ListViewportAuswert = new SictAuswertGbsListViewport <IListEntry>(ListViewportAst, DroneEntryKonstrukt);

            ListViewportAuswert.Read();

            ErgeebnisScpez = new WindowDroneView(Ergeebnis)
            {
                ListView = ListViewportAuswert?.Result,
            };
        }
Exemplo n.º 5
0
        override public void Berecne()
        {
            base.Berecne();

            var undockButtonNode =
                AstMainContainerMain?.FirstMatchingNodeFromSubtreeBreadthFirst(c =>
                                                                               (c?.PyObjTypName?.RegexMatchSuccessIgnoreCase("UndockBtn") ?? false));

            var undockButtonLabelNode = undockButtonNode?.LargestLabelInSubtree();

            var undockButtonActionNode = undockButtonNode?.MatchingNodesFromSubtreeBreadthFirst(c =>
                                                                                                c?.PyObjAddress != undockButtonNode?.PyObjAddress && (c?.PyObjTypNameIsContainer() ?? false))?.LargestNodeInSubtree();

            var serviceButtonContainerAst =
                AstMainContainer?.FirstMatchingNodeFromSubtreeBreadthFirst(k =>
                                                                           k.PyObjTypNameIsContainer() && k.NameMatchesRegexPatternIgnoreCase("service.*Button"));

            var serviceButton =
                serviceButtonContainerAst?.MatchingNodesFromSubtreeBreadthFirst(k => k.PyObjTypNameIsButton())
                ?.Select(buttonAst => buttonAst?.FirstMatchingNodeFromSubtreeBreadthFirst(spriteAst => spriteAst.PyObjTypNameIsSprite()))
                ?.WhereNotDefault()
                ?.Select(Extension.AlsSprite)
                ?.OrdnungLabel()
                ?.ToArray();

            AgentsPanelAst =
                Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst(
                    AstMainContainerMain, (kandidaat) =>
                    kandidaat.PyObjTypNameIsContainer() &&
                    string.Equals("agentsPanel", kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1);

            AgentsPanelScrollAst =
                Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst(
                    AgentsPanelAst, (kandidaat) =>
                    string.Equals("Scroll", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), 2, 1);

            AgentsPanelScrollAuswert = new ScrollReader(AgentsPanelScrollAst);

            AgentsPanelScrollAuswert.Read();

            AgentsPanelScrollContentAst = AgentsPanelScrollAuswert.ClipperContentNode;

            MengeAgentEntryHeaderKandidaatAst =
                Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst(
                    AgentsPanelScrollContentAst, (kandidaat) =>
                    string.Equals("Header", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase),
                    null, 2, 1);

            MengeAgentEntryKandidaatAst =
                Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst(
                    AgentsPanelScrollContentAst, (kandidaat) =>
                    string.Equals("AgentEntry", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase),
                    null, 2, 1);

            if (null != MengeAgentEntryHeaderKandidaatAst)
            {
                MengeAgentEntryHeaderLaageMitText =
                    MengeAgentEntryHeaderKandidaatAst
                    .Select((gbsAst) =>
                {
                    string Text = null;
                    int Laage   = -1;

                    var GbsAstFläce = AuswertGbs.Glob.FläceAusGbsAstInfoMitVonParentErbe(gbsAst);

                    if (null != GbsAstFläce?.Center())
                    {
                        Laage = (int)GbsAstFläce.Value.Center().B;
                    }

                    var Label = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst(
                        gbsAst,
                        (kandidaat) => string.Equals("EveLabelMedium", kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase),
                        2, 1);

                    if (null != Label)
                    {
                        Text = Label.SetText;
                    }

                    return(new KeyValuePair <int, string>(Laage, Text));
                })
                    .Where((kandidaat) => null != kandidaat.Value)
                    .OrderBy((kandidaat) => kandidaat.Key)
                    .ToArray();
            }

            if (null != MengeAgentEntryKandidaatAst)
            {
                MengeAgentEntryKandidaatAuswert =
                    MengeAgentEntryKandidaatAst
                    .Select((gbsAst) =>
                {
                    var Auswert = new SictAuswertGbsAgentEntry(gbsAst);
                    Auswert.Berecne();
                    return(Auswert);
                }).ToArray();
            }

            if (null != MengeAgentEntryKandidaatAuswert &&
                null != MengeAgentEntryHeaderLaageMitText)
            {
                foreach (var AgentEntryKandidaatAuswert in MengeAgentEntryKandidaatAuswert)
                {
                    if (null == AgentEntryKandidaatAuswert.Ergeebnis)
                    {
                        continue;
                    }

                    var InGbsFläce = AgentEntryKandidaatAuswert.Ergeebnis.Region;

                    if (null == InGbsFläce)
                    {
                        continue;
                    }

                    var Header =
                        MengeAgentEntryHeaderLaageMitText
                        .LastOrDefault((kandidaat) => kandidaat.Key < InGbsFläce.Center().B);
                }
            }

            ButtonUndockLabelText = undockButtonLabelNode?.LabelText();

            var mengeAgentEntry =
                MengeAgentEntryKandidaatAuswert
                ?.Select((auswert) => auswert.Ergeebnis)
                ?.WhereNotDefault()
                ?.OrdnungLabel()
                ?.ToArray();

            var agentEntryHeader =
                MengeAgentEntryHeaderKandidaatAst
                ?.Select(headerAst => headerAst?.LargestLabelInSubtree()?.AsUIElementTextIfTextNotEmpty())
                ?.WhereNotDefault()
                ?.OrdnungLabel()
                ?.ToArray();

            var undockButton =
                undockButtonActionNode?.AsUIElementIfVisible();

            var unDocking =
                (null == ButtonUndockLabelText) ? (bool?)null :
                Regex.Match(ButtonUndockLabelText, "abort undock", RegexOptions.IgnoreCase).Success ||
                Regex.Match(ButtonUndockLabelText, "undocking", RegexOptions.IgnoreCase).Success;

            var aboveServicesLabel =
                base.Ergeebnis?.LabelText
                ?.Where(k => k.Region.Center().B < undockButtonNode?.LaagePlusVonParentErbeLaageB() + undockButtonNode?.GrööseB)
                ?.ToArray();

            var Ergeebnis = new WindowStation(base.Ergeebnis)
            {
                AboveServicesLabel = aboveServicesLabel,
                UndockButton       = undockButton,
                ServiceButton      = serviceButton,
                AgentEntry         = mengeAgentEntry,
                AgentEntryHeader   = agentEntryHeader,
            };

            this.ErgeebnisScpez = Ergeebnis;
        }
        override public void Berecne()
        {
            base.Berecne();

            var BaseErgeebnis = base.Ergeebnis;

            if (null == BaseErgeebnis)
            {
                return;
            }

            var ListePfaadZuEntryInQuickbar =
                WindowNode.ListPathToNodeFromSubtreeBreadthFirst(k => Regex.Match(k.LabelText() ?? "", "iron charge L", RegexOptions.IgnoreCase).Success);

            var ListePfaadZuEntryInDetailsSellers =
                WindowNode.ListPathToNodeFromSubtreeBreadthFirst(k => Regex.Match(k.LabelText() ?? "", "motsu VII - Moon 6", RegexOptions.IgnoreCase).Success);

            var ListePfaadZuEntryInDetailsBuyers =
                WindowNode.ListPathToNodeFromSubtreeBreadthFirst(k => Regex.Match(k.LabelText() ?? "", "Moon 10 - CONCORD", RegexOptions.IgnoreCase).Success);


            var MengeTabControlAst =
                WindowNode?.MatchingNodesFromSubtreeBreadthFirst(k => Regex.Match(k.PyObjTypName ?? "", "TabGroup", RegexOptions.IgnoreCase).Success)?.ToArray();

            var MengeScrollAst =
                WindowNode?.MatchingNodesFromSubtreeBreadthFirst(k => k.PyObjTypNameIsScroll())?.ToArray();

            var LinxTabControlAst =
                MengeTabControlAst
                ?.OrderBy(k => k.LaagePlusVonParentErbeLaageA())
                ?.FirstOrDefault();

            var ReczTabControlAst =
                MengeTabControlAst
                ?.Except(LinxTabControlAst.Yield())
                ?.OrderByDescending(k => k.LaagePlusVonParentErbeLaageA())
                ?.FirstOrDefault();

            var QuickbarViewportAst =
                MengeScrollAst
                ?.OrderBy(k => k.LaagePlusVonParentErbeLaageA())
                ?.FirstOrDefault();

            var ReczDetailsContainerAst =
                AstMainContainerMain?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsContainer() && Regex.Match(k.Name ?? "", "details", RegexOptions.IgnoreCase).Success);

            var ReczDetailsMarketDataContainerAst =
                ReczDetailsContainerAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => Regex.Match(k.PyObjTypName ?? "", "MarketData", RegexOptions.IgnoreCase).Success);

            var SellersViewportAst =
                ReczDetailsMarketDataContainerAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsScroll() && Regex.Match(k.Name ?? "", "buy", RegexOptions.IgnoreCase).Success);

            var BuyersViewportAst =
                ReczDetailsMarketDataContainerAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsScroll() && Regex.Match(k.Name ?? "", "sell", RegexOptions.IgnoreCase).Success);

            var setOrdersNode =
                AstMainContainerMain?.MatchingNodesFromSubtreeBreadthFirst(k => Regex.Match(k.PyObjTypName ?? "", "MarketOrder", RegexOptions.IgnoreCase).Success);

            var MyOrdersAst =
                setOrdersNode?.FirstOrDefault(node => !(node?.Name?.RegexMatchSuccessIgnoreCase("corp") ?? false));

            var MyOrdersSellingScrollNode =
                MyOrdersAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsScroll() && k.NameMatchesRegexPatternIgnoreCase("sell"));

            var MyOrdersBuyingScrollNode =
                MyOrdersAst?.FirstMatchingNodeFromSubtreeBreadthFirst(k => k.PyObjTypNameIsScroll() && k.NameMatchesRegexPatternIgnoreCase("buy"));

            var LinxTabGroupAuswert = new SictAuswertGbsTabGroup(LinxTabControlAst);
            var ReczTabGroupAuswert = new SictAuswertGbsTabGroup(ReczTabControlAst);

            LinxTabGroupAuswert.Berecne();
            ReczTabGroupAuswert.Berecne();

            var QuickbarScrollAuswert = new SictAuswertGbsListViewport <IListEntry>(QuickbarViewportAst, SictAuswertGbsListViewport <IListEntry> .ListEntryKonstruktSctandard);

            QuickbarScrollAuswert.Read();

            var DetailsMarketDataSellersScrollAuswert = new SictAuswertGbsListViewport <IListEntry>(SellersViewportAst, SictAuswertGbsWindowRegionalMarket.MarketOrderEntryKonstrukt);
            var DetailsMarketDataBuyersScrollAuswert  = new SictAuswertGbsListViewport <IListEntry>(BuyersViewportAst, SictAuswertGbsWindowRegionalMarket.MarketOrderEntryKonstrukt);

            DetailsMarketDataSellersScrollAuswert.Read();
            DetailsMarketDataBuyersScrollAuswert.Read();

            var DetailsUIElement    = ReczDetailsContainerAst.AsUIElementIfVisible();
            var MarketDataUIElement = ReczDetailsMarketDataContainerAst.AsUIElementIfVisible();

            var MyOrdersContainer = MyOrdersAst.AlsContainer();

            var MyOrdersSellingScrollAuswert = new SictAuswertGbsListViewport <IListEntry>(MyOrdersSellingScrollNode, SictAuswertGbsWindowRegionalMarket.MarketOrderEntryKonstrukt);
            var MyOrdersBuyingScrollAuswert  = new SictAuswertGbsListViewport <IListEntry>(MyOrdersBuyingScrollNode, SictAuswertGbsWindowRegionalMarket.MarketOrderEntryKonstrukt);

            MyOrdersSellingScrollAuswert.Read();
            MyOrdersBuyingScrollAuswert.Read();

            var SelectedItemTypeDetailsMarketData = null == MarketDataUIElement ? null : new MarketItemTypeDetailsMarketData(MarketDataUIElement)
            {
                SellerView = DetailsMarketDataSellersScrollAuswert?.Result,
                BuyerView  = DetailsMarketDataBuyersScrollAuswert?.Result,
            };

            var MyOrders = null == MyOrdersContainer ? null :
                           new MarketMyOrders(MyOrdersContainer)
            {
                SellOrderView = MyOrdersSellingScrollAuswert?.Result,
                BuyOrderView  = MyOrdersBuyingScrollAuswert?.Result,
            };

            var SelectedItemTypeDetails = null == DetailsUIElement ? null : new MarketItemTypeDetails(DetailsUIElement)
            {
                MarketData = SelectedItemTypeDetailsMarketData
            };

            this.ErgeebnisScpez = new WindowRegionalMarket(BaseErgeebnis)
            {
                LeftTabGroup  = LinxTabGroupAuswert?.Ergeebnis,
                RightTabGroup = ReczTabGroupAuswert?.Ergeebnis,

                QuickbarView            = QuickbarScrollAuswert?.Result,
                SelectedItemTypeDetails = SelectedItemTypeDetails,

                MyOrders = MyOrders,
            };
        }