mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Refactor CfPop event to allow plugins to hook it
This commit is contained in:
parent
c41f3cee34
commit
ea9acd3aea
2 changed files with 11 additions and 2 deletions
|
|
@ -38,6 +38,7 @@ namespace Dalamud.DiscordBot {
|
|||
|
||||
this.socketClient = new DiscordSocketClient();
|
||||
this.socketClient.Ready += SocketClientOnReady;
|
||||
this.dalamud.NetworkHandlers.ProcessCfPop += ProcessCfPop;
|
||||
}
|
||||
|
||||
private XivChatType GetChatTypeBySlug(string slug) {
|
||||
|
|
@ -103,6 +104,9 @@ namespace Dalamud.DiscordBot {
|
|||
}
|
||||
|
||||
public async Task ProcessCfPop(JObject contentFinderCondition) {
|
||||
if (!this.IsConnected)
|
||||
return;
|
||||
|
||||
var contentName = contentFinderCondition["Name"];
|
||||
|
||||
if (this.config.CfNotificationChannel == null)
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
|||
using Dalamud.Game.Network.MarketBoardUploaders;
|
||||
using Dalamud.Game.Network.Structures;
|
||||
using Dalamud.Game.Network.Universalis.MarketBoardUploaders;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Serilog;
|
||||
|
||||
namespace Dalamud.Game.Network {
|
||||
|
|
@ -19,6 +20,9 @@ namespace Dalamud.Game.Network {
|
|||
|
||||
private byte[] lastPreferredRole;
|
||||
|
||||
public delegate Task CfPop(JObject contentFinderCondition);
|
||||
public event CfPop ProcessCfPop;
|
||||
|
||||
public NetworkHandlers(Dalamud dalamud, bool optOutMbUploads) {
|
||||
this.dalamud = dalamud;
|
||||
this.optOutMbUploads = optOutMbUploads;
|
||||
|
|
@ -26,6 +30,7 @@ namespace Dalamud.Game.Network {
|
|||
this.uploader = new UniversalisMarketBoardUploader(dalamud);
|
||||
|
||||
dalamud.Framework.Network.OnZonePacket += OnZonePacket;
|
||||
|
||||
}
|
||||
|
||||
private void OnZonePacket(IntPtr dataPtr) {
|
||||
|
|
@ -48,8 +53,8 @@ namespace Dalamud.Game.Network {
|
|||
|
||||
this.dalamud.Framework.Gui.Chat.Print($"Duty pop: " + contentFinderCondition["Name"]);
|
||||
|
||||
if (this.dalamud.BotManager.IsConnected)
|
||||
await this.dalamud.BotManager.ProcessCfPop(contentFinderCondition);
|
||||
await this.ProcessCfPop?.Invoke(contentFinderCondition);
|
||||
|
||||
});
|
||||
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue