41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
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<FateDefinition>
|
|
{
|
|
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<FateDefinitionRegistry> logger)
|
|
: base(pluginInterface, (IDefinitionSchemaValidator)fateSchemaValidator, questValidator, (ILogger)logger)
|
|
{
|
|
}
|
|
|
|
protected override IReadOnlyDictionary<ushort, FateDefinition> GetAssemblyDefinitions()
|
|
{
|
|
return AssemblyFateDefinitionLoader.GetDefinitions();
|
|
}
|
|
|
|
protected override DateTime? GetExpiry(FateDefinition definition)
|
|
{
|
|
return definition.EventExpiry;
|
|
}
|
|
|
|
protected override string? GetName(FateDefinition definition)
|
|
{
|
|
return definition.Name;
|
|
}
|
|
}
|