using System; using System.Collections.Generic; using Dalamud.Plugin; using Microsoft.Extensions.Logging; using Questionable.Model.Questing; using Questionable.SeasonalDutyPaths; using Questionable.Validation; using Questionable.Validation.Validators; namespace Questionable.Controller; internal sealed class SeasonalDutyDefinitionRegistry : DefinitionRegistry { protected override string TypeLabel => "seasonal duty"; protected override string ConfigDirectoryName => "SeasonalDutyDefinitions"; protected override string ProjectDirectoryName => "SeasonalDutyPaths"; protected override EPathType PathType => EPathType.SeasonalDuty; public SeasonalDutyDefinitionRegistry(IDalamudPluginInterface pluginInterface, SeasonalDutySchemaValidator seasonalDutySchemaValidator, QuestValidator questValidator, ILogger logger) : base(pluginInterface, (IDefinitionSchemaValidator)seasonalDutySchemaValidator, questValidator, (ILogger)logger) { } protected override IReadOnlyDictionary GetAssemblyDefinitions() { return AssemblySeasonalDutyDefinitionLoader.GetDefinitions(); } protected override DateTime? GetExpiry(SeasonalDutyDefinition definition) { return definition.EventExpiry; } protected override string? GetName(SeasonalDutyDefinition definition) { return definition.Name; } }