Files

74 lines
2.2 KiB
C#

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.AncestryRelation;
namespace Pf2e.Database.Model.Structure;
/// <summary>
/// Родословная.
/// </summary>
[EntityOfType(EntityType.Ancestry)]
public class Ancestry : IEntity
{
/// <inheritdoc/>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column(Order = 1)]
[Comment("Идентификатор")]
public int Id { get; set; }
/// <inheritdoc/>
public Entity Entity { get; set; } = null!;
/// <summary>
/// Размеры родословной.
/// </summary>
[Column(Order = 2)]
[Comment("Размеры родословной")]
public SizeEnum[] Size { get; set; } = [];
/// <summary>
/// Количество очков здоровья.
/// </summary>
[Column(Order = 3)]
[Comment("Количество очков здоровья")]
public int Hp { get; set; }
/// <summary>
/// Скорость передвижения.
/// </summary>
[Column(Order = 4)]
[Comment("Скорость передвижения")]
public int Speed { get; set; }
/// <summary>
/// Тип зрения.
/// </summary>
[Column(Order = 5)]
[Comment("Тип зрения")]
public VisionEnum VisionEnum { get; set; } = VisionEnum.Normal;
/// <summary>
/// Коллекция повышениий аттрибутов.
/// </summary>
public ICollection<AncestryBoost> AncestryBoosts { get; set; } = [];
/// <summary>
/// Коллекция сущностей родословной.
/// </summary>
public ICollection<AncestryItem> AncestryItems { get; set; } = [];
/// <summary>
/// Коллекция языков родословной.
/// </summary>
public ICollection<AncestryLanguage> AncestryLanguages { get; set; } = [];
/// <summary>
/// Коллекция наследий.
/// </summary>
public ICollection<Heritage> Heritages { get; set; } = [];
}