From 51240bddbc51f5d285b020034fbb46df76971d07 Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 16 Feb 2022 01:51:51 -0500 Subject: [PATCH] feat: add available ipc indicator --- ChatTwo/IpcManager.cs | 15 ++++++++++----- ChatTwo/PayloadHandler.cs | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChatTwo/IpcManager.cs b/ChatTwo/IpcManager.cs index e7f6088..0148d53 100755 --- a/ChatTwo/IpcManager.cs +++ b/ChatTwo/IpcManager.cs @@ -1,4 +1,4 @@ -using Dalamud.Game.Text.SeStringHandling; +using Dalamud.Game.Text.SeStringHandling; using Dalamud.Game.Text.SeStringHandling.Payloads; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; @@ -9,7 +9,8 @@ internal sealed class IpcManager : IDisposable { private DalamudPluginInterface Interface { get; } private ICallGateProvider RegisterGate { get; } private ICallGateProvider UnregisterGate { get; } - private ICallGateProvider InvokeGate { get; } + private ICallGateProvider AvailableGate { get; } + private ICallGateProvider InvokeGate { get; } internal List Registered { get; } = new(); @@ -19,14 +20,18 @@ internal sealed class IpcManager : IDisposable { this.RegisterGate = this.Interface.GetIpcProvider("ChatTwo.Register"); this.RegisterGate.RegisterFunc(this.Register); + this.AvailableGate = this.Interface.GetIpcProvider("ChatTwo.Available"); + this.UnregisterGate = this.Interface.GetIpcProvider("ChatTwo.Unregister"); this.UnregisterGate.RegisterAction(this.Unregister); - this.InvokeGate = this.Interface.GetIpcProvider("ChatTwo.Invoke"); + this.InvokeGate = this.Interface.GetIpcProvider("ChatTwo.Invoke"); + + this.AvailableGate.SendMessage(); } - internal void Invoke(string id, PlayerPayload? sender, ulong contentId, Payload? payload) { - this.InvokeGate.SendMessage(id, sender, contentId, payload); + internal void Invoke(string id, PlayerPayload? sender, ulong contentId, Payload? payload, SeString? senderString, SeString? content) { + this.InvokeGate.SendMessage(id, sender, contentId, payload, senderString, content); } private string Register() { diff --git a/ChatTwo/PayloadHandler.cs b/ChatTwo/PayloadHandler.cs index dd8f900..2bb1530 100755 --- a/ChatTwo/PayloadHandler.cs +++ b/ChatTwo/PayloadHandler.cs @@ -94,7 +94,7 @@ internal sealed class PayloadHandler { if (ImGui.BeginMenu("Integrations")) { foreach (var id in registered) { try { - this.Ui.Plugin.Ipc.Invoke(id, sender, contentId, payload); + this.Ui.Plugin.Ipc.Invoke(id, sender, contentId, payload, chunk.Message?.SenderSource, chunk.Message?.ContentSource); } catch (Exception ex) { PluginLog.Error(ex, "Error executing integration"); }