static public BotEngine.EveOnline.Interface.MemoryStruct.LobbyAgentEntry AsOld(this LobbyAgentEntry entry) => entry == null ? null : new BotEngine.EveOnline.Interface.MemoryStruct.LobbyAgentEntry( entry.AsOldUIElement(), entry?.LabelText?.AsOldUIElementLabelString()?.ToArray(), entry?.StartConversationButton?.AsOldUIElement());
public void Berecne() { if (null == AstAgentEntry) { return; } if (!(true == AstAgentEntry.VisibleIncludingInheritance)) { return; } TextContAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstAgentEntry, (Kandidaat) => string.Equals("textCont", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); ButtonStartConversationAst = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( AstAgentEntry, (Kandidaat) => string.Equals("ButtonIcon", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase) && Regex.Match(Kandidaat.Hint ?? "", "Conversation", RegexOptions.IgnoreCase).Success, 2, 1); AstTextContText = Optimat.EveOnline.AuswertGbs.Extension.FirstMatchingNodeFromSubtreeBreadthFirst( TextContAst, (Kandidaat) => string.Equals("text", Kandidaat.Name, StringComparison.InvariantCultureIgnoreCase), 2, 1); AstTextContTextMengeLabel = Optimat.EveOnline.AuswertGbs.Extension.MatchingNodesFromSubtreeBreadthFirst( AstTextContText, (Kandidaat) => string.Equals("EveLabelMedium", Kandidaat.PyObjTypName, StringComparison.InvariantCultureIgnoreCase), null, 2, 1); StartConversationButton = ButtonStartConversationAst.AsUIElementIfVisible(); if (null != AstTextContTextMengeLabel) { AstTextContTextMengeLabel = AstTextContTextMengeLabel .OrderBy((Kandidaat) => { var LaagePlusVonParentErbeLaage = Kandidaat.LaagePlusVonParentErbeLaage(); if (!LaagePlusVonParentErbeLaage.HasValue) { return(-1); } return(LaagePlusVonParentErbeLaage.Value.B); }) .ToArray(); } if (null != AstTextContTextMengeLabel && null != AstTextContText) { if (AstTextContText.Grööse.HasValue) { AstTextContTextMengeLabelLinx = AstTextContTextMengeLabel .Where((Kandidaat) => { if (!Kandidaat.LaageInParent.HasValue) { return(false); } return(Kandidaat.LaageInParent.Value.A < AstTextContText.Grööse.Value.A * 0.5); }) .ToArray(); } } if (null == AstTextContTextMengeLabelLinx) { return; } string AgentName = null; string AgentTyp = null; int? AgentLevel = null; string ZaileTypUndLevelText = null; if (null != AstTextContTextMengeLabelLinx) { if (1 < AstTextContTextMengeLabelLinx.Length) { AgentName = AstTextContTextMengeLabelLinx.FirstOrDefault().SetText; ZaileTypUndLevelText = AstTextContTextMengeLabelLinx.LastOrDefault().SetText; } } var TypUndLevel = AgentTypUndLevel(ZaileTypUndLevelText); if (TypUndLevel.HasValue) { AgentTyp = TypUndLevel.Value.Key; AgentLevel = TypUndLevel.Value.Value; } var Ergeebnis = new LobbyAgentEntry(TextContAst.AsUIElementIfVisible()) { LabelText = AstAgentEntry?.ExtraktMengeLabelString()?.OrdnungLabel()?.ToArray(), StartConversationButton = StartConversationButton, }; this.Ergeebnis = Ergeebnis; }