63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Newtonsoft.Json;
|
|
using Pf2e.Database.Model.Base;
|
|
using Pf2e.Database.Model.Enum;
|
|
|
|
namespace Pf2e.Database.Model.Structure.ClassRelation;
|
|
|
|
/// <summary>
|
|
/// Элемент прогрессии класса.
|
|
/// </summary>
|
|
public class ClassProgression
|
|
{
|
|
/// <summary>
|
|
/// Идентификатор прогрессии класса.
|
|
/// </summary>
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Column(Order = 1)]
|
|
[Comment("Идентификатор")]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор класса, к которому относится элемент прогрессии.
|
|
/// </summary>
|
|
[Column(Order = 2)]
|
|
[Comment("Идентификатор класса")]
|
|
public int ClassId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Уровень класса, на котором элемент прогрессии доступен.
|
|
/// </summary>
|
|
[Column(Order = 3)]
|
|
[Comment("Уровень класса")]
|
|
public int Level { get; set; }
|
|
|
|
/// <summary>
|
|
/// Тип элемента прогрессии класса.
|
|
/// </summary>
|
|
[Column(Order = 4)]
|
|
[Comment("Тип элемента прогрессии класса")]
|
|
public ClassProgressionType Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор сущности, связанной с элементом прогрессии класса (например, навык, атрибут и т.д.).
|
|
/// </summary>
|
|
[Column(Order = 5)]
|
|
[Comment("Идентификатор сущности")]
|
|
public int? EntityId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Класс, к которому относится элемент прогрессии.
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public Class Class { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Сущность, связанная с элементом прогрессии класса (например, навык, атрибут и т.д.).
|
|
/// </summary>
|
|
public Entity? Entity { get; set; }
|
|
}
|