Files
YachtDice/Assets/Scripts/Scoring/ScoreResult.cs
T

34 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
using YachtDice.Categories;
using YachtDice.Dice;
namespace YachtDice.Scoring
{
[Serializable]
public struct ScoreResult
{
[FormerlySerializedAs("BaseScore")] public int baseScore;
[FormerlySerializedAs("FlatBonus")] public int flatBonus;
[FormerlySerializedAs("Multiplier")] public float multiplier;
[FormerlySerializedAs("DiceValues")] public int[] diceValues;
[FormerlySerializedAs("Category")] 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
};
}
}
}