muffin v7.4.10
This commit is contained in:
parent
2df81c5d15
commit
b8dd142c23
47 changed files with 3604 additions and 1058 deletions
|
|
@ -23,6 +23,8 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
|
||||
private readonly StopConditionComponent _stopConditionComponent;
|
||||
|
||||
private readonly BlacklistConfigComponent _blacklistConfigComponent;
|
||||
|
||||
private readonly NotificationConfigComponent _notificationConfigComponent;
|
||||
|
||||
private readonly DebugConfigComponent _debugConfigComponent;
|
||||
|
|
@ -31,7 +33,7 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
|
||||
public WindowConfig WindowConfig => _configuration.ConfigWindowConfig;
|
||||
|
||||
public ConfigWindow(IDalamudPluginInterface pluginInterface, GeneralConfigComponent generalConfigComponent, PluginConfigComponent pluginConfigComponent, DutyConfigComponent dutyConfigComponent, SinglePlayerDutyConfigComponent singlePlayerDutyConfigComponent, StopConditionComponent stopConditionComponent, NotificationConfigComponent notificationConfigComponent, DebugConfigComponent debugConfigComponent, Configuration configuration, ChangelogWindow changelogWindow)
|
||||
public ConfigWindow(IDalamudPluginInterface pluginInterface, GeneralConfigComponent generalConfigComponent, PluginConfigComponent pluginConfigComponent, DutyConfigComponent dutyConfigComponent, SinglePlayerDutyConfigComponent singlePlayerDutyConfigComponent, StopConditionComponent stopConditionComponent, BlacklistConfigComponent blacklistConfigComponent, NotificationConfigComponent notificationConfigComponent, DebugConfigComponent debugConfigComponent, Configuration configuration, ChangelogWindow changelogWindow)
|
||||
: base("Config - Questionable###QuestionableConfig", ImGuiWindowFlags.AlwaysAutoResize)
|
||||
{
|
||||
_pluginInterface = pluginInterface;
|
||||
|
|
@ -40,6 +42,7 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
_dutyConfigComponent = dutyConfigComponent;
|
||||
_singlePlayerDutyConfigComponent = singlePlayerDutyConfigComponent;
|
||||
_stopConditionComponent = stopConditionComponent;
|
||||
_blacklistConfigComponent = blacklistConfigComponent;
|
||||
_notificationConfigComponent = notificationConfigComponent;
|
||||
_debugConfigComponent = debugConfigComponent;
|
||||
_configuration = configuration;
|
||||
|
|
@ -70,6 +73,7 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
_dutyConfigComponent.DrawTab();
|
||||
_singlePlayerDutyConfigComponent.DrawTab();
|
||||
_stopConditionComponent.DrawTab();
|
||||
_blacklistConfigComponent.DrawTab();
|
||||
_notificationConfigComponent.DrawTab();
|
||||
_debugConfigComponent.DrawTab();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,21 +19,26 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
|
||||
private readonly GatheringJournalComponent _gatheringJournalComponent;
|
||||
|
||||
private readonly DutyJournalComponent _dutyJournalComponent;
|
||||
|
||||
private readonly QuestRegistry _questRegistry;
|
||||
|
||||
private readonly IClientState _clientState;
|
||||
|
||||
public JournalProgressWindow(QuestJournalComponent questJournalComponent, QuestRewardComponent questRewardComponent, AlliedSocietyJournalComponent alliedSocietyJournalComponent, GatheringJournalComponent gatheringJournalComponent, QuestRegistry questRegistry, IClientState clientState)
|
||||
public JournalProgressWindow(QuestJournalComponent questJournalComponent, QuestRewardComponent questRewardComponent, AlliedSocietyJournalComponent alliedSocietyJournalComponent, GatheringJournalComponent gatheringJournalComponent, DutyJournalComponent dutyJournalComponent, QuestRegistry questRegistry, IClientState clientState)
|
||||
: base("Journal Progress###QuestionableJournalProgress")
|
||||
{
|
||||
_questJournalComponent = questJournalComponent;
|
||||
_alliedSocietyJournalComponent = alliedSocietyJournalComponent;
|
||||
_questRewardComponent = questRewardComponent;
|
||||
_gatheringJournalComponent = gatheringJournalComponent;
|
||||
_dutyJournalComponent = dutyJournalComponent;
|
||||
_questRegistry = questRegistry;
|
||||
_clientState = clientState;
|
||||
_clientState.Login += _questJournalComponent.RefreshCounts;
|
||||
_clientState.Logout += _dutyJournalComponent.ClearCounts;
|
||||
_clientState.Login += _gatheringJournalComponent.RefreshCounts;
|
||||
_clientState.Login += _dutyJournalComponent.RefreshCounts;
|
||||
_clientState.Logout += _questJournalComponent.ClearCounts;
|
||||
_clientState.Logout += _gatheringJournalComponent.ClearCounts;
|
||||
_questRegistry.Reloaded += OnQuestsReloaded;
|
||||
|
|
@ -46,6 +51,7 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
private void OnQuestsReloaded(object? sender, EventArgs e)
|
||||
{
|
||||
_questJournalComponent.RefreshCounts();
|
||||
_dutyJournalComponent.RefreshCounts();
|
||||
_gatheringJournalComponent.RefreshCounts();
|
||||
}
|
||||
|
||||
|
|
@ -53,6 +59,8 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
{
|
||||
_questJournalComponent.UpdateFilter();
|
||||
_questJournalComponent.RefreshCounts();
|
||||
_dutyJournalComponent.UpdateFilter();
|
||||
_dutyJournalComponent.RefreshCounts();
|
||||
_gatheringJournalComponent.UpdateFilter();
|
||||
_gatheringJournalComponent.RefreshCounts();
|
||||
}
|
||||
|
|
@ -63,6 +71,7 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
if (!(!endObject))
|
||||
{
|
||||
_questJournalComponent.DrawQuests();
|
||||
_dutyJournalComponent.DrawDuties();
|
||||
_alliedSocietyJournalComponent.DrawAlliedSocietyQuests();
|
||||
_questRewardComponent.DrawItemRewards();
|
||||
_gatheringJournalComponent.DrawGatheringItems();
|
||||
|
|
@ -74,7 +83,9 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
_questRegistry.Reloaded -= OnQuestsReloaded;
|
||||
_clientState.Logout -= _gatheringJournalComponent.ClearCounts;
|
||||
_clientState.Logout -= _questJournalComponent.ClearCounts;
|
||||
_clientState.Login -= _dutyJournalComponent.RefreshCounts;
|
||||
_clientState.Login -= _gatheringJournalComponent.RefreshCounts;
|
||||
_clientState.Logout -= _dutyJournalComponent.ClearCounts;
|
||||
_clientState.Login -= _questJournalComponent.RefreshCounts;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@ internal sealed class UiUtils
|
|||
}
|
||||
if (elementId is QuestId questId && _questFunctions.IsDailyAlliedSocietyQuestAndAvailableToday(questId))
|
||||
{
|
||||
if (_questFunctions.IsQuestBlacklisted(questId))
|
||||
{
|
||||
return (Color: ImGuiColors.DalamudGrey3, Icon: FontAwesomeIcon.Ban, Status: "Blacklisted");
|
||||
}
|
||||
if (!_questFunctions.IsReadyToAcceptQuest(questId))
|
||||
{
|
||||
return (Color: ImGuiColors.ParsedGreen, Icon: FontAwesomeIcon.Check, Status: "Complete");
|
||||
|
|
@ -51,6 +55,10 @@ internal sealed class UiUtils
|
|||
{
|
||||
return (Color: ImGuiColors.DalamudGrey, Icon: FontAwesomeIcon.Minus, Status: "Unobtainable");
|
||||
}
|
||||
if (_questFunctions.IsQuestBlacklisted(elementId))
|
||||
{
|
||||
return (Color: ImGuiColors.DalamudGrey3, Icon: FontAwesomeIcon.Ban, Status: "Blacklisted");
|
||||
}
|
||||
if (_questFunctions.IsQuestLocked(elementId) || !_questFunctions.IsReadyToAcceptQuest(elementId) || !_questRegistry.IsKnownQuest(elementId))
|
||||
{
|
||||
return (Color: ImGuiColors.DalamudRed, Icon: FontAwesomeIcon.Times, Status: "Locked");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue