33 lines
874 B
C#
33 lines
874 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using YachtDice.Categories;
|
|
using YachtDice.Dice;
|
|
|
|
namespace YachtDice.Scoring
|
|
{
|
|
[Serializable]
|
|
public struct ScoreResult
|
|
{
|
|
public int BaseScore;
|
|
public int FlatBonus;
|
|
public float Multiplier;
|
|
public int[] DiceValues;
|
|
public CategoryDefinition Category;
|
|
|
|
public int FinalScore => Mathf.FloorToInt((BaseScore + FlatBonus) * Multiplier);
|
|
|
|
public static ScoreResult Create(int baseScore, IReadOnlyList<IDice> dice, CategoryDefinition category)
|
|
{
|
|
return new ScoreResult
|
|
{
|
|
BaseScore = baseScore,
|
|
FlatBonus = 0,
|
|
Multiplier = 1f,
|
|
DiceValues = DiceCheckUtility.ExtractValues(dice),
|
|
Category = category
|
|
};
|
|
}
|
|
}
|
|
}
|