Создание документации

This commit is contained in:
2025-06-01 19:57:59 +04:00
parent 8ff9f6bbc6
commit c9c92a2b54
1222 changed files with 21314 additions and 74 deletions
@@ -1,23 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
using Pf2eModel.Model.Enum;
namespace Pf2eModel.Model.Structure.ClassRelation;
public class ClassKeyAbility
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
[Column(Order = 2)]
public int ClassId { get; set; }
[Column(Order = 3)]
public AttributeValues Value { get; set; }
[JsonIgnore]
public Class Class { get; set; } = null!;
}
@@ -0,0 +1,42 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Pf2eModel.Model.Enum;
namespace Pf2eModel.Model.Structure.ClassRelation;
/// <summary>
/// Набор ключевых атрибутов класса.
/// </summary>
public class ClassKeyAttribute
{
/// <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 AttributeValues Value { get; set; }
/// <summary>
/// Класс, к которому относится ключевой атрибут.
/// </summary>
[JsonIgnore]
public Class Class { get; set; } = null!;
}
@@ -1,32 +1,62 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Enum;
namespace Pf2eModel.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; }
[Column(Order = 31)]
/// <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; }
}
@@ -1,29 +1,55 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using Pf2eModel.Model.Common;
using Pf2eModel.Model.Enum;
namespace Pf2eModel.Model.Structure.ClassRelation;
/// <summary>
/// Набор элементов, связывающий класс и тренируемый навык.
/// </summary>
public class ClassTraining
{
/// <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? TrainingId { get; set; }
/// <summary>
/// Ранг тренировки, определяющий уровень владения навыком.
/// </summary>
[Column(Order = 4)]
[Comment("Ранг тренировки")]
public TrainingRank Rank { get; set; }
/// <summary>
/// Класс, к которому относится тренировка.
/// </summary>
[JsonIgnore]
public Class Class { get; set; } = null!;
/// <summary>
/// Тренируемый навык, к которому относится тренировка.
/// </summary>
public Training? Training { get; set; }
}
@@ -2,10 +2,19 @@
namespace Pf2eModel.Model.Structure.ClassRelation;
/// <summary>
/// Элемент, связывающий сущность с подклассом.
/// </summary>
[PrimaryKey(nameof(SubclassId), nameof(EntityId))]
public class SubclassProvidedEntities
{
/// <summary>
/// Идентификатор подкласса, к которому относится сущность.
/// </summary>
public int SubclassId { get; set; }
/// <summary>
/// Идентификатор сущности, предоставляемой подклассом.
/// </summary>
public int EntityId { get; set; }
}
@@ -1,27 +1,53 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Common;
using Pf2eModel.Model.Enum;
namespace Pf2eModel.Model.Structure.ClassRelation;
/// <summary>
/// Связь между подклассами и тренировками.
/// </summary>
public class SubclassTrainings
{
/// <summary>
/// Идентификатор связи между подклассом и тренировкой.
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
[Comment("Идентификатор связи")]
public int Id { get; set; }
/// <summary>
/// Идентификатор подкласса, к которому относится тренировка.
/// </summary>
[Column(Order = 2)]
[Comment("Идентификатор подкласса")]
public int SubclassId { get; set; }
/// <summary>
/// Идентификатор тренировки, связанной с подклассом.
/// </summary>
[Column(Order = 3)]
[Comment("Идентификатор тренировки")]
public int TrainingId { get; set; }
/// <summary>
/// Ранг тренировки для данного подкласса.
/// </summary>
[Column(Order = 4)]
[Comment("Ранг тренировки")]
public TrainingRank Rank { get; set; } = TrainingRank.Trained;
/// <summary>
/// Подкласс, к которому относится тренировка.
/// </summary>
public Subclass Subclass { get; set; } = null!;
/// <summary>
/// Тренировка, связанная с подклассом.
/// </summary>
public Training Training { get; set; } = null!;
}