using System; using System.Collections.Generic; using Dalamud.Plugin; using Microsoft.Extensions.Logging; using Questionable.FatePaths; using Questionable.Model.Questing; using Questionable.Validation; using Questionable.Validation.Validators; namespace Questionable.Controller; internal sealed class FateDefinitionRegistry : DefinitionRegistry { protected override string TypeLabel => "FATE"; protected override string ConfigDirectoryName => "FateDefinitions"; protected override string ProjectDirectoryName => "FatePaths"; protected override EPathType PathType => EPathType.Fate; public FateDefinitionRegistry(IDalamudPluginInterface pluginInterface, FateSchemaValidator fateSchemaValidator, QuestValidator questValidator, ILogger logger) : base(pluginInterface, (IDefinitionSchemaValidator)fateSchemaValidator, questValidator, (ILogger)logger) { } protected override IReadOnlyDictionary GetAssemblyDefinitions() { return AssemblyFateDefinitionLoader.GetDefinitions(); } protected override DateTime? GetExpiry(FateDefinition definition) { return definition.EventExpiry; } protected override string? GetName(FateDefinition definition) { return definition.Name; } }