// Actually queues a profession task: private static bool ContinueTask(Interactor intr, Point continueButton, out float bonusFactor) { Mouse.Click(intr, continueButton); intr.Wait(100); // Detect currently selected asset: LeadershipAsset primaryAsset = new LeadershipAsset(ProfessionAssetId.None, 1.00f); foreach (var asset in leadershipAssets) { if (Screen.ImageSearch(intr, asset.LargeTileImageLabel).Found) { primaryAsset = asset; break; } } if (primaryAsset.AssetId == ProfessionAssetId.None) { intr.Log(LogEntryType.Error, "Primary profession asset not detected."); bonusFactor = 0.0f; return false; } else { intr.Log(LogEntryType.Debug, "Using primary profession asset: '{0}'.", primaryAsset.Label); } // Attempt to add optional assets: Mouse.ClickImage(intr, "ProfessionsAssetButton"); intr.Wait(50); LeadershipAsset optionalAsset = new LeadershipAsset(ProfessionAssetId.None, 1.00f); foreach (var asset in leadershipAssets) { if (Mouse.ClickImage(intr, asset.SmallIconImageLabel)) { optionalAsset = asset; break; } } if (optionalAsset.AssetId == ProfessionAssetId.None) { intr.Log(LogEntryType.Debug, "No optional profession assets found."); } else { intr.Log(LogEntryType.Debug, "Using optional profession asset: '{0}'.", optionalAsset.Label); } intr.Wait(50); // Enqueue the profession task: Mouse.ClickImage(intr, "ProfessionsStartTaskButton"); intr.Wait(500); if (primaryAsset.AssetId == ProfessionAssetId.Mercenary || primaryAsset.AssetId == ProfessionAssetId.Guard || primaryAsset.AssetId == ProfessionAssetId.Footman) { bonusFactor = optionalAsset.BonusFactor; } else { bonusFactor = primaryAsset.BonusFactor + optionalAsset.BonusFactor; } return true; }
// Actually queues a profession task: private static bool ContinueTask(Interactor intr, Point continueButton, out float bonusFactor) { Mouse.Click(intr, continueButton); intr.Wait(100); // Detect currently selected asset: LeadershipAsset primaryAsset = new LeadershipAsset(ProfessionAssetId.None, 1.00f); foreach (var asset in leadershipAssets) { if (Screen.ImageSearch(intr, asset.LargeTileImageLabel).Found) { primaryAsset = asset; break; } } if (primaryAsset.AssetId == ProfessionAssetId.None) { intr.Log(LogEntryType.Error, "Primary profession asset not detected."); bonusFactor = 0.0f; return(false); } else { intr.Log(LogEntryType.Debug, "Using primary profession asset: '{0}'.", primaryAsset.Label); } // Attempt to add optional assets: Mouse.ClickImage(intr, "ProfessionsAssetButton"); intr.Wait(50); LeadershipAsset optionalAsset = new LeadershipAsset(ProfessionAssetId.None, 1.00f); foreach (var asset in leadershipAssets) { if (Mouse.ClickImage(intr, asset.SmallIconImageLabel)) { optionalAsset = asset; break; } } if (optionalAsset.AssetId == ProfessionAssetId.None) { intr.Log(LogEntryType.Debug, "No optional profession assets found."); } else { intr.Log(LogEntryType.Debug, "Using optional profession asset: '{0}'.", optionalAsset.Label); } intr.Wait(50); // Enqueue the profession task: Mouse.ClickImage(intr, "ProfessionsStartTaskButton"); intr.Wait(500); if (primaryAsset.AssetId == ProfessionAssetId.Mercenary || primaryAsset.AssetId == ProfessionAssetId.Guard || primaryAsset.AssetId == ProfessionAssetId.Footman) { bonusFactor = optionalAsset.BonusFactor; } else { bonusFactor = primaryAsset.BonusFactor + optionalAsset.BonusFactor; } return(true); }