Merge pull request 'AddQuestPriorityIPC' (#148) from pot0to/Questionable:AddQuestPrio...
authorLiza <liza@no-reply.carvel.li>
Mon, 10 Mar 2025 15:45:23 +0000 (15:45 +0000)
committerLiza <liza@no-reply.carvel.li>
Mon, 10 Mar 2025 15:45:23 +0000 (15:45 +0000)
Reviewed-on: https://git.carvel.li/liza/Questionable/pulls/148

1  2 
Questionable/Controller/QuestController.cs
Questionable/External/QuestionableIpc.cs

@@@ -7,8 -8,8 +8,9 @@@ using Dalamud.Plugin.Ipc
  using JetBrains.Annotations;
  using Questionable.Controller;
  using Questionable.Functions;
 +using Questionable.Model;
  using Questionable.Model.Questing;
+ using Questionable.Windows;
  using Questionable.Windows.QuestComponents;
  
  namespace Questionable.External;
@@@ -123,9 -151,41 +152,42 @@@ internal sealed class QuestionableIpc 
          return true;
      }
  
+     private bool ImportQuestPriority(string encodedQuestPriority)
+     {
+         List<ElementId> questElements = PriorityWindow.DecodeQuestPriority(encodedQuestPriority);
+         _questController.ImportQuestPriority(questElements);
+         return true;
+     }
+     private bool ClearQuestPriority()
+     {
+         _questController.ClearQuestPriority();
+         return true;
+     }
+     
+     private bool AddQuestPriority(string questId)
+     {
+         if (ElementId.TryFromString(questId, out var elementId) && elementId != null &&
+             _questRegistry.TryGetQuest(elementId, out var quest))
+         {
+             return _questController.AddQuestPriority(elementId);
+         }
+         return true;
+     }
+     
+     private bool InsertQuestPriority(int index, string questId)
+     {
+         if (ElementId.TryFromString(questId, out var elementId) && elementId != null &&
+             _questRegistry.TryGetQuest(elementId, out var quest))
+         {
+             return _questController.InsertQuestPriority(index, elementId);
+         }
+         return true;
+     }
      public void Dispose()
      {
 +        _isQuestLocked.UnregisterFunc();
          _startSingleQuest.UnregisterFunc();
          _startQuest.UnregisterFunc();
          _getCurrentlyActiveEventQuests.UnregisterFunc();