using Dalamud.Plugin.Ipc; namespace ChatTwo.Ipc; internal sealed class ExtraChat : IDisposable { private Plugin Plugin { get; } private ICallGateSubscriber OverrideChannelGate { get; } internal string? ChannelOverride { get; set; } internal ExtraChat(Plugin plugin) { this.Plugin = plugin; this.OverrideChannelGate = this.Plugin.Interface.GetIpcSubscriber("ExtraChat.OverrideChannel"); this.OverrideChannelGate.Subscribe(this.OnOverrideChannel); } public void Dispose() { this.OverrideChannelGate.Unsubscribe(this.OnOverrideChannel); } private void OnOverrideChannel(string? channel) { this.ChannelOverride = channel; } }