// 委託画面におけるタイマー取得 public static void SetConsignTimer(Bitmap screenShot) { // 委託時間を読み取って反映させる for (int ci = 0; ci < SceneRecognition.ConsignCount; ++ci) { // 残り時間を読み取る DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, $"委託{ci + 1}")); // 書き込み処理 switch (ci) { case 0: SettingsStore.ConsignFinalTime1 = finalTime; break; case 1: SettingsStore.ConsignFinalTime2 = finalTime; break; case 2: SettingsStore.ConsignFinalTime3 = finalTime; break; case 3: SettingsStore.ConsignFinalTime4 = finalTime; break; } } }
// 寮舎画面におけるタイマー取得 public static void SetFoodTimer(Bitmap screenShot) { // 残り時間を読み取る DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, "食糧")); // 書き込み処理 SettingsStore.FoodFinalTime = finalTime; }
// BitmapについてOCRした結果を表示する public static void ShowOcrInfo(Bitmap bitmap) { // シーン判定を行う string scene = SceneRecognition.JudgeGameScene(bitmap); string output = $"シーン判定結果:{scene}\n"; // 資材関係のシーンだった場合、資材量を読み取って表示内容に追記する if (SupplyStore.SupplyListEachScene.ContainsKey(scene)) { output += "読み取った資材量:\n"; foreach (string supplyName in SupplyStore.SupplyListEachScene[scene]) { int supplyValue = CharacterRecognition.GetValueOCR(bitmap, supplyName, SettingsStore.PutCharacterRecognitionFlg); output += $" {supplyName}→{supplyValue}\n"; } } // その他のシーンの場合の処理 switch (scene) { case "戦闘中": { var gauge = SceneRecognition.GetBattleBombGauge(bitmap); output += "読み取ったゲージ量:\n"; output += $" 空撃→{Math.Round(gauge[0] * 100.0, 1)}%\n"; output += $" 雷撃→{Math.Round(gauge[1] * 100.0, 1)}%\n"; output += $" 砲撃→{Math.Round(gauge[2] * 100.0, 1)}%\n"; } break; case "委託": { output += "読み取った秒数:\n"; for (int i = 1; i <= 4; ++i) { long time = CharacterRecognition.GetTimeOCR(bitmap, $"委託{i}", SettingsStore.PutCharacterRecognitionFlg); output += $" {i}つ目→{time}\n"; } } break; case "戦術教室": { output += "読み取った秒数:\n"; for (int i = 1; i <= 2; ++i) { long time = CharacterRecognition.GetTimeOCR(bitmap, $"戦術教室{i}", SettingsStore.PutCharacterRecognitionFlg); output += $" {i}つ目→{time}\n"; } } break; case "寮舎": { output += "読み取った秒数:\n"; long time = CharacterRecognition.GetTimeOCR(bitmap, "食糧", SettingsStore.PutCharacterRecognitionFlg); output += $" 食糧→{time}\n"; } break; } MessageBox.Show(output, Utility.SoftwareName, MessageBoxButton.OK, MessageBoxImage.Information); }
// 戦術教室画面におけるタイマー取得 public static void SetLectureTimer(Bitmap screenShot) { // 残り時間を読み取って反映させる for (int ci = 0; ci < SceneRecognition.LectureCount; ++ci) { // 残り時間を読み取る DateTime?finalTime = Utility.GetFinalTime(CharacterRecognition.GetTimeOCR(screenShot, $"戦術教室{ci + 1}")); // 書き込み処理 switch (ci) { case 0: SettingsStore.LectureFinalTime1 = finalTime; break; case 1: SettingsStore.LectureFinalTime2 = finalTime; break; } } }