public void MoveToPrimary() { context.MouseDragTo(726, 89, 401, 468); context.MouseMouseTo(0, 0); context.Sleep(2000); for (int retry = 0; retry < 3; retry++) { var marks = baseMark.Processing(img => img.ImageName.Contains("boat")); if (marks.Count == 0) { context.InfoLog($"Can't find primary nor secondary retry {retry}, sleep 5s"); context.Sleep(5000); continue; } var secboat = marks.FirstOrDefault(m => m.extraInfo.Contains("secondary_boat.png")); if (secboat == null) { context.InfoLog("failed find boat"); continue; } if (secboat.x < 250 || secboat.y > 700) { context.InfoLog("this is primary boat"); break; } context.MoveMouseAndClick(secboat.x, secboat.y); break; } }