muffin v7.38

This commit is contained in:
alydev 2025-11-17 11:31:27 +10:00
parent 411c0bbe76
commit e5b98b3d57
35 changed files with 10700 additions and 7610 deletions

View file

@ -41,6 +41,8 @@ internal sealed class Configuration : IPluginConfiguration
public bool ClearPriorityQuestsOnLogout { get; set; }
public bool ClearPriorityQuestsOnCompletion { get; set; }
public bool ShowChangelogOnUpdate { get; set; } = true;
}
internal sealed class StopConfiguration
@ -149,6 +151,8 @@ internal sealed class Configuration : IPluginConfiguration
public int PluginSetupCompleteVersion { get; set; }
public string? LastViewedChangelogVersion { get; set; }
public GeneralConfiguration General { get; } = new GeneralConfiguration();
public StopConfiguration Stop { get; } = new StopConfiguration();
@ -167,6 +171,8 @@ internal sealed class Configuration : IPluginConfiguration
public WindowConfig QuestValidationWindowConfig { get; set; } = new WindowConfig();
public WindowConfig QuestSequenceWindowConfig { get; set; } = new WindowConfig();
internal bool IsPluginSetupComplete()
{
return PluginSetupCompleteVersion == 5;

View file

@ -37,7 +37,7 @@ internal sealed class DalamudInitializer : IDisposable
private readonly ILogger<DalamudInitializer> _logger;
public DalamudInitializer(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, MovementController movementController, WindowSystem windowSystem, OneTimeSetupWindow oneTimeSetupWindow, QuestWindow questWindow, DebugOverlay debugOverlay, ConfigWindow configWindow, QuestSelectionWindow questSelectionWindow, QuestValidationWindow questValidationWindow, JournalProgressWindow journalProgressWindow, PriorityWindow priorityWindow, IToastGui toastGui, Configuration configuration, PartyWatchDog partyWatchDog, ILogger<DalamudInitializer> logger)
public DalamudInitializer(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, MovementController movementController, WindowSystem windowSystem, OneTimeSetupWindow oneTimeSetupWindow, QuestWindow questWindow, DebugOverlay debugOverlay, ConfigWindow configWindow, QuestSelectionWindow questSelectionWindow, QuestSequenceWindow questSequenceWindow, QuestValidationWindow questValidationWindow, JournalProgressWindow journalProgressWindow, PriorityWindow priorityWindow, ChangelogWindow changelogWindow, IToastGui toastGui, Configuration configuration, PartyWatchDog partyWatchDog, ILogger<DalamudInitializer> logger)
{
_pluginInterface = pluginInterface;
_framework = framework;
@ -56,9 +56,11 @@ internal sealed class DalamudInitializer : IDisposable
_windowSystem.AddWindow(configWindow);
_windowSystem.AddWindow(debugOverlay);
_windowSystem.AddWindow(questSelectionWindow);
_windowSystem.AddWindow(questSequenceWindow);
_windowSystem.AddWindow(questValidationWindow);
_windowSystem.AddWindow(journalProgressWindow);
_windowSystem.AddWindow(priorityWindow);
_windowSystem.AddWindow(changelogWindow);
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
_pluginInterface.UiBuilder.OpenMainUi += ToggleQuestWindow;
_pluginInterface.UiBuilder.OpenConfigUi += _configWindow.Toggle;

View file

@ -1,4 +1,5 @@
using System;
using System.Linq;
using Dalamud.Extensions.MicrosoftLogging;
using Dalamud.Game;
using Dalamud.Game.ClientState.Objects;
@ -247,6 +248,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin, IDisposable
serviceCollection.AddSingleton<ConfigWindow>();
serviceCollection.AddSingleton<DebugOverlay>();
serviceCollection.AddSingleton<QuestSelectionWindow>();
serviceCollection.AddSingleton<QuestSequenceWindow>();
serviceCollection.AddSingleton<QuestValidationWindow>();
serviceCollection.AddSingleton<JournalProgressWindow>();
serviceCollection.AddSingleton<PriorityWindow>();
@ -257,6 +259,8 @@ public sealed class QuestionablePlugin : IDalamudPlugin, IDisposable
serviceCollection.AddSingleton<StopConditionComponent>();
serviceCollection.AddSingleton<NotificationConfigComponent>();
serviceCollection.AddSingleton<DebugConfigComponent>();
serviceCollection.AddSingleton<ChangelogWindow>();
serviceCollection.AddSingleton<QuestSequenceComponent>();
}
private static void AddQuestValidators(ServiceCollection serviceCollection)
@ -291,6 +295,16 @@ public sealed class QuestionablePlugin : IDalamudPlugin, IDisposable
serviceProvider.GetRequiredService<QuestionableIpc>();
serviceProvider.GetRequiredService<DalamudInitializer>();
serviceProvider.GetRequiredService<TextAdvanceIpc>();
ChangelogWindow requiredService = serviceProvider.GetRequiredService<ChangelogWindow>();
Configuration requiredService2 = serviceProvider.GetRequiredService<Configuration>();
if (requiredService2.IsPluginSetupComplete() && requiredService2.General.ShowChangelogOnUpdate)
{
string text = ChangelogData.Changelogs.FirstOrDefault()?.Version;
if (text != null && (string.IsNullOrEmpty(requiredService2.LastViewedChangelogVersion) || string.CompareOrdinal(text, requiredService2.LastViewedChangelogVersion) > 0))
{
requiredService.IsOpenAndUncollapsed = true;
}
}
}
public void Dispose()