2024-06-08 11:30:26 +02:00
|
|
|
|
using Dalamud.Configuration;
|
2024-11-03 22:25:03 +01:00
|
|
|
|
using Dalamud.Game.Text;
|
2024-06-15 14:12:32 +02:00
|
|
|
|
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
2024-06-08 11:30:26 +02:00
|
|
|
|
using LLib.ImGui;
|
|
|
|
|
|
|
|
|
|
namespace Questionable;
|
|
|
|
|
|
|
|
|
|
internal sealed class Configuration : IPluginConfiguration
|
|
|
|
|
{
|
2024-11-03 19:25:33 +01:00
|
|
|
|
public const int PluginSetupVersion = 1;
|
|
|
|
|
|
2024-11-03 22:25:03 +01:00
|
|
|
|
public int Version { get; set; } =1 ;
|
2024-11-03 19:25:33 +01:00
|
|
|
|
public int PluginSetupCompleteVersion { get; set; }
|
2024-06-12 18:03:48 +02:00
|
|
|
|
public GeneralConfiguration General { get; } = new();
|
2024-11-03 22:25:03 +01:00
|
|
|
|
public NotificationConfiguration Notifications { get; } = new();
|
2024-06-12 18:03:48 +02:00
|
|
|
|
public AdvancedConfiguration Advanced { get; } = new();
|
|
|
|
|
public WindowConfig DebugWindowConfig { get; } = new();
|
|
|
|
|
public WindowConfig ConfigWindowConfig { get; } = new();
|
|
|
|
|
|
2024-11-03 19:25:33 +01:00
|
|
|
|
internal bool IsPluginSetupComplete() => PluginSetupCompleteVersion == PluginSetupVersion;
|
|
|
|
|
|
|
|
|
|
internal void MarkPluginSetupComplete() => PluginSetupCompleteVersion = PluginSetupVersion;
|
|
|
|
|
|
2024-06-12 18:03:48 +02:00
|
|
|
|
internal sealed class GeneralConfiguration
|
|
|
|
|
{
|
|
|
|
|
public uint MountId { get; set; } = 71;
|
2024-06-15 14:12:32 +02:00
|
|
|
|
public GrandCompany GrandCompany { get; set; } = GrandCompany.None;
|
2024-07-10 18:54:04 +02:00
|
|
|
|
public bool HideInAllInstances { get; set; } = true;
|
2024-08-01 18:47:13 +02:00
|
|
|
|
public bool UseEscToCancelQuesting { get; set; } = true;
|
2024-08-19 15:19:15 +02:00
|
|
|
|
public bool ShowIncompleteSeasonalEvents { get; set; } = true;
|
2024-09-11 16:58:07 +02:00
|
|
|
|
public bool AutomaticallyCompleteSnipeTasks { get; set; }
|
2024-10-05 14:32:29 +02:00
|
|
|
|
public bool ConfigureTextAdvance { get; set; } = true;
|
2024-06-12 18:03:48 +02:00
|
|
|
|
}
|
|
|
|
|
|
2024-11-03 22:25:03 +01:00
|
|
|
|
internal sealed class NotificationConfiguration
|
|
|
|
|
{
|
|
|
|
|
public bool Enabled { get; set; } = true;
|
|
|
|
|
public XivChatType ChatType { get; set; } = XivChatType.Debug;
|
|
|
|
|
public bool ShowTrayMessage { get; set; }
|
|
|
|
|
public bool FlashTaskbar { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-12 18:03:48 +02:00
|
|
|
|
internal sealed class AdvancedConfiguration
|
|
|
|
|
{
|
2024-06-18 17:51:23 +02:00
|
|
|
|
public bool DebugOverlay { get; set; }
|
2024-06-12 18:03:48 +02:00
|
|
|
|
public bool NeverFly { get; set; }
|
2024-07-21 15:30:10 +02:00
|
|
|
|
public bool AdditionalStatusInformation { get; set; }
|
2024-06-12 18:03:48 +02:00
|
|
|
|
}
|
2024-06-08 11:30:26 +02:00
|
|
|
|
}
|