private readonly string _pluginName;
private readonly ExternalTerritoryConfig _externalTerritoryConfig = new();
- public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, Configuration configuration)
+ public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework,
+ QuestController questController, Configuration configuration)
{
_framework = framework;
_questController = questController;
_configuration = configuration;
_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");
_pluginName = pluginInterface.InternalName;
_framework.Update += OnUpdate;
public void Dispose()
{
_framework.Update -= OnUpdate;
- if(_isExternalControlActivated)
+ if (_isExternalControlActivated)
{
_disableExternalControl.InvokeFunc(_pluginName);
}
private void OnUpdate(IFramework framework)
{
- if(_configuration.General.ConfigureTextAdvance && _questController.IsRunning)
+ bool hasActiveQuest = _questController.IsRunning ||
+ _questController.AutomationType != QuestController.EAutomationType.Manual;
+ if (_configuration.General.ConfigureTextAdvance && hasActiveQuest)
{
- if(!_isInExternalControl.InvokeFunc())
+ if (!_isInExternalControl.InvokeFunc())
{
- if(_enableExternalControl.InvokeFunc(_pluginName, _externalTerritoryConfig))
+ if (_enableExternalControl.InvokeFunc(_pluginName, _externalTerritoryConfig))
{
_isExternalControlActivated = true;
}
}
else
{
- if(_isExternalControlActivated)
+ if (_isExternalControlActivated)
{
- if(_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc())
+ if (_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc())
{
_isExternalControlActivated = false;
}