Questionable/Questionable/Configuration.cs

49 lines
1.8 KiB
C#
Raw Normal View History

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