namespace Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium;
///
/// Ссылка на сущность с указанием файла, в котором она хранится.
///
/// Идентификатор сущности.
/// Имя файла.
public class AonprdCompendiumItem(string id, string file) : AbstractCompendiumItem
{
///
/// Идентификатор сущности.
///
public override string Id { get; } = id;
///
/// Тип сущности.
///
public override string Type { get; } = ResolveType(id);
///
/// Имя файла, в котором хранится сущность.
///
public string File { get; } = file;
///
/// Определение типа сущности как префикса идентификатора.
///
public static string ResolveType(string id)
{
string type = string.Join('-', id.Split('-')[..^1]);
return SubType(type, "equipment") ?? SubType(type, "weapon") ?? type;
static string? SubType(string type, string cat)
{
return type.StartsWith($"{cat}-") && type != cat
? type.EndsWith("-bonus")
? $"{cat}-bonus"
: $"{cat}-sub"
: null;
}
}
}