Warp to Bookmark with folder

bool TestInitiateDockToOrWarpToBookmark(string Folder, string Bookmark) {     Host.Log("dock to or warp to bookmark: '" + Bookmark + "'");          var ListSurroundingsButton = Measurement?.InfoPanelCurrentSystem?.ListSurroundingsButton;      Sanderling.MouseClickRight(ListSurroundingsButton);      var BookmarkMenuEntry = Measurement?.Menu?.ElementAtOrDefault(0)?.EntryFirstMatchingRegexPattern("^" + Folder + "$", RegexOptions.IgnoreCase);      Sanderling.MouseClickLeft(BookmarkMenuEntry);      var BookmarkMenuEntrySecond = Measurement?.Menu?.ElementAtOrDefault(1)?.EntryFirstMatchingRegexPattern("^" + Bookmark + "$", RegexOptions.IgnoreCase);      Sanderling.MouseClickLeft(BookmarkMenuEntrySecond);      if(null == BookmarkMenuEntry)     {         Host.Log("menu entry not found for bookmark: '" + Bookmark + "'");         return true;     }      var Menu = Measurement?.Menu?.ElementAtOrDefault(2);     var DockMenuEntry = Menu?.EntryFirstMatchingRegexPattern("dock",RegexOptions.IgnoreCase);     var WarpMenuEntry = Menu?.EntryFirstMatchingRegexPattern(@"warp.*withins*0",RegexOptions.IgnoreCase);     var ApproachEntry = Menu?.EntryFirstMatchingRegexPattern(@"approach",RegexOptions.IgnoreCase);      var MenuEntry = DockMenuEntry ?? WarpMenuEntry;          if(null == MenuEntry)     {         if(null != ApproachEntry)         {             Host.Log("found menu entry '" + ApproachEntry.Text + "'. Assuming we are already there.");             return false;         }          Host.Log("no suitable menu entry found");         return true;     }          Host.Log("initiating " + MenuEntry.Text);     Sanderling.MouseClickLeft(MenuEntry);      return false; }

Je ne comprend pas pourquoi cette fonction fonctionne seulement 1 fois sur 20. Il semble qu’il se rende généralement qu’au dossier puis arrête. Parfois avec un peu de chance il reussi.

1 Like