Expose recommended class coverage counts

This commit is contained in:
2026-07-09 14:12:17 +09:00
parent ddbb554998
commit 04e5e5d0c5
2 changed files with 9 additions and 1 deletions

View File

@@ -276,6 +276,8 @@ type SortiePlanSummary = {
reserveCount: number;
recommendedSelectedCount: number;
recommendedTotal: number;
recommendedClassSelectedCount: number;
recommendedClassTotal: number;
deploymentLine: string;
recommendationLine: string;
recruitedLine: string;
@@ -13332,8 +13334,9 @@ export class CampScene extends Phaser.Scene {
const reserveFocus = this.reserveTrainingFocusDefinition();
const availableIds = new Set(allAllies.map((unit) => unit.id));
const recommended = rule.recommended.filter((entry) => availableIds.has(entry.unitId));
const recommendedClasses = rule.recommendedClasses ?? [];
const missingRecommended = recommended.filter((entry) => !selectedIds.has(entry.unitId));
const missingClassRecommendations = (rule.recommendedClasses ?? []).filter(
const missingClassRecommendations = recommendedClasses.filter(
(entry) => !selectedUnits.some((unit) => entry.classKeys.includes(unit.classKey))
);
const recruitedUnits = allAllies.filter((unit) => !foundingSortieUnitIds.has(unit.id));
@@ -13349,6 +13352,7 @@ export class CampScene extends Phaser.Scene {
const terrainGrade = this.sortieTerrainGrade(terrainScore);
const activeBondCount = this.currentBonds().filter((bond) => bond.unitIds.every((unitId) => selectedIds.has(unitId))).length;
const recommendedSelectedCount = recommended.filter((entry) => selectedIds.has(entry.unitId)).length;
const recommendedClassSelectedCount = recommendedClasses.length - missingClassRecommendations.length;
const roleCounts = selectedUnits.reduce(
(counts, unit) => {
counts[this.sortieFormationRole(unit)] += 1;
@@ -13415,6 +13419,8 @@ export class CampScene extends Phaser.Scene {
reserveCount: reserveUnits.length,
recommendedSelectedCount,
recommendedTotal: recommended.length,
recommendedClassSelectedCount,
recommendedClassTotal: recommendedClasses.length,
deploymentLine: roleLine,
recommendationLine: recommended.length > 0
? `추천 무장 ${recommendedSelectedCount}/${recommended.length} · 병종 ${this.sortieRecommendedClassLine(scenario)}`