Files

25 lines
815 B
C#

namespace Chrono.Model;
public class DeckData
{
public string Name { get; init; } = "";
public List<string> Cards { get; init; } = [];
public List<string> Keycards { get; init; } = [];
public List<string> Divers { get; init; } = [];
public string? Description { get; init; }
public string? DeckCode { get; init; }
public List<string> Factions { get; init; } = [];
public bool IsVisible { get; init; }
public bool IsValid => Cards.Count == 40 && Divers.Count <= 2;
public string ValidationMessage => (Cards.Count, Divers.Count) switch
{
(< 40, _) => $"Deck needs {40 - Cards.Count} more cards.",
(> 40, _) => $"Deck has {Cards.Count - 40} too many cards.",
(_, > 2) => "Deck can only have 2 Divers.",
_ => "Deck is valid."
};
}