Files
SVSimServer/SVSim.Database/Models/ShadowverseDeckEntry.cs
gamer147 558e8288eb Puzzles
2026-05-25 12:03:47 -04:00

42 lines
1.3 KiB
C#

using System.ComponentModel.DataAnnotations;
using SVSim.Database.Common;
using SVSim.Database.Enums;
namespace SVSim.Database.Models;
public class ShadowverseDeckEntry : BaseEntity<Guid>
{
/// <summary>
/// Internal deck name.
/// </summary>
[Required(AllowEmptyStrings = false)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// Cards in this deck.
/// </summary>
public List<DeckCard> Cards { get; set; } = new List<DeckCard>();
public int Number { get; set; }
public Format Format { get; set; }
public bool RandomLeaderSkin { get; set; }
/// <summary>
/// MyRotation period id (key into <see cref="MyRotationSettingEntry"/>). Required when
/// <see cref="Format"/> is <see cref="Format.MyRotation"/> so the client can resolve the
/// deck's pack range; null for every other format. If null on a MyRotation deck, clicking
/// the deck NREs inside DeckData.CreateMyRotationClassName (info.LastPackText on null).
/// </summary>
public string? MyRotationId { get; set; }
#region Navigation Properties
public ClassEntry Class { get; set; } = new ClassEntry();
public SleeveEntry Sleeve { get; set; } = new SleeveEntry();
public LeaderSkinEntry LeaderSkin { get; set; } = new LeaderSkinEntry();
#endregion
}