forked from liza/Questionable
Add config option for TA settings
This commit is contained in:
parent
b22081cafe
commit
708e260eee
@ -1,5 +1,5 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Version>3.8</Version>
|
<Version>3.9</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -20,6 +20,7 @@ internal sealed class Configuration : IPluginConfiguration
|
|||||||
public bool UseEscToCancelQuesting { get; set; } = true;
|
public bool UseEscToCancelQuesting { get; set; } = true;
|
||||||
public bool ShowIncompleteSeasonalEvents { get; set; } = true;
|
public bool ShowIncompleteSeasonalEvents { get; set; } = true;
|
||||||
public bool AutomaticallyCompleteSnipeTasks { get; set; }
|
public bool AutomaticallyCompleteSnipeTasks { get; set; }
|
||||||
|
public bool ConfigureTextAdvance { get; set; } = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal sealed class AdvancedConfiguration
|
internal sealed class AdvancedConfiguration
|
||||||
|
14
Questionable/External/TextAdvanceIpc.cs
vendored
14
Questionable/External/TextAdvanceIpc.cs
vendored
@ -6,6 +6,7 @@ using Questionable.Controller;
|
|||||||
using Questionable.Data;
|
using Questionable.Data;
|
||||||
using Questionable.Model.Common;
|
using Questionable.Model.Common;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
namespace Questionable.External;
|
namespace Questionable.External;
|
||||||
|
|
||||||
@ -13,6 +14,7 @@ internal sealed class TextAdvanceIpc : IDisposable
|
|||||||
{
|
{
|
||||||
private bool _isExternalControlActivated;
|
private bool _isExternalControlActivated;
|
||||||
private readonly QuestController _questController;
|
private readonly QuestController _questController;
|
||||||
|
private readonly Configuration _configuration;
|
||||||
private readonly IFramework _framework;
|
private readonly IFramework _framework;
|
||||||
private readonly ICallGateSubscriber<bool> _isInExternalControl;
|
private readonly ICallGateSubscriber<bool> _isInExternalControl;
|
||||||
private readonly ICallGateSubscriber<string, ExternalTerritoryConfig, bool> _enableExternalControl;
|
private readonly ICallGateSubscriber<string, ExternalTerritoryConfig, bool> _enableExternalControl;
|
||||||
@ -20,10 +22,11 @@ internal sealed class TextAdvanceIpc : IDisposable
|
|||||||
private readonly string _pluginName;
|
private readonly string _pluginName;
|
||||||
private readonly ExternalTerritoryConfig _externalTerritoryConfig = new();
|
private readonly ExternalTerritoryConfig _externalTerritoryConfig = new();
|
||||||
|
|
||||||
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController)
|
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, Configuration configuration)
|
||||||
{
|
{
|
||||||
_framework = framework;
|
_framework = framework;
|
||||||
_questController = questController;
|
_questController = questController;
|
||||||
|
_configuration = configuration;
|
||||||
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>("TextAdvance.IsInExternalControl");
|
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>("TextAdvance.IsInExternalControl");
|
||||||
_enableExternalControl = pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>("TextAdvance.EnableExternalControl");
|
_enableExternalControl = pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>("TextAdvance.EnableExternalControl");
|
||||||
_disableExternalControl = pluginInterface.GetIpcSubscriber<string, bool>("TextAdvance.DisableExternalControl");
|
_disableExternalControl = pluginInterface.GetIpcSubscriber<string, bool>("TextAdvance.DisableExternalControl");
|
||||||
@ -40,9 +43,9 @@ internal sealed class TextAdvanceIpc : IDisposable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnUpdate(IFramework framework)
|
private void OnUpdate(IFramework framework)
|
||||||
{
|
{
|
||||||
if(_questController.IsRunning)
|
if(_configuration.General.ConfigureTextAdvance && _questController.IsRunning)
|
||||||
{
|
{
|
||||||
if(!_isInExternalControl.InvokeFunc())
|
if(!_isInExternalControl.InvokeFunc())
|
||||||
{
|
{
|
||||||
@ -64,8 +67,10 @@ internal sealed class TextAdvanceIpc : IDisposable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ExternalTerritoryConfig
|
[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
|
||||||
|
public sealed class ExternalTerritoryConfig
|
||||||
{
|
{
|
||||||
|
#pragma warning disable CS0414 // Field is assigned but its value is never used
|
||||||
public bool? EnableQuestAccept = true;
|
public bool? EnableQuestAccept = true;
|
||||||
public bool? EnableQuestComplete = true;
|
public bool? EnableQuestComplete = true;
|
||||||
public bool? EnableRewardPick = true;
|
public bool? EnableRewardPick = true;
|
||||||
@ -75,5 +80,6 @@ internal sealed class TextAdvanceIpc : IDisposable
|
|||||||
public bool? EnableTalkSkip = true;
|
public bool? EnableTalkSkip = true;
|
||||||
public bool? EnableRequestFill = true;
|
public bool? EnableRequestFill = true;
|
||||||
public bool? EnableAutoInteract = false;
|
public bool? EnableAutoInteract = false;
|
||||||
|
#pragma warning restore CS0414 // Field is assigned but its value is never used
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,13 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||||||
Save();
|
Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool configureTextAdvance = _configuration.General.ConfigureTextAdvance;
|
||||||
|
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings", ref configureTextAdvance))
|
||||||
|
{
|
||||||
|
_configuration.General.ConfigureTextAdvance = configureTextAdvance;
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
|
||||||
if (ImGui.CollapsingHeader("Cheats"))
|
if (ImGui.CollapsingHeader("Cheats"))
|
||||||
{
|
{
|
||||||
ImGui.TextColored(ImGuiColors.DalamudRed, "This setting will be removed in a future version, and will be\navailable through TextAdvance instead.");
|
ImGui.TextColored(ImGuiColors.DalamudRed, "This setting will be removed in a future version, and will be\navailable through TextAdvance instead.");
|
||||||
|
Loading…
Reference in New Issue
Block a user