using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Microsoft.EntityFrameworkCore; using Pf2e.Database.Model.Base; using Pf2e.Database.Model.Enum; using Pf2e.Database.Model.Structure.ClassRelation; namespace Pf2e.Database.Model.Structure; /// /// Класс. /// [EntityOfType(EntityType.Class)] public class Class : IEntity { /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column(Order = 1)] [Comment("Идентификатор")] public int Id { get; set; } /// public Entity Entity { get; set; } = null!; /// /// Количество очков здоровья. /// [Column(Order = 2)] [Comment("Количество очков здоровья")] public int Hp { get; set; } /// /// Указание на тип заклинательства. /// [Column(Order = 3)] [Comment("Тип заклинательства")] public SpellcastingType Spellcasting { get; set; } = SpellcastingType.None; /// /// Традиция заклинаний класса. /// [Column(Order = 6)] [Comment("Традиция заклинаний")] public SpellTradition? Tradition { get; set; } = null; /// /// Количество дополнительных навыков. /// [Column(Order = 7)] [Comment("Дополнительные навыки")] public int AdditionalTrainedSkills { get; set; } /// /// Аттрибуты класса. /// public virtual ICollection ClassKeyAbilities { get; set; } = []; /// /// Прогрессия класса. /// public virtual ICollection ClassProgressions { get; set; } = []; /// /// Навыки класса. /// public virtual ICollection ClassTrainings { get; set; } = []; /// /// Группы подклассов. /// public virtual ICollection SubclassGroups { get; set; } = []; }