muffin v7.4.10

This commit is contained in:
alydev 2026-01-19 08:31:23 +10:00
parent 2df81c5d15
commit b8dd142c23
47 changed files with 3604 additions and 1058 deletions

View file

@ -4,6 +4,7 @@ using Dalamud.Interface.Utility.Raii;
using Dalamud.Interface.Windowing;
using Dalamud.Plugin;
using LLib.ImGui;
using Questionable.Model.Questing;
using Questionable.Windows.QuestComponents;
namespace Questionable.Windows;
@ -16,6 +17,8 @@ internal sealed class QuestSequenceWindow : LWindow, IPersistableWindowConfig
private readonly QuestSequenceComponent _questSequenceComponent;
private bool _selectLookupTabNextFrame;
public WindowConfig WindowConfig => _configuration.QuestSequenceWindowConfig;
public QuestSequenceWindow(IDalamudPluginInterface pluginInterface, Configuration configuration, QuestSequenceComponent questSequenceComponent)
@ -38,6 +41,13 @@ internal sealed class QuestSequenceWindow : LWindow, IPersistableWindowConfig
_pluginInterface.SavePluginConfig(_configuration);
}
public void OpenForQuest(ElementId questId)
{
_questSequenceComponent.SetLookedUpQuest(questId);
_selectLookupTabNextFrame = true;
base.IsOpenAndUncollapsed = true;
}
public override void DrawContent()
{
bool isOpen = base.IsOpen;
@ -51,31 +61,29 @@ internal sealed class QuestSequenceWindow : LWindow, IPersistableWindowConfig
{
using (ImRaii.PushColor(ImGuiCol.TabActive, new Vector4(0.28f, 0.24f, 0.35f, 1f)))
{
using (ImRaii.PushColor(ImGuiCol.TabUnfocused, new Vector4(0.13f, 0.11f, 0.18f, 0.6f)))
using ImRaii.IEndObject endObject = ImRaii.TabBar("QuestSequenceTabs", ImGuiTabBarFlags.None);
if (!endObject)
{
using (ImRaii.PushColor(ImGuiCol.TabUnfocusedActive, new Vector4(0.25f, 0.22f, 0.3f, 0.95f)))
return;
}
using (ImRaii.IEndObject endObject2 = ImRaii.TabItem("Current Quest", ImGuiTabItemFlags.None))
{
if (endObject2)
{
using ImRaii.IEndObject endObject = ImRaii.TabBar("QuestSequenceTabs", ImGuiTabBarFlags.None);
if (!endObject)
{
return;
}
using (ImRaii.IEndObject endObject2 = ImRaii.TabItem("Current Quest"))
{
if (endObject2)
{
ImGui.Spacing();
_questSequenceComponent.DrawCurrentQuestTab();
}
}
using ImRaii.IEndObject endObject3 = ImRaii.TabItem("Quest Lookup");
if (endObject3)
{
ImGui.Spacing();
_questSequenceComponent.DrawQuestLookupTab();
}
ImGui.Spacing();
_questSequenceComponent.DrawCurrentQuestTab();
}
}
ImGuiTabItemFlags flags = (_selectLookupTabNextFrame ? ImGuiTabItemFlags.SetSelected : ImGuiTabItemFlags.None);
using (ImRaii.IEndObject endObject3 = ImRaii.TabItem("Quest Lookup", flags))
{
if (endObject3)
{
ImGui.Spacing();
_questSequenceComponent.DrawQuestLookupTab();
}
}
_selectLookupTabNextFrame = false;
}
}
}