qstbak/Questionable/Questionable.Controller/SeasonalDutyDefinitionRegistry.cs
2026-08-17 20:29:32 +10:00

41 lines
1.4 KiB
C#

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<SeasonalDutyDefinition>
{
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<SeasonalDutyDefinitionRegistry> logger)
: base(pluginInterface, (IDefinitionSchemaValidator)seasonalDutySchemaValidator, questValidator, (ILogger)logger)
{
}
protected override IReadOnlyDictionary<ushort, SeasonalDutyDefinition> GetAssemblyDefinitions()
{
return AssemblySeasonalDutyDefinitionLoader.GetDefinitions();
}
protected override DateTime? GetExpiry(SeasonalDutyDefinition definition)
{
return definition.EventExpiry;
}
protected override string? GetName(SeasonalDutyDefinition definition)
{
return definition.Name;
}
}