[Rem] Upper sum Text & upper bonus text | previewText & recordedScoreText (move to scoreText)

This commit is contained in:
2026-03-08 00:34:45 +07:00
parent dc82e93322
commit 9236d66022
43 changed files with 1418 additions and 596 deletions
@@ -74,7 +74,7 @@ namespace YachtDice.UI.Presentation
public void UpdateTotalDisplay(ScoreSummary summary)
{
_view.UpdateTotalDisplay(summary.DisplayTotal, summary.UpperSum, summary.HasUpperBonus);
_view.UpdateTotalDisplay(summary.DisplayTotal);
}
public void ResetAll()
@@ -3,14 +3,10 @@ namespace YachtDice.UI.Presentation
public readonly struct ScoreSummary
{
public int DisplayTotal { get; }
public int UpperSum { get; }
public bool HasUpperBonus { get; }
public ScoreSummary(int displayTotal, int upperSum, bool hasUpperBonus)
public ScoreSummary(int displayTotal)
{
DisplayTotal = displayTotal;
UpperSum = upperSum;
HasUpperBonus = hasUpperBonus;
}
}
}
@@ -1,4 +1,3 @@
using YachtDice.Categories;
using YachtDice.Scoring;
namespace YachtDice.UI.Presentation
@@ -6,43 +5,15 @@ namespace YachtDice.UI.Presentation
public sealed class ScoreSummaryService : IScoreSummaryService
{
private readonly ScoringSystem _scoringSystem;
private readonly CategoryCatalog _categoryCatalog;
public ScoreSummaryService(ScoringSystem scoringSystem, CategoryCatalog categoryCatalog)
public ScoreSummaryService(ScoringSystem scoringSystem)
{
_scoringSystem = scoringSystem;
_categoryCatalog = categoryCatalog;
}
public ScoreSummary Calculate()
{
var upperSum = CalculateUpperSum();
var hasUpperBonus = upperSum >= _categoryCatalog.UpperBonusThreshold;
var total = _scoringSystem.TotalScore;
if (hasUpperBonus)
total += _categoryCatalog.UpperBonusValue;
return new ScoreSummary(total, upperSum, hasUpperBonus);
}
private int CalculateUpperSum()
{
var upperSum = 0;
var allCategories = _categoryCatalog.All;
for (var i = 0; i < allCategories.Count; i++)
{
var category = allCategories[i];
if (!category.IsUpperSection)
continue;
var categoryScore = _scoringSystem.GetCategoryScore(category);
if (categoryScore >= 0)
upperSum += categoryScore;
}
return upperSum;
return new ScoreSummary(_scoringSystem.TotalScore);
}
}
}