From 0eb2c48f547a9a1dea07942291c48e84ab47077a Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Mon, 3 Mar 2025 02:01:36 +0100 Subject: [PATCH] Show which quest fails to load for local projects --- Questionable/Controller/QuestRegistry.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Questionable/Controller/QuestRegistry.cs b/Questionable/Controller/QuestRegistry.cs index 0e066c96..942a1fce 100644 --- a/Questionable/Controller/QuestRegistry.cs +++ b/Questionable/Controller/QuestRegistry.cs @@ -8,6 +8,7 @@ using System.Text.Json; using System.Text.Json.Nodes; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; +using Dalamud.Plugin.Services; using LLib.GameData; using Microsoft.Extensions.Logging; using Questionable.Data; @@ -28,14 +29,21 @@ internal sealed class QuestRegistry private readonly ILogger _logger; private readonly LeveData _leveData; private readonly TerritoryData _territoryData; + private readonly IChatGui _chatGui; private readonly ICallGateProvider _reloadDataIpc; private readonly Dictionary _quests = []; private readonly Dictionary _contentFinderConditionIds = []; - public QuestRegistry(IDalamudPluginInterface pluginInterface, QuestData questData, - QuestValidator questValidator, JsonSchemaValidator jsonSchemaValidator, - ILogger logger, LeveData leveData, TerritoryData territoryData) + public QuestRegistry( + IDalamudPluginInterface pluginInterface, + QuestData questData, + QuestValidator questValidator, + JsonSchemaValidator jsonSchemaValidator, + ILogger logger, + LeveData leveData, + TerritoryData territoryData, + IChatGui chatGui) { _pluginInterface = pluginInterface; _questData = questData; @@ -44,6 +52,7 @@ internal sealed class QuestRegistry _logger = logger; _leveData = leveData; _territoryData = territoryData; + _chatGui = chatGui; _reloadDataIpc = _pluginInterface.GetIpcProvider("Questionable.ReloadData"); } @@ -141,6 +150,8 @@ internal sealed class QuestRegistry catch (Exception e) { _quests.Clear(); + + _chatGui.PrintError($"Unable to load quests - {e.GetType().Name}: {e.Message}", CommandHandler.MessageTag, CommandHandler.TagColor); _logger.LogError(e, "Failed to load quests from project directory"); } } -- 2.30.2