Files
ConfigurableCombo/Service.cs
T
jorg 7c174efa70 feat: Per-combo reset options and preserve-position toggle
- Per-combo reset when: Game timer (default), Never, On target change,
  After X seconds. Never = cycle sequence without time/target reset.
  After seconds uses configurable 0.5–300s window.

- Per-combo 'Preserve position when using other actions' (default on):
  when on, using another combo or any ability never resets this combo's
  step; it only resets per its own 'Reset when' setting. When off
  (original), using an action not in this combo resets it to step 1.

- Optional ITargetManager via constructor for On target change; plugin
  loads if service unavailable (On target change no-op when null).

Made-with: Cursor
2026-03-02 10:50:52 -06:00

26 lines
1.4 KiB
C#

using Dalamud.Game.ClientState.Objects;
using Dalamud.IoC;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
namespace ConfigurableCombo;
internal class Service
{
internal static PluginConfiguration Configuration { get; set; } = null!;
internal static PluginAddressResolver Address { get; set; } = null!;
internal static IconReplacer IconReplacer { get; set; } = null!;
[PluginService] internal static IDalamudPluginInterface Interface { get; private set; } = null!;
[PluginService] internal static IClientState ClientState { get; private set; } = null!;
/// <summary>Set by plugin if available; not injected to avoid load failure when service missing. When null, OnTargetChange reset is skipped.</summary>
internal static ITargetManager? TargetManager { get; set; }
[PluginService] internal static IChatGui ChatGui { get; private set; } = null!;
[PluginService] internal static ICommandManager CommandManager { get; private set; } = null!;
[PluginService] internal static IDataManager DataManager { get; private set; } = null!;
[PluginService] internal static IPluginLog PluginLog { get; private set; } = null!;
[PluginService] internal static ITextureProvider TextureProvider { get; private set; } = null!;
[PluginService] internal static IFramework Framework { get; private set; } = null!;
[PluginService] internal static IJobGauges JobGauges { get; private set; } = null!;
}